開発

ブログの記事がインデックス登録されても実際にキーワードを入れてみると表示されない問題について

更新日:

せっかくブログの記事を上げても検索されなければ何の意味もありません。

そこで以前にブログの記事がGoogleにインデックス登録されない場合、Search Consoleを使って登録する方法を書きました。

ブログ記事が検索エンジンに表示されない場合の対処法。「site:」コマンドで確認してGoogle Search Consoleにリクエストを送信しよう

アドレスバーに「site:」コマンドを使ってパーマリンクのアドレスを入れて出てこなければSearch Consoleから「インデックス登録をリクエスト」することで検索されるようになります。

ところが、「site:」コマンドの結果には正しく表示されても実際にキーワードを入れて検索してみると検索結果に記事が表示されないというページが存在することが発覚。

最初は検索結果の下位に沈んでいるだけかと思ったら、最終ページまで見てもキーワードを増やしても検索結果に出てくることはありませんでした。

再度Search Consoleから「インデックス登録をリクエスト」をしてみると、検索結果に表示されるようになったページと相変わらず出てこないページがあります。

Googleに低品質なページと判断されると「クロール済み - インデックス未登録」という状態になります。この可能性が高いように思いましたが、除外されたページは特別文字数が少なかったり、画像を使っていないということもありません。

それに今回は今まで正常に検索されていたページの多くが突然除外されていました。

この件についておこなった対策を記載していきます。

Search Consoleのエラーを解消

Google XML Sitemapsの設定

Search Consoleのメッセージに「サイト http://workerblog.info/ で「カバレッジ」の問題が新たに 検出されました」という気になる表示が出ていました。これが原因かどうかは分かりませんが、何かしらのトラブルが発生していることは確かです。

カバレッジの問題

内容を見てみると「送信された URL に noindex タグが追加されています」とのこと。

noindexタグなんてどこにも入れた覚えはないし、わざわざ検索エンジンから外そうなんてことするはずがありません。

そこで何ページがソースを検索してみたけど、noindexタグは見つからない。

WordPressの「設定」→「表示設定」の中の「検索エンジンでの表示」から「検索エンジンがサイトをインデックスしないようにする」を見てもチェックはついてないです。

検索エンジンがサイトをインデックスしないようにする

今まではそんな表示出てなかったのでドメイン変更やパーマリンクのアドレスを日本語から英語にした時に入れたプラグインが怪しい。ところが何度確認しても特にそういった設定項目は見当たりませんでした。

もう一度よく見てみると、どうやらsitemap.htmlに原因があるらしい。

noindexタグ

サイトマップを自動で生成してくれるプラグイン「Google XML Sitemaps」は結構前に入れたはずですけど、なぜかだいぶ経ってから問題が検出されたようです。

そこで「設定」→「XML-Sitemap」から設定を見てみると、「基本的な設定」の中の「HTML形式でのサイトマップを含める」の部分がSearch ConsoleのURLとも一致するし、原因である可能性がかなり高そうです。

HTML形式でのサイトマップを含める

このチェックを外すことで無事問題が解決…となるはずでしたが、再度クロールされた結果を見てもエラーは相変わらず表示されたままでした。

Google XML Sitemapsの仕様変更

ネットで調べてみると同じような状況になっている人が多いことが判明。

どうやら「Google XML Sitemaps」はバージョン4に上がってから動的にサイトマップを生成するようになり、このタイミングで問題が発生しています。試しにバージョンを確認してみると4.1.0でした。

対策として紹介されていたサイトマップのアドレスを「index.php?xml_sitemap=params=」に変更するという方法がありますが、WordPressの「設定」→「パーマリンク設定」を「投稿名」にしている場合は「sitemap.xml」になるので関係ありません。

そうなると「Google XML Sitemaps」をあきらめて「All in One SEO Pack」などの別のプライグインに変更するという手も考えられます。しかしこれもあまり上手くいっていないとの報告があります。

また、「Google XML Sitemaps」のバージョンを下げるという対策もありましたけど、最新のSEOに対応しているのは間違いなく今のバージョンなのであまり得策とは思えません。

最終的に「Google XML Sitemaps」のファイルを直接書き換えるという方法でエラーが出なくなりました。

WordPressがインストールされているフォルダ/wp-content/plugins/google-sitemap-generator/sitemap.xsl

このファイルをFTPソフトなどを使って編集し、ソース内の12行目

<meta name="robots" content="noindex,follow" />

と記述された行を削除します。いくらソースを見ても「noindex」の記述は発見できませんでしたが、動的にサイトマップが生成された場合、設定ファイルが影響するとは思いもよりませんでした。

ずっと出ていたSearch Consoleエラーの赤いバー表示がこの方法をおこなった日を最後に止まりました。

まとめ

「クロール済み - インデックス未登録」と「Google XML Sitemaps」のnoindexは別問題だった可能性が高いかもしれません。

だとしてもSearch Consoleに出ているエラーは解消しておかないと何が影響するかは分からないし、気分もすっきりしません。

今回大量のページが除外されてしまった件はどうやらSearch Consoleのバグだったことが報告されています。

再度クロールされれば解消される可能性も高いのですが、クロール頻度が低かったり、早くページを登録したい場合はSearch Consoleから「カバレッジ」→「除外」→「クロール済み - インデックス未登録」に遷移し、URLに表示されたアドレスを選択後、右側のメニューから「URLを検査」を実行してください。

「インデックス登録をリクエスト」すれば無事解消されるはずです。

-開発
-,

Copyright© Workerブログ|仕事を続けるための工夫 , 2020 All Rights Reserved Powered by STINGER.