Google negeert base href?

Google negeert base href?

google base

[image by barnetbase.net]De afgelopen tijd ben ik dit scenario (toevallig) al een paar keer tegen gekomen, dus vandaar dat ik het ook even met jullie wil delen. Door het (foutief) gebruik van de base href kun je de indexering van je website door Google namelijk flink ondermijnen. Oorzaak hiervan lijkt te zijn dat Google deze base veelal negeert en dus alle interne links behandelt als relatieve URL’s. Maak je gebruik van de base href tag, en heb je het idee dat niet alle pagina’s van je site correct worden geïndexeerd?

Wanneer wordt dit een probleem?
Het gebruik van een base href is niet per definitie een slechte zaak; het kan natuurlijk een eenvoudige manier zijn om tussen een ontwikkelomgeving en je live servers te switchen. Maar dan dien je het attribuut wel goed toe te passen.

Bij het gebruik van de base href dien je deze niet te eindigen met een slash, maar direct na het TLD te stoppen. Wellicht ter overvloede: De base href tag dient te in de HEAD sectie van je site te worden geplaatst.

Dus…:

<head>

<base href="https://www.domein.nl">
</head>

En niet…:

<head>

<base href="https://www.domein.nl/">
</head>

Waarom geen afsluitende slash in de base href?
Wanneer je gebruik maakt van een base href kun je bij het maken van links in de hele pagina voldoen met een link naar de versie zonder base. Een link naar https://www.domein.nl/folder/bestand.html kan worden gemaakt door te linken naar /folder/bestand.html.

En hier komt de spreekwoordelijke aap uit de mouw. Want wanneer je voor de tweede variant van de base href (met slash) had gekozen, zou de relatieve URL niet naar /folder/bestand.html maar naar folder/bestand.html hebben verwezen. En als dat zo is, en Google neemt de base niet mee, dan gaat het verkeerd wanneer je vanuit een ander niveau dan home (/) linkt. Relatieve URL’s stapelen zich namelijk op, dus een link vanaf https://www.domein.nl/folder/bestand.html naar folder/bestand.html komt uiteindelijk terecht op https://www.domein.nl/folder/folder/bestand.html, en die bestaat natuurlijk niet… 😉

Wat dan te doen?
Uiteindelijk heb je eigenlijk 2 mogelijkheden om hier mee om te gaan.

1. Als je absoluut niet om de base href heen kan of wil, dan is het van evident belang om de juiste variant te hanteren, waarbij je dus rekening houdt met de mogelijkheid dat zoekmachines de base kunnen negeren, zonder dat hierdoor je site structuur in gevaar komt.

2. Indien het ook maar enigszins mogelijk is zou ik altijd adviseren om gebruik te maken van absolute URL’s! Daarmee voorkom je niet alleen bovenstaande problematiek met foutieve indexering. Maar als extra bonus, maak je kans op extra links naar je site, indien iemand zo vriendelijk is om je content (of RSS feed) te kopiëren. Hierdoor wordt dan ook direct duidelijk dat jij het origineel bent ;).

Tip: Indien je problemen met indexering tegen komt, kijk dan eens welke links Google heeft geïndexeerd in de cache van Google, daar zijn altijd veel problemen terug te vinden.

Laat een reactie achter

2 reacties
  • “En als dat zo is, en Google neemt de base niet mee, dan gaat het verkeerd wanneer je vanuit een ander niveau dan home (/) linkt.”
    Onjuist, want daar is de base href weer voor. Die begint elke link met het adres dat in de base href ingesteld.
    Volgens mij maakt het dus niet of je wel of geen slash gebruikt.

    SIDN gebruikt ook een slash:

  • Je aanname is niet correct, nou ja, deels wel correct alleen is je gebruik fout.
    Refereren naar de root in je document is niet nodig, zeker niet wanneer je een base gebruikt.
    Een extra slash gebruiken hierin is juist goed.

    Het probleem zit h’m dus niet in de specificatie van de base maar juist in de opbouw van de href’s.
    Refereren naar de root is nooit een goed idee, die fout komt nog vaak voor. Zeker niet wanneer je het document wilt verplaatsen naar een andere directory en er wordt geen base gebruikt, dan heb je een groot probleem, zomaar verplaatsen gaat dan niet. Bovendien scheelt het een aantal onnodige bytes wanneer er veel links op de pagina staan.

    Dus gebruik relatieve paden in je hrefs!