トイレのうず

CSSおよびJSファイルにGooglebotがアクセスできません

当記事はアフィリエイト広告を掲載しています。

Google からこんなメールが届きました。

CSS および JS ファイルに Googlebot がアクセスできません

Google Search Console
http://www.1010uzu.com/ の CSS および JS ファイルに Googlebot がアクセスできません

http://www.1010uzu.com/ のウェブマスター様

Google のアルゴリズムによるコンテンツのレンダリングとインデックス登録に影響を及ぼす問題が貴サイトで発生していることが Google のシステムにより判明しました。具体的には、 robots.txt ファイルでの制限のために Googlebot が JavaScript や CSS ファイルにアクセスできません。 Google では、これらのファイルによりウェブサイトが正常に機能していることを認識するため、これらのアセットへのアクセスをブロックすると検索結果における掲載順位が本来よりも低くなる可能性があります。

Google bot が JavaScript や CSS にアクセスできないから修正しろ、というメールです。面倒だな、と思いつつも最近 Google からの訪問者が減っているので対応しなければなりません。

手順通り Fetch as Google でどんなふうに Google に認識されているのか確認。

Fetch as Google
Googlebot の取得状況

以下の 3 つのファイルが取得できない模様。

http://www.1010uzu.com/wp/wp-content/themes/1010uzu/style.css
http://pagead2.googlesyndication.com/pagead/show_ads.js
http://www.1010uzu.com/wp/wp-includes/js/wp-emoji-release.min.js?ver=4.2.2

robots.txt の修正

「 http://www.1010uzu.com/wp/wp-content/themes/1010uzu/style.css 」はスタイルシートです。これが取得できない理由は robots.txt で制限をかけているからのようです。そういえば昔 WordPress のコアファイルをクロールしないように記述を加えたような覚えがあります。というわけで、 5 〜 6 行目を追加してテーマ内とプラグインの CSS にアクセスできるようにしました。

User-Agent: *
Disallow: /wp
Allow: /
Allow: /wp/wp-content/uploads
Allow: /wp/wp-content/themes
Allow: /wp/wp-content/plugins
Disallow:/boyaki/20\d{2}/\d{2}/comment-\d+$
Disallow:/boyaki/20\d{4}-\d{8}.html/feed$
Disallow:/page

Sitemap: http://www.1010uzu.com/sitemap.xml

WordPress の絵文字機能を無効化

「 http://www.1010uzu.com/wp/wp-includes/js/wp-emoji-release.min.js?ver=4.2.2 」も同じように、 robots.txt で許可してあげればよいのですが、ファイル名の「 emoji 」が気になります。調べてみると、 WordPress 4.2 からは絵文字が使えるようになったみたいです。そのコードがダラダラとヘッダーに出力している模様。絵文字なんて使わないので、機能を殺し無効化します。
→大輔べ: WordPress で絵文字は使わないので head 内に挿入されるコードを無効化した

functions.php に下記コードを追加します。

/***********************
 * 絵文字用のコードを無効化するコード
 ***********************/
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('wp_print_styles', 'print_emoji_styles' );
remove_action('admin_print_styles', 'print_emoji_styles');

これでダラダラと出力されていた絵文字関連のコードがヘッダーから消えました。

Google AdSense のコードを非同期に書き換え

「 http://pagead2.googlesyndication.com/pagead/show_ads.js 」がなんのファイルがわからなかったのですが、これはどうやら Google AdSense のコードみたいです。
→ぼくらのアドセンスブログ: AdSense の広告コードに非同期バージョンが登場

同期の古いコードのようなので、非同期のものに差し替えました。

Google AdSense の非同期コード

しかし書き換えたら今度は「 http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js 」が取得できないといわれました。同じ Google 内なのですから、どうにかしてほしいですね。

対策後の Fetch as Google

というわけで、対策後の Fetch as Google 。 Google AdSense は認識されていませんが、かなり改善されました。

Fetch as Google でほぼ同じように表示されるようになった

関連記事

Google サイトマップ対策プラグインを入れてみた
WordPress
thumbnail
WordPress for iOS が「同期できませんでした」というエラーを吐く
WordPressiPhone
WordPress for iOS エラー「同期できませんでした」
Google Analytics Top Content Widget の人気記事アクセスランキングが更新されない
WordPress
人気記事ランキングが更新されない
WordPress に WT 形式のファイルがインポートできない
WordPress
thumbnail
MAMP 上の WordPress でページ遷移ができない
WordPress
CSSが適用されない
WordPress 2.8 の自動アップデートに失敗するとサーバー内のファイルが全部消去されるらしい
WordPress
thumbnail