ぼやき

0

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でほぼ同じように表示されるようになった

関連記事