最終更新日:
順位下落要因!ブロックされたリソースのadmin-ajax.phpに対処する方法
Contents
アクセスダウンの原因は、「ブロックされたリソース」?
最近サブディレクトリのサイトのアクセス数が減ってきていたので、Googleアナリティクスでちょっと調べてみたところ、このような感じでアクセス減していることが判明。
まあ、比較している3月10日~3月16日の週が特に調子が良かったのかもしれませんが、
そもそもあんまりアクセス数がない所に持ってきてのPV15%・約500PV減/週は手痛いところです(°∀°;)
また何か起こってるのかもしれないといろいろと調べてみたところ、サーチコンソールの「ブロックされたリソース」に、
http://hublog.biz/bwpb/wp-admin/admin-ajax.php
というものがブロックされているとの表示がされていました。
えっ! wp-admin の robots.txt の記述は”Disallow”で良かったんじゃなかったの?
今まで、wp-adminに間してはrobots.txtでDisallowが定石、と思っており、以下のように記述していました。
確かにこれだと、/wp-admin を ”Disallow” している時点で、そのディレクトリ内にある、/wp-admin/admin-ajax.php もブロックしてしまいます。
ええっ!どういうこと?と調べてみたところ、以下のようなページを発見しました。
Allow admin-ajax crawling・WordPress.ORG
https://core.trac.wordpress.org/ticket/33156
このページによると、
意訳:プラグインは、フロントエンドのadmin-ajax.phpを使用していますので、
Allow: /admin/admin-ajax.php
を追記しましょう。
ははあ、なるほど、ですね。
上記ページ内のコメントを見ていくと、
「WordPressのテーマやプラグインのどれかがこのphp経由でCSSを呼び出す、などのことを指定している場合がある」
といったコメントも見受けられます。
Googleがページを正確にインデックスするために js や css をクロールするようになったので、jsやcssにアクセスできるようにして下さい、と以前、Googleからアナウンスがありましたね。
ということであれば、確かにこの admin-ajax.php をブロックしてしまうと、そのCSSも呼び出せなくなるので、ページの表示に支障が出ます。
納得したところで、/wp-admin/admin-ajax.php をAllowに変更。
以下のように追記しました。
Allow: /bwpb/wp-admin/admin-ajax.php
あ、もちろんルートディレクトリの方も同様に
Allow: /wp-admin/admin-ajax.php
と追記をしました。
今のところ、ルートディレクトリの方はブロックされたリソースにはなっていませんが、今後どのテーマやプラグインが/wp-admin/admin-ajax.phpを利用するのかはわからないので、Allow にしておいた方が安全だと思います。
さて、これで対処できているはずです。
その後、16あるうちの12をFetch as GoogleでFetchしました。
※ブロックされたリソースページから、Fetchする方法については以下のページを見てください。
「ブロックされたリソースの発生源がFacebookページプラグインだった件」
何故中途半端に11件かというと、途中で「Youはロボットではないでしょうね?認証」が厳しくなってきて、食べ物だの、標識だのの画像をクリックしろと頻繁に表示されるようになってしまったため、です。(^^ゞ
そして後日。
見事にFetchしていない分だけ残ってます(笑)
アクセスは?というと、まだ回復していません・・・(^^ゞ
WordPressサイトのrobots.txtについては別の記事「WordPressサイトのrobots.txtについてのまとめ!」で書いていますが、
Googleの仕様変更の度に変更を加える必要があるのなら、いっそのこと、robots.txtはシンプルに、
Allow: /wp-admin/admin-ajax.php
だけにしておくか、全てAllowにして、botの判断に委ねるのが賢明かもしれませんね・・・^^;
robots.txtのアップロードの方法
robots.txtは、FTPでルートディレクトリにアップします。
特に何も設定していない場合は、FTPソフトでディレクトリ内を探しても見つかりません。
でも、http://example.com/robots.txt といったアドレスをブラウザのアドレス欄に入力するとrobots.txt が表示されます。
これは、WordPressの仮想robots.txtが出力されている状態です。
WordPressをルートディレクトリにインストールしている場合、または、サブディレクトリにインストールしてルート表示にさせている場合は、特に robots.txt をFTP経由でアップしなくてもこのWordPress仮想robots.txtが出力されるようになっています。
この仮想robots.txtは、管理画面の設定 → 表示設定でインデックスを許可
している場合は、
Disallow: /wp/wp-admin/
Disallow: /wp/wp-includes/
となっています。
ちなみに、していない場合は、
Disallow: /
となっています。
仮想robots.txtはadminをブロックしていますので、今回のようなことを回避するには、FTPソフトからrobots.txtをアップしておく必要があります。
アップするのは、ルート直下になります。
サブディレクトリなどにアップしても無効になります。
サーバーによって、robots.txtのアップする場所が指定されていると思いますので、ご自分のサーバーのマニュアルをチェックしてみてください。
ちなみにエックスサーバーは以下の画像のように、ルート直下のpublic.htmlディレクトリ内にアップします。
あ、サイトマップの記述は必要です。忘れないで下さい(^^ゞ
サイトマップを追記した場合のサイトマップは以下のようになります。
Allow: /wp-admin/admin-ajax.php
Sitemap: http://example.com/sitemap.xml
ではでは、今日はこの辺で。
お役に立ちましたら、シェアなどしていただけるとうれしいです!(^^)