Gepatchte robots.txt blockiert immer noch js + CSS-Dateien?
am 29.06.2015 - 07:14 Uhr in
Bekanntlich crawlt Google ja seit letztem Jahr auch JS + CSS-Dateien und meldet Seiten als geblockt, wenn die Script-Dateien via robots.txt geblockt sind.
Genau dies ist durch bei der Default-robots-Datei der Fall.
Das kann man Ändern, in dem man die CSS und JS-Dateien für die geblockten Dateien ausdrücklich via allow frei gibt.
Dazu gibt es auch einen Patch : https://www.drupal.org/node/2364343
Den habe ich eingespielt und nun sieht die Datei so aus:
#
# robots.txt
#
# This file is to prevent the crawling and indexing of certain parts
# of your site by web crawlers and spiders run by sites like Yahoo!
# and Google. By telling these "robots" where not to go on your site,
# you save bandwidth and server resources.
#
# This file will be ignored unless it is at the root of your host:
# Used: http://example.com/robots.txt
# Ignored: http://example.com/site/robots.txt
#
# For more information about the robots.txt standard, see:
# http://www.robotstxt.org/robotstxt.html
User-agent: *
Crawl-delay: 10
# JS/CSS
Allow: /misc/*.js
Allow: /misc/*.css
Allow: /modules/*.js
Allow: /modules/*.css
Allow: /profiles/*.js
Allow: /profiles/*.css
Allow: /themes/*.js
Allow: /themes/*.css
# Directories
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /profiles/
Disallow: /scripts/
Disallow: /themes/
# Files
Disallow: /CHANGELOG.txt
Disallow: /cron.php
Disallow: /INSTALL.mysql.txt
Disallow: /INSTALL.pgsql.txt
Disallow: /INSTALL.sqlite.txt
Disallow: /install.php
Disallow: /INSTALL.txt
Disallow: /LICENSE.txt
Disallow: /MAINTAINERS.txt
Disallow: /update.php
Disallow: /UPGRADE.txt
Disallow: /xmlrpc.php
# Paths (clean URLs)
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /filter/tips/
Disallow: /node/add/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: /user/login/
Disallow: /user/logout/
# Paths (no clean URLs)
Disallow: /?q=admin/
Disallow: /?q=comment/reply/
Disallow: /?q=filter/tips/
Disallow: /?q=node/add/
Disallow: /?q=search/
Disallow: /?q=user/password/
Disallow: /?q=user/register/
Disallow: /?q=user/login/
Disallow: /?q=user/logout/
Leider meldet Google via Webmaster-Tool 22 Scripte immer noch als blockiert, was sich insgesamt auf 87 Dateien auswirkt.
Das sind z.B. diese hier:
http://www.meine-domain.de/misc/feed.png
http://www.meine-domain.de/misc/jquery.once.js?v=1.2
http://www.meine-domain.de/misc/progress.js?v=7.37
http://www.meine-domain.de/misc/ajax.js?v=7.37
http://www.meine-domain.de/modules/system/system.theme.css?npb3yu
http://www.meine-domain.de/modules/system/system.base.css?npb3yu
http://www.meine-domain.de/modules/comment/comment.css?npb3yu
http://www.meine-domain.de/modules/node/node.css?npb3yu
http://www.meine-domain.de/misc/drupal.js?npb3yu
http://www.meine-domain.de/modules/field/theme/field.css?npb3yu
Angepasst habe ich die Dateien am 24.06.
Die neueste Meldung von Google ist vom 27.06.
Nun frage ich mich, ob ich etwas mehr Geduld haben muß, bis Google das richtig anzeigt, oder ob noch irgendwas falsch ist?
Wie sieht das bei Euch aus?
Was habt Ihr an der robots.txt geändert und welche Meldungen erhaltet ihr unter blockierte Ressourcen?
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo, versuch doch mal die
am 29.06.2015 - 10:47 Uhr
Hallo,
versuch doch mal die folgenden Verzeichnisse auszukommentieren, welche anscheinend blockiert werden:
#Disallow: /misc/
#Disallow: /modules/
Probiere es danach nochmal.
MfG
Robert
Hi Robert, das war mein
am 29.06.2015 - 11:03 Uhr
Hi Robert,
das war mein erster Versuch, bevor ich die gepatchte Version genommen habe.
Hi, es kann natürlich sein,
am 29.06.2015 - 12:10 Uhr
Hi,
es kann natürlich sein, dass erst der Google Bot vorbeikommen muss
um die robots.txt aufzunehmen und die Seiten neu zu indexieren.
Das kann gut 2 Wochen oder mehr dauern.
Im access.log sollte man sehen können, wann der Bot vorbeigekommen ist (User Agent: Googlebot).
Grüsse
Robert
Ich habe mich an den Angaben
am 29.06.2015 - 13:21 Uhr
Ich habe mich an den Angaben in den Webmaster-Tools orientiert.
Wenn da für den 27.06. geblockte Seiten angegeben sind (also nach meinen Änderungen), dann gehe ich davon aus, daß der Robot auch am 27. da war.
Aber evt. ist das ja ein Trugschluss.
JEtzt habe ich mal in der access.log Datei nachgeschaut und z.B. diese Zeile gefunden:
66.249.67.127 - - [29/Jun/2015:13:03:18 +0200] "GET /modules/field/theme/field.css?nqjcub HTTP/1.1" 200 550 "http://www.sobio.de/produkte/bauck-bio-schnellbrot-glutenfrei" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "www.sobio.de"
Daraus ziehe ich den Schluss, daß der Bot vor ner guten Stunde die betreffende css-Datei besuchen konnte und die müßte dann aus den blockierten Seiten raus fliegen.
Mal sehen, das dauert ja immer etwas, bis es in den Webmaster-Tools angezeigt wird.
ABer jedenfalls ein guter Tipp, sich mal in den eigenen Logs umzuschauen.
Auf die Idee bin ich noch nicht gekommen.
Inzwischen habe ich gelernt,
am 03.07.2015 - 12:01 Uhr
Inzwischen habe ich gelernt, daß Google die robots.txt im Cache hält.
Normalerweise für einen Tag, in manchen Fällen auch länger.
Ich vermute, daß dies bei der Seite der Fall ist, wo nach wie vor so viele blockierte CSS+JS-Seiten angezeigt werden.
Bei anderen Projekten wurden nach oben beschriebenen Änderungen nur noch Fehler für misc/fedd.png und misc/grippie.png angezeigt.
Also habe ich den Bereich Allowed noch um Angaben für png erweitert und hoffe, daß dann demnächst alle Blockierungen verschwunden sind.
Hallo, hatte / habe auch das
am 06.07.2015 - 07:42 Uhr
Hallo,
hatte / habe auch das Problem. Mit Hilfe von diesen Thread hier dann die robots.txt angepasst und die meisten Einträge waren verschwunden - nur einer war da, das durch einen Fehler im Theme zustande kam, der nun auch behoben ist. Müsste also passen, doch die Prüfung gerade zeigte, dass diese Datei als blockiert eingestuft wird:
http://www.domain.com/modules/user/user.css?nr1ywk
Ich bin mir sicher, dass vor der Anpassung der robots.txt noch weitere Dateien aus dem modules-Ordner bemängelt wurden, die jetzt nicht mehr aufgeführt sind. Wie kann es sein, dass diese Datei nun neu dazu kam, wo doch die Anpassung alle anderen wieder erreichbar machte?
Liegt es vielleicht an dem Zusatz "?nr1ywk" dahinter? So dass der Eintrag in robots.txt vielleicht so sein müsste: Allow: /modules/*.css*
Allerdings hatten die vorherigen Einträge alle so einen Zusatz und da hat es ja funktioniert...
Hi Trwawi, genau vor der
am 06.07.2015 - 08:34 Uhr
Hi Trwawi,
genau vor der Frage stehe ich heute morgen auch und bin froh, daß es mir nicht alleine so geht.
Die meisten Einträge sind inzwischen verschwunden, die Einträge mit Parameter am Ende stehen noch da.
Ich denke, man sollte das mal Testen mit dem Stern am Ende.
Ich wäre zwar immer davon ausgegangen, daß der Parameter ignoriert wird, aber wer weiß das schon.
Ich werde das an einem Projekt testen und zwar vorsichtshalber mit
Allow: /modules/*.css
und
Allow: /modules/*.css*
Möchtest Du das evt. auch mal testen und Deine Erfahrungen mit teilen?
Ich nehme das gelöst oben noch mal raus.
Gruß, Regina
Hi Regina,ich habe das
am 06.07.2015 - 08:55 Uhr
Hi Regina,
ich habe das gerade auch so gemacht
Allow: /modules/*.css
und
Allow: /modules/*.css*
Da ich erst vor 2 Tagen einen Relaunch durchgeführt hatte, ist bei mir sowieso noch alles gemischt, bis sich alles aktualisiert (WMT etc.). D.h. die Angaben unter "Google Index - Blockierte Ressourcen" sind im Moment eher nichts aussagend. Das, was zu passen scheint und wo man die blockierten Ressourcen auch sieht, ist der "Abruf wie durch Google". Dort ist der Eintrag aus dem vorherigen Beitrag verschwunden, aber es kamen 4 neue hinzu:
/modules/system/system.theme.css?nr1ywk
/sites/all/modules/views/css/views.css?nr1ywk
/sites/all/modules/md_slider/css/md-slider.css?nr1ywk
/sites/all/themes/Porto/vendor/owl-carousel/owl.theme.default.css?nr1ywk
Alle mit "Vorübergehend nicht erreichbar" als Grund und dem gleichen Parameter dahinter (wie auch der Eintrag aus dem vorherigen Beitrag).
Der erste Eintrag betrifft auch das modules-Verzeichnis, also scheint das Sternchen am Ende doch keine Auswirkung zu haben oder das Ergebnis ist jedes Mal anders und mal werden die Dateien gefunden, mal als blockiert erkannt aus irgendeinem Grund...
Ja, diesen Abruf wie bei
am 06.07.2015 - 09:41 Uhr
Ja, diesen Abruf wie bei Google mit Rendern habe ich auch gemacht, weil das ja den Vorgang beschleunigen soll, daß Google die geänderte Version der robots.txt erkennt.
Da kommt auch bei manchen Seiten "Vorübergehend nicht erreichbar".
Wenn ich sie via Browser aufrufe, dann sind sie ganz normal da.
Auch das Access-Logs zeigt für den Aufruf dieser Seiten via Google-Bot Status 200.
Ich habe wirklich keine Ahnung, was mir das sagen soll.
Vermutlich sollte man das Thema nicht ganz so heiß sehen.
Ich habe meine Seiten ja auch bei BING angemeldet und in der dortigen Übersicht ist keine Rede von geblockten Seiten.
Ich habe auch eine Anfrage an das Forum von Google gestellt, bislang ohne Antwort.
Zu der Meldung
am 06.07.2015 - 09:56 Uhr
Zu der Meldung "vorrübergehend nicht erreichbar" noch zwei Posts mit evt. Ursachen.
https://productforums.google.com/forum/#!topic/webmaster-de/ugCOuh8UfDs
https://productforums.google.com/forum/#!topic/webmaster-de/AIPbashfklE
Bei mir ist z.B. dieses Image betroffen, wenn ich es mit Abruf wie durch Google aufrufe:
/misc/feed.png
Natürlich ist das Bild plitzschnell da, wenn ich es im Browser aufrufe.
Weiß jemand, was man da an den Einstellungen in der .htaccess ändern könnte, um das Keep-Alive-Problem speziell für den Google-Bot zu lösen?
So wie es aussieht, kann man
am 06.07.2015 - 10:40 Uhr
So wie es aussieht, kann man via .htaccess höchstens den Verbindungsmodus von "close" auf "keep alive" ändern, aber nicht die Timeout-Einstellung bestimmen. Es sei denn man hat Zugriff auf die Apache Konfiguration, was aber in den meisten Fällen nur der Hoster hat.
In Apache 1 war der Standardwert wohl 15 Sekunden, in Apache 2 sind es 5 und laut vielen Aussagen sollte das reichen. Da es hierbei um Zugriffs- / Ladezeiten geht, wird häufiger das Thema "Komprimierung" erwähnt.
Sollte man unter admin/config/development/performance vielleicht die Optionen "CSS-Dateien aggregieren und komprimieren." und " JavaScript-Dateien aggregieren." aktivieren? Das ist bei mir derzeit nicht der Fall.
Unter diesen Umständen könnte es sein, dass das mit dem Sternchen dahinter gar nicht nötig ist (es sei denn solche Einträge werden auch unter "Blockierte Ressourcen" aufgelistet und nicht nur beim Abruf wie durch Google), sondern dass die Ladezeiten jedes mal variieren und jedes Mal andere Dateien nicht erreichbar sind, wenn die 5 Sekunden (oder was auch immer eingestellt ist) nicht ausreichen.
Hallo Leute, hier steht warum
am 06.07.2015 - 10:48 Uhr
Hallo Leute,
hier steht warum dieser Fehler ausgerufen wird: https://support.google.com/webmasters/answer/6066472?hl=de
Google schreibt auch, dass dieser Fehler auch nur beim Simulationstool auftreten kann.
Es ist viel verlässlicher, wenn Ihr im access.log nachseht ob der Bot alle nötigen Ressourcen aufgegriffen hat.
Ich glaube auch nicht, dass es am keep-alive Header liegt, sondern eher am Host, besonders wenn der Server in einer Shared Hosting Umgebung läuft.
Viele hoster haben Ihre Firewall so eingestellt, dass zuviele Requests innert kurzer Zeit geblockt werden um DOS Attacken vorzubeugen.
Verlasst Euch nicht aussschliesslich auf dieses Simulationstool von Google.
Grüsse
Robert
Wenn man viele Seiten
am 06.07.2015 - 11:37 Uhr
Wenn man viele Seiten betreut, dann wird es schon sehr mühsame, es jeweils aus dem access-log zu pfriemeln.
Aber insgesamt hast Du natürlich schon recht, Robert, daß man sich nicht alleine auf das Tool verlassen soll.
Ja, das mit den Requests habe ich inzwischen auch so raus gefunden.
Interessant ist in dem Zusammenhang auch die Analyse der Page Speed:
https://developers.google.com/speed/pagespeed/insights/
Und in dem Zusammenhang wieder der Hinweis von weiter oben, daß die ganze Problematik eigentlich nur relevant ist, wenn JavaScript und CSS-Komprimierung ausgeschaltet ist.
Jedenfalls kristallisiert sich raus, daß man sich wegen der robots.txt nicht weiter verkopfen muß, wenn die allowes-Anweisungen drinnen sind.
montviso
am 06.07.2015 - 12:54 Uhr
[...]
Interessant ist in dem Zusammenhang auch die Analyse der Page Speed:
https://developers.google.com/speed/pagespeed/insights/
Und in dem Zusammenhang wieder der Hinweis von weiter oben, daß die ganze Problematik eigentlich nur relevant ist, wenn JavaScript und CSS-Komprimierung ausgeschaltet ist.
Danke für den Link, kannte ich noch nicht. Sieht bei mir nicht optimal aus... Verstehe ich das richtig, dass Du, Regina, JavaScript und CSS-Komprimierung in Drupal nicht aktiviert hast? Wie sieht es bei Dir aus, Robert? Und alle anderen können natürlich Ihre Erfahrung auch gerne teilen.
Habe dazu Hinweise gelesen, dass wenn man die Komprimierung in Drupal aktiviert, man sie in Apache deaktivieren, was vermutlich wieder nur der Hoster kann, oder?
Das driftet allerdings ein wenig vom Thema ab. Ansonsten scheint es in der Tat so zu sein, dass die obigen Anpassungen der robots.txt so in Ordnung sind.
Ich habe bei den meisten
am 06.07.2015 - 14:49 Uhr
Ich habe bei den meisten Projekten die Komprimierung angeschaltet.
Aber eben noch nicht bei allen.
Und da sieht man deutliche Unterschiede in der Anzahl der blockierten Dateien.
Daraus hatte ich den Schluss gezogen, daß es an der Robots.txt liegt, weil ja das Verzeichnis sites/default/...*** nicht blockiert ist und dort werden die komprimierten Dateien abgelegt.
Mit den Anpassungen konnte ich einige Fehler beheben, aber nicht alle.
Mein Denkfehler lag daran, zu glauben, in diesem Bereich würden nur Fehler angezeigt, die durch blockierungen in der robots.txt zustande kommen.
Das ist eben nicht so.
Bei mir funktioniert das Zu- oder Abschalten der Komprimierung via Konfiguration->Entwicklung->Leistung völlig problemlos.
Vermutlich gibt es Ärger, wenn man das zusätzlich in der .htaccess Datei eingerichtet hat, was bei mir nicht der Fall ist.
Du kannst das ja mal probieren und gleichzeitig im Firebug via Netzwerk beobachten, was passiert.