To lahko direktno skopiraš v DokuWiki editor in shraniš. ====== Odprava robots.txt napake v Google Search Console ====== (WordPress + Cloudflare + AI crawlerji) ===== 🎯 Namen dokumenta ===== Ta dokument opisuje: * zakaj pride do napake **robots.txt is not valid / Unknown directive** v Google Search Console, * kako pravilno upravljati **robots.txt**, kadar uporabljaš **Cloudflare + WordPress**, * kako blokirati **AI crawlerje**, ne da bi poškodoval SEO, * kako preprečiti ponovitev iste napake v prihodnje. Napaka je bila zaznana ob dodajanju domene v orodje: * https://pagespeed.web.dev/ ----- ===== Velja za ===== * **WordPress** * **Cloudflare (proxy / CDN)** * **Google Search Console** * spletne strani, ki želijo: * ohraniti SEO indeksacijo, * omejiti AI crawlerje. ----- ===== 🧠 Povzetek problema (TL;DR) ===== Če uporabljaš: * WordPress * Cloudflare * Google Search Console lahko Google poroča, da je **robots.txt neveljaven**, tudi če je datoteka na strežniku videti pravilna. Razlog je v tem, da **Cloudflare prepiše robots.txt** in vanj doda **nestandardno direktivo**, ki je Google Search Console ne podpira. ----- ===== 🔍 Root cause (kaj je bilo v resnici narobe) ===== Cloudflare ima možnost **samodejnega upravljanja robots.txt**, ki v datoteko doda naslednjo direktivo: Content-signal: search=yes,ai-train=no Ta direktiva: * ni del uradnega robots.txt standarda, * je Google Search Console ne prepozna, * povzroči napake: * **robots.txt is not valid** * **Unknown directive** * **Links are not crawlable** Pomembno: * Google vedno bere samo **eno** datoteko: * https://example.si/robots.txt * če se ta razlikuje od datoteke na strežniku, robots.txt prepisuje **proxy ali aplikacija** (najpogosteje Cloudflare). ----- ===== ❌ Napačen primer ===== Primer robots.txt, ki povzroči napako: User-agent: * Content-signal: search=yes,ai-train=no Allow: / Posledica: * Google označi robots.txt kot neveljaven, * crawling je omejen, * v Search Console se pojavijo opozorila. ----- ===== ✅ Pravilna rešitev ===== Rešitev ima **dva obvezna koraka**. ----- ==== Korak 1: Pravilni robots.txt na strežniku ==== Robots.txt mora biti nameščen v **WordPress root direktoriju** (tam, kjer so mape `wp-admin`, `wp-content`, `wp-includes`). Priporočena vsebina robots.txt: Block AI training & AI crawlers User-agent: GPTBot Disallow: / User-agent: ChatGPT-User Disallow: / User-agent: ClaudeBot Disallow: / User-agent: PerplexityBot Disallow: / User-agent: CCBot Disallow: / User-agent: Amazonbot Disallow: / User-agent: Google-Extended Disallow: / User-agent: Applebot-Extended Disallow: / User-agent: meta-externalagent Disallow: / Allow search engines User-agent: * Allow: / Sitemap: https://example.si/sitemap_index.xml Ta konfiguracija: * blokira AI crawlerje, * ne vpliva na Google / Bing indeksacijo, * je skladna z robots.txt standardom. ----- ==== Korak 2: Izklop Cloudflare upravljanja robots.txt ==== V Cloudflare nadzorni plošči: * izberi domeno, * pojdi na **Security → Settings**, * poišči razdelek **Manage your robots.txt**, * izberi možnost: * **Disable robots.txt configuration**, * shrani spremembo. S tem: * Cloudflare preneha generirati robots.txt, * Google vidi robots.txt s strežnika, * napaka v Google Search Console izgine. ----- ===== 🧪 Diagnostika (če se zatakne) ===== Vedno preveri, kaj Google dejansko vidi: https://example.si/robots.txt Če vidiš: * direktivo **Content-signal**, * oznake **Cloudflare Managed content**, potem Cloudflare še vedno prepisuje robots.txt in je treba ponovno preveriti nastavitve. ----- ===== 🛡️ Kako preprečiti ponovitev napake ===== * robots.txt vedno upravljaj izključno na strežniku, * Cloudflare ne uporabljaj za generiranje robots.txt, * ne dodajaj nestandardnih direktiv v robots.txt, * za omejevanje AI raje uporabi HTTP headerje. Primer HTTP headerja: X-Robots-Tag: noai, noimageai ----- ===== 📌 Povzetek v eni stavki ===== Napaka v robots.txt ni bila posledica WordPressa, temveč tega, da je Cloudflare prepisoval robots.txt z nestandardnimi direktivami, ki jih Google Search Console ne podpira.