Begrippenlijst · Crawlen & indexeren

X-Robots-Tag

Ook wel: X-Robots-Tag header, robots HTTP-header

Definitie

De X-Robots-Tag is een HTTP-header met dezelfde instructies als de meta robots-tag, zoals noindex. Hij werkt ook voor bestanden zonder HTML, zoals PDF's en afbeeldingen.

Wat is de X-Robots-Tag?

De X-Robots-Tag is een regel in de HTTP-response die je server meestuurt met een bestand. Hij ondersteunt dezelfde waarden als de meta robots-tag: noindex, nofollow, none, nosnippet, max-snippet, max-image-preview, noimageindex en unavailable_after. Het verschil zit in de plek. De meta-tag staat in de HTML, de header zit in de response zelf.

Dat maakt de header de enige manier om niet-HTML-bestanden uit de index te houden. Een PDF, een CSV-prijslijst of een productfeed heeft geen head waarin je een meta-tag kunt zetten. Met de header kan het wel. Je kunt ook per crawler een instructie geven, bijvoorbeeld X-Robots-Tag: googlebot: noindex.

Net als bij noindex moet Google het bestand kunnen ophalen om de header te zien. Blokkeer je het pad ook in robots.txt, dan leest Google de header nooit en kan de URL gewoon in de index blijven staan.

Waarom het ertoe doet voor webshops

Webshops hebben meer niet-HTML-bestanden dan je denkt. Handleidingen en datasheets als PDF, exportbestanden voor marktplaatsen, XML-feeds voor vergelijkers, en soms een complete staging-omgeving op een subdomein. Die bestanden komen in Google terecht zodra ergens een link naartoe staat.

Een geïndexeerde PDF-handleiding concurreert dan met je eigen productpagina. De bezoeker landt op een los document zonder prijs, winkelwagen of navigatie. Een geïndexeerde feed of prijslijst is nog vervelender: die toont inkoopinformatie of oude prijzen.

De header is ook handig voor een staging- of testomgeving. Eén regel in de serverconfig zet de hele host op noindex, ongeacht welke templates erop draaien. Dat is betrouwbaarder dan vertrouwen op een vinkje in het CMS dat iemand bij een release terugzet.

Ook afbeeldingen kun je ermee sturen. Met noimageindex in de header houd je bijvoorbeeld technische tekeningen of interne productfoto's uit Google Afbeeldingen, terwijl de pagina waarop ze staan gewoon geïndexeerd blijft.

Zo werkt het in Magento, Shopify en Laravel

Bij Magento op nginx of Apache zet je de header in de serverconfiguratie, per locatie of bestandstype. Voor PDF's in /media/ is een location-blok in nginx genoeg. Op Hypernode doe je dat in een eigen nginx-include in de server-config van je site.

In Laravel voeg je de header toe in een middleware of direct op de response, bijvoorbeeld voor een downloadroute: return response()->download($pad)->header('X-Robots-Tag', 'noindex'). Zo bepaal je per route wat wel en niet geïndexeerd mag worden.

Shopify geeft je geen toegang tot serverheaders. Bestanden die je via Content > Bestanden uploadt, staan op het Shopify-CDN en daar kun je geen X-Robots-Tag aan hangen. Wil je een document echt uit Google houden, zet het dan op een eigen pagina met een meta robots-tag of host het buiten Shopify.

Veelgemaakte fouten

De header staat nog op productie na een livegang, omdat de serverconfig van staging is gekopieerd. Dat zie je niet in de broncode van de pagina, alleen in de response headers. Controleer daarom na elke migratie de headers met curl -I of met de URL-inspectie in Search Console.

Andere fouten: een header op alle bestanden in een map waar ook productafbeeldingen staan, waardoor die uit Google Afbeeldingen verdwijnen. Of tegenstrijdige signalen, zoals een PDF met noindex-header die wel in de XML-sitemap staat. Haal zulke URL's uit de sitemap.

Een praktische check na elke release: curl -sI https://www.voorbeeldshop.nl/ | grep -i x-robots. Leeg resultaat op productie is wat je wilt zien. Zet die regel in je deploy-checklist, naast de controle van robots.txt.

PDF's uitsluiten in nginx

location ~* \.pdf$ {
    add_header X-Robots-Tag "noindex, nofollow" always;
}

Verder lezen

Veelgestelde vragen

Wat is het verschil tussen de X-Robots-Tag en de meta robots-tag?+

De instructies zijn gelijk. De meta-tag staat in de HTML, de X-Robots-Tag in de HTTP-header. Alleen de header werkt voor PDF's, afbeeldingen en andere bestanden zonder HTML.

Hoe controleer ik of een pagina een X-Robots-Tag heeft?+

Bekijk de response headers met curl -I, in het netwerktabblad van je browser of via de URL-inspectie in Search Console. In de broncode zie je hem niet.

Kan ik de X-Robots-Tag gebruiken in Shopify?+

Niet op serverniveau. Shopify geeft geen toegang tot response headers. Je werkt daar met de meta robots-tag in het thema.

Meer begrippen over crawlen & indexeren

Liever dat iemand het voor je uitzoekt?

Wij controleren je webshop op deze punten en voeren de fixes zelf door in Magento, Shopify of Laravel. Je praat direct met het team dat het bouwt.