FeedMender

FeedMender/Fouten/robots.txt

Veelvoorkomende afkeuringen

robots.txt blokkeert je advertenties

Dit is de meest verwarrende afkeuring die er bestaat. De pagina rankt prima in Google Search, dus je weet zeker dat er niets geblokkeerd is, en toch wordt elke Shopping-advertentie ervoor geweigerd. De oorzaak is één regel die de meeste mensen nog nooit een reden hadden om aandachtig te lezen.

Wat Google vereist

Drie verschillende crawlers, allemaal toegestaan

Google bereikt je winkel met meer dan één crawler, en Shopping is afhankelijk van drie ervan:

  • Googlebot, die je landingspagina's leest.
  • Googlebot-image, die je productafbeeldingen ophaalt.
  • AdsBot-Google, die de landingspagina achter een advertentie controleert.

Om een product te kunnen adverteren moeten alle drie in robots.txt toestemming hebben om de relevante delen van je site te bereiken. Search en Shopping worden door verschillende bots bediend, en welkom zijn bij de een zegt niets over de ander.

Waarom het zo verwarrend is

AdsBot-Google negeert de wildcard-groep

De meeste robots.txt-bestanden bevatten een wildcard-groep, User-agent: *, wat betekent "deze regels gelden voor elke crawler". Die intuïtie is precies wat deze fout zo lastig te herkennen maakt, want AdsBot-Google is een bewuste uitzondering: hij gehoorzaamt de wildcard-groep helemaal niet. Hij volgt alleen regels die op naam voor hem zijn geschreven.

Een bestand als dit ziet er dus onschuldig uit, en is dat niet:

User-agent: *
Disallow: /checkout/
Disallow: /cart/

Zoekcrawlers lezen de wildcard-groep, mijden /checkout/ en indexeren de rest van de site normaal, en daarom rankt de pagina. AdsBot-Google negeert die groep volledig. Als er geen groep met de naam AdsBot-Google is die de landingspagina's toestaat, of erger, als er een verdwaalde Disallow: / onder zijn naam staat, wordt elke Shopping-advertentie die naar die pagina's wijst geweigerd, terwijl Search doorgaat alsof er niets aan de hand is.

Hoe je het handmatig herstelt

Noem de bot bij naam, en sta hem toe

  • Haal https://yourdomain/robots.txt op in een browser en lees het volledig, inclusief elke groep die specifiek voor AdsBot-Google is geschreven.
  • Als AdsBot geen toegang heeft tot je landingspagina's, voeg dan een groep toe die ze toestaat, en bedenk dat die niets van de wildcard-groep erft:
    User-agent: AdsBot-Google
    Allow: /
  • Controleer dat Googlebot je landingspagina's kan bereiken en Googlebot-image je afbeeldingspaden, zodat ook Search en de beoordeling van afbeeldingen niet geblokkeerd raken.
  • Let op een beveiligingsplugin, CDN-regel of firewall die onbekende user agents blokkeert, want die kan AdsBot tegenhouden zelfs als robots.txt correct is.

Welke van onze controles van toepassing zijn

De robots-controles die FeedMender uitvoert

De scan doet één verzoek per domein en test de drie user agents afzonderlijk, want het hele punt is dat ze zich niet hetzelfde gedragen. Het is een steekproef in plaats van uitputtende dekking: maximaal drie domeinen, en maximaal vijf landingspaginapaden per domein, via HTTPS. Een winkel die vanaf één domein wordt bediend, en dat zijn ze bijna allemaal, wordt volledig gedekt.

  • robots_blocks_adsbot_googlelink, blokkeert
  • robots_blocks_googlebotlink, blokkeert
  • robots_blocks_googlebot_imagelink, blokkeert

Dit is één codefamilie, opgebouwd per crawler, dus dezelfde controle leest elke user agent op zijn beurt. Ze staat op de lijst met controles als *robots_blocks_ onder de families per attribuut.

De snellere weg

Laat de scan het voor je lezen

Omdat deze fout zich verschuilt achter een pagina die rankt, is het de moeite waard om iets de robots-regels expliciet voor alle drie de crawlers te laten controleren. De gratis scan leest je robots.txt en rapporteert afzonderlijk over Googlebot, Googlebot-image en AdsBot-Google.