こんにちは、その日暮らしです。
今回は、記事のインデックス化のお話です。
一昨年に書いた記事のURLを最近になって変更したところいつまで待ってもその記事がインデックス化されないことに気づきました(リダイレクトの設定はしていません)。Googleに登録された変更前のURLのインデックスはGoogle Search Consoleを使って削除したので「複製されたページ」扱いはされていないはずです(たぶん)。
調べてみたところ当ブログのサイトマップは正しく作成されているのにGoogle側で認識しているものには当該の記事が含まれていないことが直接の原因でした。
Google Search Consoleのバグでしょうか?
いろいろググったり試行錯誤したところ一つの回避策にたどり着きました。
発見した回避策についてもいろいろとググってみたのですが、他にこの回避策を発見した人を見つけることができませんでした。
また、今回の現象は、新たに記事を公開しインデックス化するときにも発生するようです。その場合でもこの回避策は有効なものでした(2記事で確認済み)。
今回は、そんな現象と貴重な回避策を当ブログで紹介したいと思います。
現象
当ブログではプラグインGoogle XML Sitemapsを使ってサイトマップを作成しています。このプラグインでは、記事を公開した年月ごとにそれら記事のURLを含んだ子のサイトマップが作成されそれら子のサイトマップのURLがルートのサイトマップに記載されるという構造になっています。
今回URLを変更した記事の変更後のURLは子のサイトマップである「https://www.sonohigurashi.blog/sitemap-pt-post-p1-2021-11.xml」に正しく記載されています。
以下、今回の現象です。
Google Search Consoleを開きルートのサイトマップを指定して当ブログのサイトマップを送信してみます。
「成功しました」と表示されるのでそこをクリックしてみます。
すると、なぜか「https://www.sonohigurashi.blog/sitemap-pt-post-p1-2021-11.xml」内で検出されたURLの数が1と表示されています。期待されるURLの数は「2」です。どうやら、Google側で認識しているサイトマップには当該の記事は含まれていないようです。
この状態でGoogle Search Consoleを使って記事の「URL検査」を行いインデックスの登録をリクエストしても無駄です。Googleは、サイトマップに含まれていない記事をインデックス化しないようです(あたりまえか)。
偶然見つけた回避策
ここから回避策です。
当該の記事がGoogle側で認識しているサイトマップに含まれるようにします。
まず、インデックス化したい記事のURLを直接含んでいる子のサイトマップのURLを指定してサイトマップを送信します。今回の場合は、「https://www.sonohigurashi.blog/sitemap-pt-post-p1-2021-11.xml」を指定します。
すると今度は「https://www.sonohigurashi.blog/sitemap-pt-post-p1-2021-11.xml」内で検出されたページの数が期待通りの「2」と表示されます。
送信した子のサイトマップをGoogle Search Consoleから削除します(これが必須の手順かどうかは不明)。
再度ルートのサイトマップのURLを指定して送信します。
めでたく、「https://www.sonohigurashi.blog/sitemap-pt-post-p1-2021-11.xml」内で検出されたURLの数が期待通り「2」となりました。
インデックス登録のリクエスト
「URL検査」を行うとGoogleが認識しているサイトマップに当該の記事が登録されていることが分かります。この状態でインデックスの登録をリクエストします。
インデックス化されました。
ポイントは、インデックスを登録しようとしている記事がGoogleが認識しているサイトマップに含まれるようにしてからインデックスの登録をリクエストする、ことです。
この方法を発見してから2件の記事について試していますが、どの記事もだいたい4時間か5時間経った頃にすんなりインデックス化されています。
以上、「Google Search Consoleでページのインデックス化ができないときの一つの解決策」でした。
コメント