# robots.txt — mygardeningzone.com # --- Googlebot: allow assets and admin-ajax User-agent: Googlebot Allow: /*.js$ Allow: /*.css$ Allow: /wp-admin/admin-ajax.php Disallow: /wp-admin/ Disallow: /?s= Disallow: /*?s= Disallow: /search/ Disallow: /*/feed/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /trackback/ # --- All other well-behaved bots User-agent: * Allow: /wp-admin/admin-ajax.php Disallow: /wp-admin/ Disallow: /wp-json/ Disallow: /?s= Disallow: /*?s= Disallow: /search/ Disallow: /*/feed/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /trackback/ Crawl-delay: 5 # --- Amazon's search crawler, named explicitly. # MEASURED 2026-07-25 (two days of origin logs, three sites): Amzn-SearchBot spends # 40.6% (cookingvibe) / 47.7% (droolrecipes) / 49.2% (recipenames) of its requests on # /wp-json/ — the REST API — and essentially none on search, feeds, replytocom or # attachments. So the usual "crawl-waste" Disallow list would have achieved NOTHING here; # this one stanza removes roughly half of the single largest controllable load on the box, # and costs zero article visibility because /wp-json/ is not content. # It must be NAMED: Amazon runs Amzn-SearchBot on its own token and its crawlers are # reported to ignore the wildcard group, so the block above does not reach it. Amazonbot — the # token our old blocklist and Cloudflare's managed robots.txt both use — is a DIFFERENT # crawler that sends us 0 requests/day. # Articles stay crawlable on purpose: this throttles the waste, not the indexing. User-agent: Amzn-SearchBot Allow: /wp-admin/admin-ajax.php Disallow: /wp-json/ Disallow: /wp-admin/ Disallow: /?s= Disallow: /*?s= Disallow: /search/ Disallow: /*/feed/ # --- Aggressive / low-value bots (full block) User-agent: Leikibot Disallow: / User-agent: serpstatbot Disallow: / # --- Sitemap Sitemap: https://mygardeningzone.com/sitemap_index.xml