web-dev-qa-db-ja.com

GoogleがCSSとJavaScriptのクロールについて発表した後、Joomla robots.txtを変更する必要がありますか?

Googleからのお知らせに遭遇しました: http://googlewebmastercentral.blogspot.in/2014/10/updating-our-technical-webmaster.html

状態:

最適なレンダリングとインデックス作成のために、新しいガイドラインでは、ページで使用するJavaScript、CSS、および画像ファイルへのGooglebotのアクセスを許可するように指定しています。これにより、サイトに最適なレンダリングとインデックスが提供されます。サイトのrobots.txtでJavascriptまたはCSSファイルのクロールを許可しないと、アルゴリズムがコンテンツを適切にレンダリングおよびインデックス化し、ランキングが最適化されない可能性があります。

デフォルトでは、Joomlaのrobots.txtファイルには次が許可されていません。

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/

Googleの発表に基づいてrobots.txtファイルから以下の項目を削除しますか?

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

これは、Joomlaベースのサイトの発表に従って推奨されているものですか?

8
Gag

正直なところ、robots.txtからすべてを削除した方が良いでしょう。私が見る限り、JoomlaのすべてのPHPファイルには次の行が含まれています。

defined('_JEXEC') or die;

つまり、ブラウザにPHPファイルを直接ロードすると、空のファイルだけが得られ、検索エンジンはそれを無視します。 (これらを直接リンクしない限り、とにかくこれらに出くわすことはありません。)

これらのディレクトリの一部をブロックしたままにすることの問題は、一部のコンポーネントおよびモジュールが、CSS/JSファイルを優先メディアまたは画像フォルダではなく、それぞれのディレクトリ内に保持することです。

したがって、GoogleのJoomlaファイルをブロックする理由はありません。

3
DisgruntledGoat

全体的な使用/不足は別として、よく管理されたJoomlaサイトでのrobots.txtの「良い」サードパーティの拡張機能— CSS、JS、または画像を含むべき場所は次のとおりです。

/images
/media
/templates

そしてもちろんそのサブディレクトリ

したがって、robots.txtからそれらを削除するだけで済みます。

2
Craig

Joomla 3.3では、これらの行はrobots.txtファイルから削除されました。

Disallow: /templates/
Disallow: /media/

詳細はこちら: http://www.energizethemes.com/blog/joomla/have-you-updated-the-joomla-robots-txt-file.html

2
Michel

Joomlaの最新バージョンは、/media/および/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/

すべての拡張機能がCSSやJSファイルなどを配置する場所のガイドラインに準拠しているわけではありません。そのため、適切な回避策は、Googleがそれらのファイルの場所に関係なくアクセスできるようにすることです。

これを実現するには、次のようにrobots.txtファイルの先頭に数行を挿入します。

#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/

編集:

フィードバックをありがとう@ w3dkと@Stephen Ostermiller!たしかにそれは正しいね。このようなことをする方が良いです:

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/

残念ながら、これは意図したとおりに機能しないようです。これは、より長い(より具体的な)ルールがより短いルールをオーバーライドし、許可行が無視されるためです。許可行が許可されていない行に続くか、その逆の場合でも、違いはないようです。

私がこれを回避できるように見える唯一の方法は、ウェブマスターツールでテストするときに動作するように見えるこのようなことをすることです:

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-ベストソリューション:

OK、だから私はもう少し研究をして、答えを見つけました https://stackoverflow.com/a/30362942/1983389

すべてのWebクローラーで最も正確で最もサポートされているソリューションは、次のようなものです(*.css*.js/bin/cache/installation、および/languageフォルダー、および場合によっては他のフォルダーの/logsおよび/tmpファイルへのアクセスを許可します)センス):

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/
1
Neil Robertson

WMTでGoogleとして取得するときにページがエラーなしで表示される場合は、おそらく大丈夫です。ただし、将来的には、Webサイトの一部のコンテンツをアップグレードする可能性があり、ブロックされたフォルダーの一部からスクリプト/ CSSが必要になります。したがって、CSS/JavaScriptを含むこれらすべてのフォルダーを検索エンジンがクロールできるようにする方が良いと思います。

1
Bojan Miljevic