公開日: 更新日:

WordPress「CSS および JS ファイルに Googlebot がアクセスできません」の対処・対策方法

運用しているWordPresssサイトについてGooglのサーチコンソール(旧Webmasterツール)より、以下の通知が飛んできました。黙って放置すると、SEO上のぞましくないらしく検索結果に反映されるとの事。いざ対策しましょう!

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

修正方法

  1. 「ブロックされているリソースを特定する「Fetch as Google」機能を使用して、robots.txt のディレクティブがブロックしているリソースを特定します。
  2. 「robots.txt ファイルを更新するサイトの CSS や JavaScript ファイルの制限を robots.txt のディレクティブから削除し、robots.txt テスターで変更をテストします。次に、変更した robots.txt ファイルをサイトで更新し、そのファイルを Search Console に送信します。
  3. 「Fetch as Google」を使用して修正を検証する[モバイル: スマートフォン] オプションを選択して、ページを取得してレンダリングし、スマートフォン用の Googlebot が正常にコンテンツをレンダリングすることを再度チェックします。

robots.txtテスターでの出力はたしかにブロックしている

まずはブロックしているリソースの特定。

方法はGoogleより通知があった通り、サーチコンソール上にアクセスし、robots.txt テスターからrobots.txtを確認。ツール上ではたしかにwp-admin,wp-includesのディレクトリーをブロック(Disallow)している様子。

 

robots.txtファイルは存在しないはず

んー。そんな設定をしたはずはない。そもそもrobots.txt自体を、このサイト用に作成した覚えがない。。

念の為、実URL(http://ドメイン名/robots.txt)をたたくと、robots.txtが表示され、確かにrobots.txt テスター上で表示される通りDisallowの記述がある。

疑い深い私はFTPアクセスし、直接Webサーバーを確認するものの、やっぱりrobots.txtファイルが無い!

WordPressが仮想robots.txtを自動生成に生成している

実ディレクトリーにrobots.txtが存在しない状態でも、WordPressはrobots.txtを自動的に生成してくれる。これを「仮想robots.txt(virtual robots.txt)」と呼ぶらしい。

仮想robots.txtのカスタマイズ方法は「コードリファレンス(Do_robots())」に示してあります。

function do_robots() {
    header( 'Content-Type: text/plain; charset=utf-8' );

    do_action( 'do_robotstxt' );

    $output = "User-agent: *\n";
    $public = get_option( 'blog_public' );
    if ( '0' == $public ) {
        $output .= "Disallow: /\n";
    } else {
        $site_url = parse_url( site_url() );
        $path = ( !empty( $site_url['path'] ) ) ? $site_url['path'] : '';
        $output .= "Disallow: $path/wp-admin/\n";
    }

    echo apply_filters( 'robots_txt', $output, $public );
}

13行目の「$output」を変更、またはこの後に必要な記述を追加する必要がありますね。

Functions.phpのカスタマイズが困難な場合の対応

「上記の記述方法が技術的に困難だ」といった場合は、テキストファイルでrobots.txtファイルを生成し、必要な記述を行いFTPでルートディレクトリーにアップロードする。

実は仮想robots.txtより、お手製のrobots.txtが優先されるんですね。

スマートではないものの、非常に簡単明快な方法かつ確実です。


人気記事 初心者でも可能なSEO対策って何?


人気記事 【ゼロから始める】副業ブログで月5万円を稼ぐ!当社スタッフが試してみた方法と成果を公表


この記事を書いた人
うくさ

うくさ IT業界歴18年です。当カスタマイズネット所属エンジニア。
ワードプレス、シスコシステムズ社製ネットワーク機器担当。


この記事の関連記事



新着コラム