Robots.txt werkt anders dan je denkt, en dat kost je indexeringscontrole
John Mueller heeft op Reddit een veelgemaakte fout in robots.txt blootgelegd. De aanleiding: een Shopify-store die last had van zoekbalk-spam, waarbij spammers via gerichte zoekopdrachten spammy URL’s genereerden die vervolgens door Google werden geïndexeerd. De beheerder had netjes een disallow-regel ingesteld, maar Google trok zich er niets van aan.
De fout zit in hoe robots.txt user-agents afhandelt
Mueller keek naar het robots.txt-bestand en zag direct wat er misging. Het bestand had twee blokken: één specifiek voor user-agent: Googlebot, en één algemeen blok voor user-agent: *. De disallow-regel voor de zoekpagina stond alleen in het algemene blok.
Hier zit de crux: als robots.txt een specifiek blok voor Googlebot bevat, gebruikt Google uitsluitend dat blok. Het algemene user-agent: *-gedeelte wordt dan volledig genegeerd door Googlebot. Meer specifieke regels winnen het altijd van algemene regels. Dat klinkt logisch als je er even over nadenkt, want zo kun je per crawler andere instructies geven, maar in de praktijk gaat dit keer op keer mis.
Mueller geeft ook de oplossing: kopieer de gedeelde regels naar het Googlebot-blok, of zet alle user-agents die dezelfde regels moeten volgen bij elkaar boven één set disallow-regels.
Ik zie dit soort fouten regelmatig bij klanten, ook buiten Shopify. Iemand voegt op een gegeven moment een specifiek Googlebot-blok toe voor een tijdelijke reden, en de rest van de regels wordt dan stiekem genegeerd. Check dit gewoon even in je Search Console via de robots.txt-tester, dan zie je het zelf.
Robots.txt is overigens het verkeerde middel voor indexeringscontrole
Er is nog een tweede punt dat Mueller en Shopify’s eigen documentatie benadrukken: robots.txt blokkeert crawling, niet indexering. Als Google een URL al kent via een externe link of sitemap, kan die pagina nog steeds in de index belanden, ook al staat er een disallow-regel op.
De juiste aanpak voor zoekbalk-spam is een noindex metatag, niet robots.txt. Shopify heeft daar een standaard oplossing voor via het theme.liquid-bestand. WordPress-gebruikers met Yoast, Rank Math of AIOSEO hebben dit standaard al goed staan: zoekresultatenpagina’s krijgen automatisch een noindex.
Wat je nu moet doen
Open je robots.txt en check of er naast een user-agent: *-blok ook een specifiek user-agent: Googlebot-blok staat. Zo ja, controleer of alle regels die voor Googlebot moeten gelden ook in dat specifieke blok staan. Vertrouw niet op het algemene blok als er een specifiek Googlebot-blok aanwezig is.
En als je zoekresultatenpagina’s wil uitsluiten van de index: gebruik noindex, geen robots.txt. Dat is geen mening, dat is gewoon hoe het werkt.
Bron: Search Engine Journal