Duplicate content

banner joomladagen

Duplicate content is het op meerdere URL's vertonen van dezelfde content. Google houd hier niet van, omdat het ze lastig maakt te beoordelen welke versie ze in de index moeten opnemen. We hebben het al gehad over wel / niet www URL's als vorm van duplicate content, maar er zijn nog veel meer manieren waarop dit kan voorkomen in Joomla. Ten eerste moet je natuurlijk zorgen dat je dezelfde tekst niet in meerdere artikelen gebruikt, maar dat is logisch. Ook vanwege de set-up van je site kun je onbedoeld duplicate content issue aanmaken, zie het maar als 'technische duplicate content'.

Er zijn wel meer open source CMS's die hier problemen mee hebben, en Joomla is er simpelweg één van. Een uiting is dat als je zoekmachinevriendelijke (SEF) URL's hebt aangezet in de Algemene Instellingen, de niet-zoekmachinevriendelijke URL's nog steeds toegankelijk zijn. Vaak leiden zelfs meerdere non-SEF URL's naar dezelfde SEF URL. Kijk maar eens naar deze voorbeelden:

  • www of non-www issues, zoals eerder besproken.
  • Non-SEF URL nog bereikbaar, ondanks dat SEF-URL's zijn geactiveerd, zoals dit voorbeeld:
    /index.php?option=com_content&view=article&id=2 (in meerdere vormen)
  • Pagina's beginnend met index.html, index.php, enzovoorts, met dezelfde inhoud als de variant zonder dat stukje.
  • Parameters in de URL, zoals ..../page1?font-size=large
  • Trailing slashes: de slash aan het einde van een URL
  • Soms zelfs hoofdletter / kleine letters issues
  • In Joomla specifiiek: Hetzelfde artikel, gekoppeld aan meerdere menu-items

Vooral de laatste variant moet je zien te voorkomen. De andere varianten zijn wat lastiger op te lossen, en vereisen meer technische oplossingen of complexe extensies. Laten we de opties eens doornemen:

Joomla Hosting tip: Siteground

Joomlaseo.com laadt in 0.5 - 1 seconden en heeft een Pingdom score van 100%!!! Daarom bevelen we Siteground hosting aan. Snelle servers, goede support, gratis SSL, etc. En niet duur...

 

1: Correcte menu set-up

Een veel voorkomend probleem is het toegankelijk maken van 1 artikel middels meerdere menu-items. Dit is soms nodig omdat een artikel via het hoofdmenu bereikbaar moet zijn, maar ook via een Footer menu. In dat geval bouwt Joomla 2 aparte URL's voor hetzelfde artikel. Een voorbeeld:

  1. Stel: je hebt een menu-item genaamd Producten, met een submenu-item voor elk product, de URL voor het artikel Stoel wordt dan /product/stoel
  2. Als jet hetzelfde artikel bereikbaar maakt via een menu-item in het hoofdniveau van een andere menu wordt de URL: /stoel

Op een paar kleinigheidjes na (kruimelpad, een module) zijn de pagina's identiek, en een serieus duplicate content issue. Gelukkig kun je hier prima wat aan doen:

  • Als het Footer menu eigenlijk dezelfde items toont als het Hoofdmenu, maak dan niet een apart menu aan, maar publiceer het Hoofdmenu gewoon nogmaals als een aparte module.
  • Als je echt hetzelfde artikel via een aparte link toegankelijk wilt maken, gebruik dan geen menu-item van het type Individueel Artikel, maar een Menu Item Alias (onder Systeem Links). Dan voert het menu-item simpelweg naar het al bestaande menu-item, maar krijg je geen 2e URL.

Met wat creativiteit kun je zo prima mooie menu's opbouwen, of zelfs maar 1 menu om op meerdere posities te tonen.

2: De canonical tag 

Canonical URL betekent eigenlijk voorkeurs-URL. Het is een manier om in de broncode van een website voor zoekmachines aan te geven welke URL nu echt geïndexeerd moet worden. Op deze manier is het geen prbleem als er duplicate URL's zijn, zolang maar goed aangegeven wordt welke de correcte is. Zo zou de non-SEF URL een canonical URL moeten hebben die verwijst naar de SEF-URL, enzovoorts. Kijk bijvoorbeeld naar deze 2 URL's, die dezelfde content weergeven:

Als het goed is, vertonen beide URL's de volgende code in de bron:

<link href="/Checklist/avoid-duplicate-url-s" rel="canonical"/>

Strikt genomen heeft de voorkeurs URL zelf geen canonical tag nodig, omdat hij anders naar zichzelf verwijst (zo werkt Joomla nu). Het is echter geen probleem als er een zelfverwijzing is, je kunt er namelijk dan mee voorkomen dat parameters als ?font-size=large als aparte URL geïndexeerd wordt. Naast 301-redirects beschouwt Google canonical URL's als een van de voorkeursmethodes om duplicate content op te lossen.

Je kunt er normaal gesproken in Joomla geen invloed op uitoefenen. De activatie van canonical URL's zit ingebouwd in de Systeem - SEF plugin. Het enige wat je zou kunnen instellen is het Site Domain. Dit is echter alleen zinvol als je één Joomla installatie via meerde domeinnamen beschikbaar maakt (parked domains). Dit is sowieso een af te raden iets:

system-sef-plugin-canonical

3: 301 redirects

Met 301-redirects geef je eigenlijk aan: "als je hier komt, ga dan naar deze andere URL en beschouw dit als een permanente verhuizing". Google zal deze instructie opvolgen en de oude URL op een geven moment vervangen door de nieuwe in de index. Je zou hiermee de non-SEF URL's kunnen omleiden naar de SEF URL's, bijvoorbeeld: Vervang deze URL:

http://joomlaseo.com/index.php?option=com_content&Itemid=125&catid=15&id=18&lang=en&view=article

Door deze:

http://joomlaseo.com/Checklist/avoid-duplicate-url-s

Je kunt redirect zelf aanleggen in .htaccess, maar hiervoor ook de Joomla Verwijzingsbeheer component gebruiken. Daarnaast kun je ook extensies gebruiken als RedJ.

4: .htaccess regels

Je kunt in .htaccess echt allerlei soorten problemen oplossen. We hebben het al gehad over redirects van www naar niet-www, maar ook minder voor de hand liggende zaken kun je er mee oplossen. Zo kun je bv issues met trailing slashes (wel of geen slash aan het einde van de URL wordt gezien als 2 aparte URL's) oplossen met deze code:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

Test of de slash weg is, en test ook of de site goed werkt.

5: Set-up robots.txt

Je zou ook in je robots.txt kunnen aangeven dat URL's met een vraagteken niet geïndexeerd moeten worden. Vrijwel alle non-SEF URL's hebben namelijk ergens wel een vraagteken in de URL. Zorg wel dat er niet toevallig een extensie is geïnstalleerd die wel te indexeren URL's met een vraagteken heeft! Op die manier worden URL's als deze niet geïndexeerd, en dat is precies wat je wilt bereiken, bijvoorbeeld deze:

6: Gebruik een extensie

Er zijn dus allerlei manieren om duplicate content te bestrijden, zowel met .htaccess, robots.txt, correcte set-up van Joomla of kleine extensies. Voor grotere sites zou je er ook voor kunnen kiezen om een SEF-extensie te installeren. Ze zijn vaak redelijk complex, dus oefen er eerst mee op een test-site. Wel zijn ze zo volledig dat ze vaak al je duplicate content issues op kunnen lossen. Een paar bekende zijn:

Check ook de  extensies sectie van deze site voor nog meer nuttige extensies.

7: Google Webmaster Tools

Tenslotte is Google Webmaster Tools een laatste redmiddel om URL's te verwijderen. Dit kan in je account onder Google Index >> URL's verwijderen. Let wel, dit is eigenlijk alleen bedoeld om bv gehackte delen van je site uit de index te verwijderen, dus probeer liever met de methodes hierboven dit soort zaken op te lossen. 

Daarnaast zie je vaak onder Uiterlijk van Site Search >> HTML verbeteringen meldingen over duplicate metatitles en metadescriptions staan. Soms zijn dit terechte meldingen van duplicate content, maar vaak ook zijn het meldingen die weer verdwijnen. Niet direct in paniek raken als je er melding ziet komen.

Over deze site

Joomlaseo.com is volledig gebouwd en geschreven door Simon Kloostra, SEO Specialist en Webdesigner uit Utrecht. Ik heb ook een boek geschreven en blogs voor bedrijven als OStraining, TemplateMonster, SEMrush en dergelijke.