本日、ウェブマスターツールから「GooglebotはCSSおよびJSファイルにアクセスできません」という電子メールを受け取りました。だから私は私のサーバーのルートにある私のrobots.txtファイルを更新することに着手した。
元のコンテンツ:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/ #<--CAUSE OF THE PROBLEM
Sitemap: http://example.com/sitemapindex.xml
ファイルから「Disallow:/ wp-content/themes /」という行を削除してファイルを再アップロードしましたが、ブラウザで新しいファイルを表示しても何も変わっていません。
1)ルートから.txtファイルを削除しました
2)キャッシュをクリアしました(W3 Total Cache)
それでもrobots.txtは私のブラウザで見ることができました。これは、ファイルが事実上正しく生成されているということを意味するにすぎませんか。キャッシングが行われていないことを確認するために、私は別のブラウザで表示することさえしました。
何度調べても、robots.txtが更新されないのはなぜなのか、それがどこから生成されているのかという答えが見つかりませんでした。
ここで誰が何が起こっているのかについて何かアイデアを持っていますか?
私が使用するいくつかのプラグイン:
1) Better WordPress Google XML Sitemaps
2) W3 Total Cache
3) Yoast SEO
どうぞよろしくお願いします。
通常、ディスクにWordPressファイルがある場合は、WordPressが関与する前に、まずApacheまたはNginxによって直接提供されます。
これはあなたのvirtualhost設定で行われます。 Nginxでは通常、次のようになります。これは、index.phpにURLを処理させ、必要に応じてページを生成させる前に、実際のファイルを最初に試すように指示します。
location / {
index index.php index.html;
try_files $uri $uri/ /index.php?$args;
}
そのため、robots.txtが無視されている場合は、Webサーバーの設定に問題がある可能性があります。
私はちょうどあなたが15のテーマであなたが言及したそれらの3つのプラグインを試してみました、そして、すべてはうまくいっていました。 Yoast SEOでは、管理ページからrobots.txtを編集できます(SEO> Tools> File Editorに移動します)。
robots.txt
ファイルが見つからない場合、またはコントロールがWordPressに渡された場合、デフォルトの出力は次のとおりです。
User-agent: *
Disallow: /wp-admin/
これがどのように機能するかについてはwp-includes/functions.php
を参照してください。ただし、コアファイルを編集しないでください。
これはアクションやフィルタを使ってカスタマイズできます。たとえば、BWPサイトマッププラグインはSitemap:
行を追加します。
do_robots
やdo_robotstxt
にフックしているプラグイン(あるいはあなたのテーマの中の何か)が見つからない場合、これはおそらく仕事をするあなたのテーマのfunctions.php
ファイルのためのハックです:
/**
* Remove unwanted 'themes' from robots.txt with find/replace
* @param string $input original robots.txt content
*
* @return string mixed
*/
function patch_robots_file( $input ) {
return str_replace( 'Disallow: /wp-content/themes/', '', $input );
}
add_filter( 'robots_txt', 'patch_robots_file' );