Jak upravit robots.txt, aby neblokoval CSS a JS

Google včera začal posílat prostřednictvím své Google Search Console upozornění na nemožnost načítat CSS a JS z webů, které běží na WordPressu, Drupalu a jiných redakčních systémech. Jak tento problém vyřešit úpravou souboru robots.txt a zároveň nepovolit indexaci administračních stránek?

Google postupně začal uplatňovat nové aktualizace svého vyhledávacího stroje a mezi nimi se z nějakého důvodu pustil do JavaScriptů a CSS, které jsou blokovány v souboru robots.txt. Jak známo, v tomto souboru se definují pravidla říkající, že se některé z URL adres v rámci webu nemají indexovat a vůbec vyhledávacím robotem procházet. Prostě nechcete, aby se někde indexoval například kus administrace vašeho webu.

V prohlížeči to vůbec není problém. Ten s robots.txt nepracuje a navíc se všechny JS a CSS soubory načtou bez problémů, pokud na webu jsou. Googlebot to vidí jinak, pravidla v robots.txt respektuje, ale v případě, že máte tyto soubory načítané z nějaké zakázané podadresy, je to pro něj problém.

Typicky se to týká snad každého WordPressu, který nepovoluje indexaci složky, ve které jsou témata vzhledu. Podobně Drupalu nebo třeba systému GetSimple. Jak z toho ven?

Google Search Console a ladění robots.txt

Pokud vám také přijde/přišla zpráva z Google Search Console říkající, že některé ze souborů JS a CSS pravidlo v robots.txt blokuje, je tu řešení spočívající v jednoduchém triku. Do souboru robots.txt, na jeho konec, prostě doplňte pravidlo, které načítání *.css a *.js povolí ze všech složek, i těch výše zakázaných. Není nutné zrušit všechny příkazy Disallow a povolit indexování do této chvíle zakázaných adres.

Následně je potřeba Google sdělit, že jste problém vyřešili úpravou robots.txt, otestovat si nová pravidla přes Google Search Consoli a přinutit Googlebota, aby si natáhl aktuální verzi souboru robots.txt.

Jak na to krok za krokem se podívejte na následujícím videu:

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

návštěvník

No a potřebuje google pro svou indexaci tyto soubory? Já se domníval, že indexuje pouze obsah..

Profile picture for user Jan Polzer

No pro indexaci obsahu ne, ale zdá se, že nyní bude přikládat větší váhu tomu, jak stránku vidí uživatel a jak ji vidí Googlebot, tj. jestli před ním něco neschováváme. Viz to moje video, kde je vidět rozdíl v chybějícím obrázku.

Upozorňovali na to již loni na podzim, teď to jenom uvedli do praxe.

návštěvník

Díky za návod,

na to že s tím G přišel včera to je hodně rychlá nápověda :-). Asi bych se s tím přes allow patlal déle a nepovolil rovnou všechny js a css.

Bohužel to funguje asi jen na GS. Na Joomle to G ignoruje. Ještě to zkusím na Drupalu.

Je mi taky divné co to google zase vymýšlí a proč je vůbec chce indexovat, to je taky bude vystavovat? Přístup do nich má přeci stejně jako normální návštěvník (vždyť je také umí standardně zobrazit při porovnání).

Profile picture for user Jan Polzer

Chce si to holt pohrát s těmi dvěma pravidly allow. Z nějakého důvodu je to nebere vždy, dost asi záleží, co je a v jakém tvaru před nimi. Nastíněná cesta by každopádně s nějakými úpravami měla vést k vyřešení problému.

Google to chce proto, aby měl jistotu, že indexuje stránku ve stejné podobě, jako ji vidí uživatel. Jak víte, ono mu nejde jenom o obsah, ale protože hodnotí, zda je dobře použitelná i na mobilních zařízení a stránku, která mobilní podporu nemá, háže v SERPu dolů, tak potřebuje načítat jak CSS, tak JS.

Profile picture for user Jan Polzer

Pro Drupal je třeba doplnit následující:

allow: /modules/*.css
allow: /modules/*.js

návštěvník

V Joomle jsem povolil vše kam nemohl podobně jako v Drupalu, jen tam bylo více cest, ale co externí scripty? Ty mohu nějak povolit?
Viz:
http://c.imedia.cz/js/retargeting.js
https://oauth.googleusercontent.com/gadgets...
http://googleads.g.doubleclick.net/pagead...
...

Profile picture for user Jan Polzer

No robots.txt nemá na externí skripty vliv, takže nevím, co s tím, jak jsem už říkal ve videu. Předpokládám, že Google nebude blokovat weby, které mají v sobě reklamní javascripty jeho samotného.

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru