【SearchConsole】admin-ajaxがブロックされた!対策してみた

先日、SearchConsoleの「ブロックされたリソース」項目を確認していたところ、190件以上のブロックされたリソースが表示されていました。

 

Googleがサイトを読み込めないときに発生するらしいのですが、大量のエラーが突然きてびっくり。

確認してみると、どうやら「admin-ajax」がブロックされているようなので対策してみました。

はじめに

 

ブロックされたリソースとは、サイト内で使っているコードがGoogleから認識できないというもののようです。

 

Point
ブロックされたリソースはGoogleがコードを認識できていないときに警告される

 

Googleに認識されないと、Googleから見たサイトと自分が見たサイトのレイアウトが変わってしまう可能性があり、サイトを運営する上で放置できないものだと思います。

 

もしかしたらコンテンツが少なく認識されてるかも

 

それだと困るので、ブロックされたリソースを許可することで対応しました。

 

ブロックされたリソース

 

すでにSearch Consoleに登録している方は、Search Console >Google インデックス > ブロックされたリソースを確認してみてください。

ブロックされた項目がある場合は以下のように、サイトのURLが表示されていると思います。

 

追記
現在、SearchConsoleは新しいデザインになりました

 

スクリーンショット 2016-04-28 10.38.18

 

ここに表示されてしまっている場合は、クリックしてみてください。

どのような項目がブロックされているのか確認することができます。

 

私の場合は、すべて「admin-ajax.php」がブロックされていたので、このブロックを解除することでブロックされたリソースの数を減らすことができるはずです。

ではブロックされたコードを許可していきましょう。

 

リソースを許可する

 

ブロックされたリソースに表示されたコードを許可する時は「Search Console」の「robots.txt」という項目を編集します。

関係ない箇所を書き換えてしまうと、不具合が出てしまうので編集する際には注意してください。

 

 

こちらの記事で、WordPress上からrobots.txtを編集する方法を紹介しています。

プラグインを使うことになるのですが、robots.txtの編集方法がわからない方は参考にしてみてください。

 

私の場合、robots.txtにはこのように記述していました。

Point
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/customize.php
Allow: /wp-includes/js/

 

少し書き換えてあるので、デフォルトの状態と変わっていると思います。

 

デフォルト:

User-agent: * Disallow: /wp-admin/

 

この中に「Disallow: /wp-admin/」と書かれていますよね。

Disallowというのは許可しないという意味なので、「wp-admin」を許可しないと「wp-admin/admin-ajax」という配置になっている「admin-ajax」もブロックされてしまいます。

 

ですが、wp-admin全体を許可する必要はありません。

そのような時にどのような記述をすれば良いか紹介します。

 

以下のように編集してみてください。

 

Point
User-agent: * Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Allow: /wp-admin/customize.php
Allow: /wp-includes/js/

 

すでに保存されているrobots.txtの中に「Allow: /wp-admin/admin-ajax.php」を追加しましょう。

このようにするだけで、admin-ajax.phpを許可できるようになりました。

 

Allow は許可するっていう意味だね!

 

編集が完了したら、ブロックされたリソースを含むページからrobots.txtテスターを選択してください。

 

スクリーンショット 2016-04-28 11.16.25

 

robots.txtウィンドウが開かれて、以下のように表示されていればブロックされたリソースの許可ができています。

 

スクリーンショット 2016-04-28 11.19.58

 

Point
チェックマークが付けばOK!

 

あとはブロックされたリソースがなくなれば全て完了です。

 

追記

コメントにて質問いただきました。ブロックされたリソースの対策をrobots.txtに記述した後、すべての記事に対してrobots.txtの送信ボタンを入力する必要はありません。

robots.txtの欄に編集した「Allow: /wp-admin/admin-ajax.php」という内容が反映されていれば大丈夫です。

 

 

ブロックされたリソースを確認する

 

ブロックされたリソースの数が全て無くなるまでには時間がかかります。

robots.txtを編集してもすぐにエラーの数がなくなるわけではなく、数日から数週間、もしかしたら数ヶ月かかる可能性があります。

 

私の場合も約20日経ちましたが、全てのエラーは無くなってはいません。

190件近くあったエラーは現在39件まで減少しています。

 

スクリーンショット 2016-04-28 11.31.12

 

少しずつ数が減っていくと思いますので、気長に待ってみましょう。

 

追記

2016/05/23追記:本日確認したところ、2016/05/21にブロックされたリソースの数は無事全てなくなっていました。

 

 

このグラフを見ても分かる通り、少しずつ減っていっていますね。

ブロックされたリソースの数が減り始めてから「1ヶ月と12日」かかりましたので、やはり気長に待つしかなさそうです。

 

まとめ

 

今回の方法を使うことで、Search Console内のブロックされたリソース対策を行うことができました。

admin-ajax以外のコードがブロックされてしまっている場合は今回の方法だけで対策出来ないですが、ブロックされてしまわないように定期的にSearch Consoleを確認しましょう。

 

 

ではまた。

過去にレビューしたアイテム