設定がいつの間にか変わってたみたいですが、これでサイトマップのエラーが解決できました。
これまで順調に使えていたGoogleサーチコンソールですが、先日ログインした際にエラーを発見してしまいました。ググって調べてみると、同じ悩みでつまずいている人が多いみたいですね。
「サイトマップは読み取り可能ですが、エラーがあります。サイトマップがHTMLです」
え?なんだこれは・・。
サイトマップについては一度設定したら後はほったらかしでいいと思っていましたが、多少の再設定が必要みたいです。
サイトマップについての解説をしている記事は多くありますが、古い情報が多く、よくある過去記事では解決できません。
今のサイトマップに最も多いHTMLサイトマップエラーを、プラグインをダウングレードせずにすぐに解決した方法をご紹介します。
たぶん人によってはエラーが出ていることに気づかず、そのままサイト運営してしまっている可能性もありそうです。ここは必ず対応しておくことをお勧めします。
サイトマップエラーの具体的症状とは
サイトマップに送信されていない
まず最初に僕がこの症状に気づいたきっかけは、ページのインデックス状況を確認しようとしてサーチコンソールにログインした時でした。「インデックス > カバレッジ」を見た時に出ていたのが上記画像です。
「インデックス登録されましたが、サイトマップに送信していません」これが出ていたら要注意ですね。
次に「インデックス > サイトマップ」に進みます。
すると/sitemap.xml ここでエラーが出ていることが確認できます。
原因はあのプラグインだった
サイトマップがHTMLページです。サポートされている形式のサイトマップを使用してくださいとありますが、sitemap.xmlでなぜHTMLページ扱いされているか意味が分かりません。
調べてみると「Google XML Sitemaps」というプラグインが原因で、サイトマップのURLが変更になっているようです。
バージョン4以降、これらのファイルは他のWordPressコンテンツと同様に動的に生成されるとのこと。
つまり「サイトマップのURLを変更」すれば、この問題は解決されるということが分かりました。
サイトマップのURLを変更して一発で解決する
サーチコンソールに新URLで再登録する
これまで僕を含めて多くの人が、サイトマップのURLはsitemap.xmlでOKだと思っていたはずです。だけどこのURLがいつの間にか変更になっていたんですね。ここを再登録すれば万事解決です。
旧URL=○○○/sitemap.xml
新URL=○○○/index.php?xml_sitemap=params=
/index.php?xml_sitemap=params=を、自分のサイトURLの後に入力すればOKです。これがバージョンアップ後の新しいサイトマップのURLになります。
サーチコンソール内の「新しいサイトマップの追加」のところで、この複雑なURLを入力すればステータスが成功になるはずです。
これを僕が試した時はなぜか一度エラーがでたので、もう一度URLを入力し直して試したら成功しました。
プラグインをダウングレードという選択は?
Google Xml Sitemapsではこれまで静的にサイトマップが作成されていましたが、ver 4.0以降は動的なURLに変更されています。
ここでもう一つの選択肢として、Google Xml Sitemapsをver 4.0以前にダウングレードするという方法も考えられます。
/sitemap.xml ⇒ /index.php?xml_sitemap=params= にするだけです。個人的にダウングレードはあまりお勧めじゃないですね。
All in One SEO Pack でもサイトッマップ設定可
「機能管理」からサイトマップを生成
Google XML Sitemaps だけでなくAll in One SEO Pack からもサイトマップの生成はできます。こちらの設定も超簡単です。機能管理からサイトマップを「Active」に変えるだけですね。
All in One SEO Packで設定したサイトマップのURLは「sitemap.xml」の方になるので要注意です。
All in One SEO Packのサイトマップを「Active」に変えるとすぐ有効になります。Google XML Sitemapsで生成したサイトマップとURLが異なりますが、どちらでもOKです。
どちらも有効なサイトマップであることには変わりありません。多くの人がこの2つのどちらかのURLを使っているはずです。
2つとも有効にしてみてもOK
ちなみに僕は現時点で2つとも有効にしてあります。All in One SEO Pack のサイトマップをActiveにすると、ステータスが「成功しました」に変わります。
これで問題なくサイトマップが送信されてインデックスもされているので、僕のサーチコンソールはこのまま2つとも稼働させています。
なんとなく以前よりインデックスがスムーズになっている気もるので、しばらくこれでいくつもりです。でもAll in One SEO Pack のサイトマップだけでも全然大丈夫だとは思いますよ。
なぜサイトマップの設定が必要なのか
サイトマップはクローラーの潤滑剤
そもそもなぜ正確なサイトマップの設定が必要かというと、サイトマップはサイト構造を検索エンジンに伝える潤滑剤の役割を果たしているからです。サイト運営者にとっては必須の対策です。
サイトマップがしっかり設定されてないと、検索エンジンに自分のサイト構造が上手く伝わらず、インデックスが反映されません。
インデックスが正確にされないと検索結果に反映されないことになるので、結果的に自分のサイトへアクセスが集まらなくなります。
サーチコンソールがインデックスクローラーの状況を教えてくれるので、エラーや異変を見つけたら即対応するべきですね。サイトマップインデックスは特に重要です。
今回プラグイン側からURLを変更するような通知や発表は無かったので、自ら気付いて対応していくしかありませんでした。
プラグインの進化に期待したい
今後ですが、今回の設定でその後もずっと対応されるかは分かりません。バージョンアップ毎に自動で対応されれば何ら問題ないですけど、ある程度は自ら対応する必要がありそうですね。
プラグインは都度バージョンアップされていますが、毎回自動対応されるかは微妙です。今回のように手動でも対応した方がいいですね。
プラグインの進化には期待しつつも、ほったらかしで何でもOKというわけにはいきません。今回もいい勉強になりました。
せっかく更新したページをムダにしないためにも、気づいた人は秒速で変更を済ませておきましょう。