Indhold der går igen på flere sider
Duplikeret indhold er indhold, der går igen på en eller flere hjemmesideadresser. Disse adresser serverer præcis det samme indhold og har derfor ingen værdi for Google-indeks. At have duplikeret indhold kan betyde, at man ikke får kanaliseret den interne linkværdi ordentligt rundt på sit website, men det kan også betyde, at Google vælger at vise den forkerte version til brugerne og dermed liste den forkerte versionering i deres søgeresultater.
Google bryder sig ikke om duplikeret indhold og har man for meget af det, kan det i den grad skade ens websites performance i søgeresultaterne. Selvom Google er blevet meget dygtigere til at prioritere og forstå hjemmesider, har de stadig brug for hjælp med duplikeret indhold, uagtet hvad de selv påstår. Generelt set skal man ikke lade Google foretage aktive valg. Det er websiteejeren, der må diktere, hvilke versioneringer der er de korrekte og sørge for, at Google udelukkende bliver præsenteret for disse.
Med eller uden skråstreg (trailing slash)
Hvis du kan tilgå enhver hjemmesideadresse på dit website, uanset om du påsætter en skråstreg til slut på URL eller fjerner den, og uden at du bliver omdirigeret, har du en tikkende DC-bombe liggende under dit website.
Problemet opstår i det, at samme URL svarer og kan læses både med og uden / – det vil sige, at der i realiteten findes to forskellige versioner, da begge URLs kan svare med en statuskode 200 OK.
Som udgangspunkt og i mange tilfælde opstår der ikke duplikeret indhold på baggrund af dette, men det kan det meget nemt komme til. Disse to scenarier illustrerer, hvor hurtigt og galt det rent faktisk kan gå.
1: Intern linking
Igennem den interne linking kan man komme til at skabe dupletter ved, at man linker til den ”forkerte version”. Kører man eksempelvis med trailing slash, og en redaktør linker uden, opstår der med det samme en ekstra version, som Googlebot finder og lægger i deres indeks, da Googlebot følger de interne links, som de bliver præsenteret for igennem dets crawl.
I nogle CMS sker der endvidere det, at URL-strukturen følger det forgående links struktur, rammer man derfor ind på en side uden trailing slash i URL, vil resten af URLs nu også fremstå uden trailing slash. Alle disse URLs kan og vil nu blive fulgt af Googlebot, og hele websitet vil blive indekseret af to omgange.
2: Sabotøren
Du har en konkurrent, der ved lidt om SEO, og han har set, at dit website svarer både med og uden trailing slash. I selve strukturen har man valgt at bruge trailing slash, men sider kan også svare uden.
Sabotøren kan nu vælge at oprette et website; det kunne være en gratis WordPress-blog. Her oprettes et indlæg, indlægget består af en masse links – links til dit website – men der linkes uden trailing slash.
Består dit website af 50 sider, og linker sabotøren til alle de 50 sider uden trailing slash, har vedkommende lige oprettet en ekstra versionering af hver eneste side på dit website. Google vil følge og indeksere siderne, der linkes til, og dermed opstår der en ekstra version.
Ved ikke at sikre sig selv med en catch all-løsning, der sørger for at ovenstående ikke kan lade sig gøre, løber man altså en konkret risiko. Det er der naturligvis ingen årsag til, når det så nemt kan håndteres proaktivt:
Automatisk omskrivning
Løsningen er automatisk omskrivning af alle URLs til at køre enten med eller uden trailing slash.
Vælger du at køre din URL-struktur med trailing slashes, skal omskrivningen gennemtvinge et skifte fra uden slash til indeholdende slash.
Det betyder helt konkret at følgende URL: https://bondtofte.dk/seo
Automatisk 301 redirectes til følgende URL: https://bondtofte.dk/seo/
Ovenstående formel kan gennemtvinges på hele websitet som en stringent regel, der altid skal overholdes. Dette kan gøres igennem et rewritecond.
Kører du apache (PHP), sker omskrivningen i din .htaccesss, kører du ASP, sker det i ISS:
Standard omskrivningskode for tilføjelse af trailing slash, ser således ud igennem htaccess:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
Standard omskrivningskode for fjernelse af trailing slash, ser således ud igennem htaccess:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
Standard omskrivningskode for fjernelse af trailing slash (ISS)
<rule name="Remove trailing slash" stopProcessing="true">
<match url="(.*)/$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="{R:1}" />
</rule>
Standard omskrivningskode for tilføjelse af trailing slash (ISS):
<rule name="Add trailing slash" stopProcessing="true">
<match url="(.*[^/])$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="{R:1}/" />
</rule>
1000 tak for klar info … havde lige præcis det problem uden jeg var klar over det.
Tror dog ikke at det var blivet et problem endu, men må heller rettet det me det samme.