独自ドメイン運営のはてなブログPROからWordPressに移行したとき、サイトマップを送信しても一向にインデックスされず、ずっと保留状態が続いていました。記事をインデックスさせるために私がやったことと、その結果をご紹介します。
目次
サイトマップを送信するもずっと保留状態…
はてなブログとWordPressでは、送信するサイトマップが異なります。そこで私は、WordPressへブログを移行し、諸々の修正が終わってから新しくサイトマップを作って送信し直しました。サイトマップの作成はWordPressのプラグイン「Google XML Sitemaps 4.0.9」を使用。しかし、サイトマップ送信から数日経っても、1週間経っても保留状態のまま。ずっとクロールエラーが増え続けるばかりで、一向に記事がインデックスされませんでした。
このとき、記事をインデックスさせるため私が試したことが以下の5つ。
- 旧ブログのヘッダーを再確認
- WordPressに所有権の確認をやり直す
- Google XML Sitemapsをダウングレードしてサイトマップを作成し再送信
- wwwありとwwwなしのURLを正規化
- とにかく記事を更新
1、旧ブログにHTMLタグが残っていないか再度確認
私はWordPressに引っ越す前、はてなブログでブログを運営していました。はてなブログをGoogleConsoleに登録するさい、HTMLタグをヘッダーに追加して所有権の確認を行ったので、このHTMLタグがまだ残ったままになっていないかを再度確認。しかしヘッダーやダッシュボードの設定画面にHTMLタグは残っていませんでした。HTMLタグが原因の可能性はこれで消えたことになります。
2、WordPressで所有権の確認をやり直す
旧はてなブログにHTMタグが残っていないことを確認したので、次はSearchConsoleのHTMLタグをWordPressのほうに追加し、もう一度所有権の確認をやり直しました。が、これも効果なし。数日経ってもインデックスが登録されませんでした。
3、Google XML Sitemapsをダウングレードしてサイトマップを再作成
Google XML Sitemapsの最新版である4.0.9はWordPressと相性が悪いと聞いたので、3.4.1にダウングレードしてサイトマップを作成、再送信してみました。が、効果なし。ただ、やはり4.0.9はエラーが出やすいとのことなので、私は3.4.1を使うことにしました。3.4.1はGoogle XML Sitemapsの「Plugin」ページにアクセスし、ページ左下部にある「Development Version」からダウンロードすることができます。
▼ダウンロードはこちらから
Google XML Sitemaps 3.4.1ダウンロードリンク
4、wwwありとwwwなしのURLを正規化
当ブログは「https://www.hiroseyonaka.com/」という、「www」ありのURLを採用しています。しかしWordPressは「www」がない「https://hiroseyonaka.com/」にアクセスしてもブログが表示される仕様になっています。
Googleではこのwwwあり・なしのURLがそれぞれ別サイトとして認識されるようなので、SearchConsoleで「URLの正規化」設定を行い、Googleで表示されるURLを「https://www.hiroseyonaka.com/」に統一しました。が、これも効果なし。ただ、検索流入アップのためにはやっておいた方がいい設定です。
URL正規化のやり方
- SearchConsoleを開き、wwwありとwwwなし2つのURLをそれぞれ登録。
- SearchConsoleでwwwありのサイトにアクセスし、画面右上にある「歯車」アイコンをクリックし「サイトの設定」を開く。
- 「サイトの設定」画面にある「使用するドメイン」で、URLをwww.◯◯.comと表示にチェック。
- 次に、SearchConsoleでwwwなしのサイトにアクセスし、同じ手順で「サイトの設定」を開く。サイト設定画面の「使用するドメイン」を、こちらも「URLをwww.◯◯.comと表示」にする。
5、とにかくWordPressで記事を更新
結果から先に言うと、上記4つを試してもサイトマップはずっと保留になったまま一向にインデックスされませんでした。私は、とにかくもう少し待ってみようと思い、SearchConsoleの設定などは一切いじらずブログを放置。するとその数日後、一時的にサイトマップがインデックスされたんです。が、その3日後にはまたサイトマップが保留状態に逆戻り。半月ほどそのまま様子を見ていましたが、サイトマップは1週間ごとにインデックスと保留を繰り返していました。
これは私の推測に過ぎませんが、おそらくWordPressとGoogle XML Sitemapsの相性が悪いために、インデックスと保留を繰り返すというような動作不良を起こしているのではないでしょうか……。ちなみに、私がSearchConsoleで送信していたのは以下2つです。
- /sitemap.xml
- /feed
1の「/sitemap.xml」はWordPressのサイトマップ。2の「/feed」は、WordPressで配信されているRSSフィードです。サイトマップが一時的にインデックスされたとき、フィードは保留状態のまま一度も「インデックスに登録済み」にはなりませんでした。送信した「/feed」というURLが間違っているのかな?とも思いましたが、ネットで調べてみるとここは「/feed」で問題ない様子。なんとも不可解な……。
で、実は私、このブログを9月の間ずっと放置しておりまして、約一ヶ月一度も記事を更新していなかったんですね。サイトマップが保留のままなのは、もしかするとそれが原因ではないかと思い、10月に入ってからまた記事の更新を再開してみたんですよ。1日1記事のペースで更新しはじめると、なんとそれまでずっと保留状態だったサイトマップとRSSが、2日後すんなりとインデックスに登録された!
【証拠画像】
以前は一度インデックス登録済みになっても、数日後また保留に戻っていたんです。しかし、記事を定期的に更新するようになってからは、ずっとインデックス済みの状態で安定しています。SearchConsoleでサイトマップとRSSを送信したけど保留になってインデックスされないという時は、とりあえず記事の更新頻度をあげてみてはどうでしょうか。サイトマップとRSSが拍子抜けするほどすんなりとインデックス済みになるかもしれません。
【2018年9月20日追記】
Google XML Sitemaps 3.4.1を使用すると、Search Consoleで「記事URL/feed/」の404エラーが出続ける現象を確認しています。
あまりにもクロールエラーが出るので、2018年9月、WordPressのダッシュボードからGoogle XML Sitemapsを3.4.1→4.0.9にアップグレードし、Search Console側で「/sitemap.xml」「/feed」を再送信しました。4.0.9を直接インストールしたらエラーになったけど、3.4.1からアップグレードするとエラーは出ませんね。どういうことだろう。
サイトマップは3日ほど「保留」状態になっていたものの、その後、無事にインデックスされました。そして、あれほど続出していたクロールエラーも出なくなりました。
画像:Search Consoleのクロールエラー推移