サーチコンソールの「アクセス禁止(403)が原因でブロックされました」への対処法

サーチコンソールの「アクセス禁止(403)が原因でブロックされました」への対処法

サーチコンソールで「アクセス禁止(403)が原因でブロックされました」が発生する原因は様々です。このエラーは、Googlebotがページやファイルをクロールしようとした際に、サーバーから「アクセス禁止」(HTTP 403エラー)の応答を受けたことを意味します。

今回は、URL「admin-ajax.php?action=rest-nonce」でエラーが発生したケースで、原因と対処法を備忘録としてまとめておきます。

エラー対象のページの確認

サーチコンソールの「ページ」>「ページがインデックスに登録されなかった理由」セクションの「アクセス禁止(403)が原因でブロックされました」の行をクリックすると、ブロックされたURLが分かります。

今回は、URL「admin-ajax.php?action=rest-nonce」でした。admin-ajax.phpは、フォーム送信やコメント更新など動的コンテンツに使用されています。ホームページのページではないので、本来はインデックス登録の対象外です。

ブロックされた原因

ブロックされた原因は、以下が考えられます。

キャッシュプラグインの影響

プラグイン「WP Rocket」や「W3 Total Cache」がadmin-ajax.phpをキャッシュし、期限切れのnonceが403エラーを引き起こした。

セキュリティプラグインの影響

プラグイン「Wordfence」や「iThemes Security」がGooglebotを誤ってブロックしてしまった。

サーバー側の設定

ModSecurityやCloudflareのBot保護がGooglebotを制限した。

robots.txtの設定

フォルダ「wp-admin」がブロックされていて、admin-ajax.phpが許可されていない。

対策は必要か?

「admin-ajax.php?action=rest-nonce」はインデックス不要な管理用リソースのため、単独での403エラーはSEOに直接影響しません。ただし、動的機能(例:フォーム送信、コメント更新など)が動作しない場合、影響が出てしまいます。以下の手順で確認・対策してみて下さい。

参照元URLの確認

サーチコンソールの「URL検査ツール」で「admin-ajax.php?action=rest-nonce」を検索し、「参照元URL」を確認して下さい。参照元が公開ページ(例:ブログ投稿、固定ページ)で、インデックス登録が必要な場合、そのページが403エラーでブロックされていないか確認して下さい。ブロックされている場合、以下の手順で確認、対策して下さい。

キャッシュプラグインを使用している場合、キャッシュの設定の修正

プラグイン「WP Rocket」の場合、「Advanced Rules」の「Never Cache URL(s)」欄に以下を追加して下さい。
/wp-admin/admin-ajax.php*
/wp-json/*

プラグイン「Cloudflare」の場合、ページルールで/wp-admin/*をキャッシュから除外して下さい。

セキュリティ設定の確認

プラグイン「Wordfence」の場合、Googlebotをホワイトリストに追加して下さい。

サーバー側の、ModSecurityやファイアウォール設定を確認して下さい。

robots.txtの設定

以下をrobots.txtに追加して下さい。
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

動的機能のテスト

フォーム送信やコメント更新など動的機能が正しく動作するか確認して下さい。問題がある場合、プラグインを一時無効化して原因を特定すると良いでしょう。

インデックス状況の確認

参照元URLがインデックス登録されていない場合、サーチコンソールで「URL検査」→「インデックス登録をリクエスト」を実行してみて下さい。

まとめ

「admin-ajax.php?action=rest-nonce」の403エラーは通常無視ですが、参照元URLが公開ページでインデックスが必要な場合、キャッシュやセキュリティ設定の見直しなどが必要になります。

サーチコンソールの「検出 – インデックス未登録」への対処法

「検出 – インデックス未登録」とは何?

サーチコンソールでは、ページがインデックス登録されなかった理由が表示されますが、その中のひとつ「検出 – インデックス未登録」について見ていきたいと思います。

「検出 – インデックス未登録」とは、「これらのページはインデックス登録されていないか、Google で配信されません」という状態のことです。つまり、googleがそのページの存在は知っているけど、クロールしていない、後回しにされている状態です。

この「検出 – インデックス未登録」のページが少ない場合は問題ないことが多いですが、ブログを投稿してもいつまで経ってもインデックス登録されず、「検出 – インデックス未登録」のままであったり、「検出 – インデックス未登録」のページ数が多い場合は、問題となります。

クロールが後回しにされる原因とは?

それでは、クロールが後回しにされてしまう原因は何でしょうか?

Googleによるホームページの評価が下がると、クロールが後回しにされるようです。

ホームページ全体の評価が下がる原因は様々ですが、よくある原因として、ホームページ全体の文章が少なかったり、ページ数が少なかったり、更新頻度が低いとホームページ全体の評価が下がる傾向があるようです。

対策

「検出 – インデックス未登録」を解決するためには、クロールが後回しにされる理由(ホームページの評価が下がる原因)を解消する必要があります。

ホームページ全体のボリュームが少なかった場合には、文章量を増やしたり、ページ数を増やしましょう。

そうした対策をした上で、クロールが後回しにされたページごとに、Googleへ「インデックス登録をリクエスト」すると良いです。

「インデックス登録をリクエスト」する手順は、以下になります。

検出 – インデックス未登録のリスト

「ページがインデックスに登録されなかった理由」の「検出 – インデックス未登録」をクリックすると、対象のページが一覧表示されますが、インデックス登録したいページの虫眼鏡マークをクリックしてください。

インデックス登録をリクエスト

「インデックス登録をリクエスト」リンクをクリックしてください。

インデックス登録をリクエストすることで、Googleがクロールしてインデックス登録してくれることがあります。(インデックス登録される価値のあるページでしたら、通常はインデックス登録されます)

「インデックス登録をリクエスト」後、すぐにはインデックス登録されませんが、翌日にはインデックス登録されていることが多いので、確認してみてください。(何日かかかることもあります。)

サーチコンソールで動画データのエラー「項目「description」がありません」

「動画の構造化データの問題が検出されました」「項目「description」がありません」エラーが発生

サーチコンソールで問題が検出されると、Googleアカウントにメールが届きます。
サーチコンソールの画面上(「インデックス」>「ページ」)でもエラーは確認できます。

「動画の構造化データの問題が検出されました」とのことですので、まず、エラーが発生した動画はどれかを確認してください。

エラーの原因

エラーメッセージに「項目「description」がありません」とある場合、動画の説明文がないためにエラーとなっています。ホームページではなく、動画の方にエラーの原因があります。

対策

動画の方で説明文を記述してください。その後、サーチコンソールの「修正を検証」ボタンを押して、Googleに修正したことを報告すると、Google側で修正されたかを検証してくれます。

その後、Googleから問題が修正された旨のメールが届けば解決になります。

サーチコンソールのエラー「ページにリダイレクトがあります」

「ページにリダイレクトがあります」エラーが発生

サーチコンソールで問題が検出されると、Googleアカウントにメールが届きます。
サーチコンソールの画面上(「インデックス」>「ページ」)でもエラーは確認できます。

ページにリダイレクトがありますのエラー

まずは、詳細を見てエラーが発生したURLを確認し、リダイレクトの心当たりがあるか確認してください。

エラーの原因:wwwありからwwwなしへのリダイレクト

エラーの原因が、wwwありからwwwなしへのリダイレクトである場合、エラーは無視して大丈夫です。最近は、レンタルサーバー上で簡単にwwwありからwwwなしへのリダイレクトが簡単にできるようになったため、あまり意識していない方もいるかもしれません。このリダイレクトの設定にしないと、wwwありのURLとなしのURLで別々のURLとgoogleに判断され、ドメインのパワーが分散されてしまいます。

エラーの原因:wordpressの自動補完機能によるリダイレクト

サーチコンソールの画面でエラーとなったURLを確認すると、過去に変更したURL(変更前のURL)であることがあります。そして、その変更前のURLでアクセスすると、自動で変更後のURLにリダイレクトされます。

これはwordpressの自動補完機能により、変更前の古いURLでアクセスされると、変更後のURLへ自動でリダイレクトされるためです。この場合も、エラーは無視して大丈夫です。

ただ、ページの内容がURL変更前と異なる等リダイレクトされると困る場合、コードを変更することにより、このwordpressの自動補完機能を停止できるようです。

以下のwordpressサポートページが参考になります。

https://ja.wordpress.org/support/topic/%E8%A8%98%E4%BA%8Burl%E5%A4%89%E6%9B%B4%E5%BE%8C%E3%81%AB%E5%8B%9D%E6%89%8B%E3%81%AB%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88%E3%81%95%E3%82%8C%E3%82%8B%E5%95%8F%E9%A1%8C/