Hvis du kan tilgå enhver webadresse på din hjemmeside, uanset om du tilføjer en skråstreg til slut på URL’en eller fjerner den, og uden at du bliver omdirigeret, så er der en potentiel risiko for dit websites synlighed, det kan nemlig føre til store mængder duplikeret indhold, som negativt påvirker dit websites synlighed.

Problemet opstår, når samme URL kan tilgås og læses både med og uden / – det betyder nemlig, at der i virkeligheden findes to forskellige versioner, da begge URL’er kan respondere med en statuskode 200 OK og derfor begge er unikke URLs.

Som udgangspunkt og i mange tilfælde opstår der ikke duplikeret indhold, hvis du ikke har sikret dig, men det kan der komme og det er en unødvendig risiko at løbe. Har du et meget stort website, kan du på få dage have skabt tusindvis af dubletter som Google skal tage højde for.

Lad mig igennem disse to scenarier, prøve at illustrere udfordringen:

1: Intern Linking

Via den interne linking kan man komme til at skabe kopier ved at linke til den “forkerte version”. Hvis man eksempelvis bruger trailing slash, og en redaktør linker uden, opstår der straks en ekstra version, som Googlebot opdager og lægger i deres indeks, da Googlebot følger de interne links, den bliver præsenteret for under sit crawl.

I nogle CMS, hvor der køres med relative URLs, sker det også, at URL-strukturen følger det foregående links struktur. Hvis man derfor går ind på en side uden trailing slash i URL’en, vil resten af URL’erne nu også fremstå uden trailing slash. Alle disse URL’er kan og vil nu blive fulgt af Googlebot, og hele hjemmesiden vil blive indekseret af to omgange.

2: Sabotage

Du har en konkurrent, der kender lidt til SEO, og han har bemærket, at dit website kan tilgås både med og uden trailing slash. I selve strukturen har man valgt at bruge trailing slash, men siderne kan også tilgås uden.

Konkurrenten kan nu vælge at oprette et website; det kunne være en gratis WordPress-blog. Her opretter han et indlæg, der består af en masse links – links til dit website – men han linker uden trailing slash.

Hvis dit website består af 50 sider, og konkurrenten linker til alle 50 sider uden trailing slash, har han lige skabt en ekstra versionering af hver eneste side på dit website. Du har nu 100 sider, men kun 50 originale. Google vil følge og indeksere siderne, der linkes til, og dermed opstår der en ekstra version.

Det er nemt at sikre sig

Hvis man ikke sørger for at beskytte sig med en catch all-løsning, der forhindrer at ovenstående kan ske, løber man altså en reel risiko. Det er der selvfølgelig ingen grund til, når det kan håndteres proaktivt:

Automatisk Omskrivning

Løsningen er automatisk omskrivning af alle URL’er til enten at bruge eller ikke bruge trailing slash.

Hvis du vælger at køre din URL-struktur med trailing slashes, skal omskrivningen tvinge et skift fra uden slash til at indeholde slash.

  • Det betyder helt konkret, at følgende URL: https://www.henrik-bondtofte.dk/seo
  • Automatisk 301-omdirigeres til følgende URL: https://www.henrik-bondtofte.dk/seo/

Denne formel kan tvinges igennem på hele hjemmesiden som en streng regel, der altid skal overholdes. Dette kan gøres gennem et rewritecond.

Hvis du kører Apache (PHP), sker omskrivningen i din .htaccesss, hvis du kører ASP, sker det i ISS.

Standard omskrivningskode for at tilføje trailing slash gennem .htaccess ser således ud:

RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*[^/])$ /$1/ [L,R=301]

Standard omskrivningskode for at fjerne trailing slash gennem .htaccess ser således ud:

RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301]

Standard omskrivningskode for at fjerne trailing slash gennem IIS ser således ud:

<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 at tilføje trailing slash gennem IIS ser således ud:

<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>