Sollten wir unsere Joomla robots.txt nach der Ankündigung von Google zum Crawlen von CSS und JavaScript ändern?

8

Ich bin auf eine Ankündigung von Google gestoßen : http://googlewebmastercentral.blogspot.in/2014/10/updating-our-technical-webmaster.html

Es sagt aus:

Für ein optimales Rendern und Indizieren legen wir in unserer neuen Richtlinie fest, dass Sie Googlebot Zugriff auf die von Ihren Seiten verwendeten JavaScript-, CSS- und Bilddateien gewähren sollten. Dies bietet Ihnen ein optimales Rendern und Indizieren für Ihre Site. Das Nicht-Crawlen von Javascript- oder CSS-Dateien in der robots.txt Ihrer Site beeinträchtigt direkt, wie gut unsere Algorithmen Ihre Inhalte rendern und indizieren, und kann zu suboptimalen Rankings führen.

Standardmäßig ist in Joomlas robots.txt-Datei Folgendes nicht zulässig:

Disallow: /administrator/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/

Bitte geben Sie an, ob wir die folgenden Elemente basierend auf der Ankündigung von Google aus der robots.txt-Datei entfernen sollen.

Disallow: /components/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/

Wird dies gemäß Ankündigung für Joomla-basierte Websites empfohlen?

Gag
quelle
Warum nicht einfach abschaffen, robots.txtda niemand (nicht einmal Suchmaschinen, jetzt, wo Google Anforderungen an das stellt, was Sie nicht verbieten sollten) es trotzdem befolgen wird?
Fragenüberlauf
Verwandte (kein Duplikat): Robots.txt - CSS erlauben oder verbieten
unor

Antworten:

3

Ehrlich gesagt ist es besser, wenn Sie alles aus Ihrer robots.txt entfernen. Soweit ich sehen kann, enthalten alle PHP-Dateien in Joomla die Zeile

defined('_JEXEC') or die;

Das heißt, wenn Sie eine PHP-Datei direkt in den Browser laden, erhalten Sie nur eine leere Datei, die von Suchmaschinen ignoriert wird. (Sie sollten sowieso nie auf diese stoßen, es sei denn, Sie haben sie direkt verlinkt.)

Das Problem beim Blockieren einiger dieser Verzeichnisse besteht darin, dass einige Komponenten und Module ihre CSS / JS-Dateien in diesen jeweiligen Verzeichnissen und nicht in den bevorzugten Medien- oder Bildordnern aufbewahren.

Es gibt also keinen Grund, Joomla-Dateien von Google zu blockieren.

DisgruntledGoat
quelle
Vielen Dank. Ich sehe jedoch, dass beim Abrufen einer Seite über den Webmaster das Abrufen in Ordnung ist, obwohl alle diese Ordner nicht zugelassen sind. Hat das Entfernen von Disallow etwas mit den Seiten zu tun?
Gag
1
@Gagan Ich bin mir nicht sicher, aber das Abruf-Tool in den Webmaster-Tools ignoriert wahrscheinlich robots.txt.
DisgruntledGoat
1
GWMT macht beides. Wenn Sie als Google abrufen, wird angezeigt, wie Google Ihre Website sieht und wie ein Nutzer Ihre Website sieht. @DisgruntledGoat ist richtig, es besteht keine Notwendigkeit, etwas zu blockieren.
Brent Friar
2

Abgesehen von der allgemeinen Verwendung / dem Fehlen derselben robots.txtin einer gut verwalteten Joomla-Site mit "guten" Erweiterungen von Drittanbietern - die einzigen Orte, die CSS, JS oder Bilder enthalten sollten, sind:

/images
/media
/templates

und natürlich ihre Unterverzeichnisse .

Sie können diese also einfach entfernen robots.txt.

Craig
quelle
1

Wenn Sie Ihre Seiten beim Abrufen als Google in WMT fehlerfrei sehen, ist dies wahrscheinlich in Ordnung. In Zukunft können Sie jedoch einige Inhalte auf Ihrer Website aktualisieren, was einige Skripte / CSS von einigen blockierten Ordnern erfordert. Daher denke ich, dass Sie es besser finden könnten, Suchmaschinen das Crawlen all dieser Ordner mit CSS / JavaScript zu ermöglichen.

Bojan Miljevic
quelle
1

Die neuesten Versionen von Joomla blockieren die Ordner /media/und nicht mehr /templates/:

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

Nicht alle Erweiterungen halten sich an die Richtlinien, wo CSS- und JS-Dateien usw. abgelegt werden sollen. Eine gute Lösung besteht darin, Google den Zugriff auf diese Dateien zu ermöglichen, unabhängig davon, wo sie sich befinden.

Sie können dies erreichen, indem Sie einige Zeilen wie folgt an den Anfang Ihrer robots.txtDatei einfügen :

#Googlebot
User-agent: Googlebot
Allow: *.css
Allow: *.js

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

BEARBEITEN:

Danke @ w3dk und @Stephen Ostermiller für das Feedback! Du liegst ziemlich richtig. Es ist besser, so etwas zu tun:

User-agent: *
Allow: *.css
Allow: *.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

Leider scheint dies nicht wie beabsichtigt zu funktionieren, da die längeren (spezifischeren) Regeln die kürzeren Regeln überschreiben und die Zulassungszeilen ignoriert werden. Es scheint keinen Unterschied zu machen, ob die Zulassungszeilen den Verbotszeilen folgen oder umgekehrt.

Die einzige Möglichkeit, dies zu umgehen, besteht darin, so etwas zu tun, was zu funktionieren scheint, wenn ich es in den Webmaster-Tools teste:

User-agent: *
Allow: /************************************************************.css
Allow: /************************************************************.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

EDIT 2 - BESTE LÖSUNG:

OK, also habe ich etwas mehr recherchiert und die Antwort unter https://stackoverflow.com/a/30362942/1983389 gefunden

Es scheint , die korrekteste und die meisten unterstützten Lösung für alle Web - Crawler so etwas wie die folgenden (die den Zugang zu ist *.cssund *.jsDateien in den /bin, /cache, /installation, /language, /logs, und /tmpOrdner und möglicherweise wenig Sinn , einige der anderen Ordner macht):

User-agent: *
Allow: /administrator/*.css
Allow: /administrator/*.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Allow: /cli/*.css
Allow: /cli/*.js
Disallow: /cli/
Allow: /components/*.css
Allow: /components/*.js
Disallow: /components/
Allow: /includes/*.css
Allow: /includes/*.js
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Allow: /layouts/*.css
Allow: /layouts/*.js
Disallow: /layouts/
Allow: /libraries/*.css
Allow: /libraries/*.js
Disallow: /libraries/
Disallow: /logs/
Allow: /modules/*.css
Allow: /modules/*.js
Disallow: /modules/
Allow: /plugins/*.css
Allow: /plugins/*.js
Disallow: /plugins/
Disallow: /tmp/
Neil Robertson
quelle
2
Auf diese Weise kann Googlebot alles crawlen , was sich deutlich von der ursprünglichen robots.txt-Datei unterscheidet. Ist das die Absicht? (Dies ist jedoch das gleiche wie einfach Disallow:unter die User-agent: GooglebotGruppe aufzunehmen, was besser lesbar wäre.)
MrWhite
Ja, Google soll Zugriff auf alle CSS- und JS-Dateien auf der Website erhalten.
Neil Robertson
2
Nicht nur CSS- und JS-Dateien, sondern alle Dateien auf der Website. (?)
MrWhite
1
w3dk ist richtig. Wenn Sie einen speziellen Abschnitt für Googlebot hinzufügen, müssen Sie alle vorhandenen Regeln in diesem Abschnitt duplizieren. Ihre vorgeschlagene robots.txt-Datei würde es Googlebot ermöglichen, zu crawlen, /logs/während andere Bots dies verhindern.
Stephen Ostermiller