こんばんは。兼業アフィリエイターの有美です。
現在、3月15日までの確定申告の準備に追われています。
医療費控除の集計や青色申告が終わったので、後は確定申告の用紙の作成をすれば終わりです。
さて、それよりも先日、メインブログのSearch Consoleでサイトマップエラーになっていました。
そこで解決方法を色々調べ、根本的解決を見つけたのでご紹介します。
サイトマップがHTMLエラーです
いつものように、メインブログを更新し、Fetch as googleに登録した時にエラーになりました。
あれ?と思い、Search Consoleを見てみると、「サイトマップがHTMLです」というエラーが出ていました。
こんな感じです。
え?どういうこと?と思い、ネットで調べてみると、どうも原因はWordPressでサイトマップ作成に使用しているプラグイン・Google XML Sitemapsにあるようです。
Google XML Sitemaps(4.0)以上で出ているようです。
Google XML Sitemapsで作成したサイトマップは、"https://ドメイン/sitemap.xml" になっているハズ、と思ってURLを入力してみましたが、表示されたのはサイトマップじゃなくて、トップページでした。
サイトマップのはずがサイトマップじゃない。
「それじゃ、エラーになるはずだ」
原因はわかったものの、どう対処したらいいのやら。
そこでGoogleで調べてみました。
HTMLエラーの解決方法
ネットで調べた解決方法は以下でした。
- Google XML Sitemapsをダウングレードする → 却下
- 人的sitemapをsitemapsに変える → エラーのため却下
/index.php?xml_sitemap=params= とする → 完全解決!
2018年6月17日追記:sitemap.xmlに戻ったブログとindex.php?xml_sitemap=params=のままのブログが存在しています。
なので、WordPress管理画面の "設定" → "XML-Sitemap" にサイトマップのURLが表示されているので、そこでご自分のブログのサイトマップのURLを確認して下さい。
それぞれの方法を解説しますね。
Google XML Sitemapsをダウングレードする
Google XML Sitemapsをダウングレードする方法としては、使用しているGoogle XML Sitemapsを停止させて削除します。
「プラグイン」→「インストール済み」→「Google XML Sitemaps」を停止せます。
プラグインを停止させたら、プラグインを削除します。
次に、Google XML Sitemapsの公式サイトから、古いバージョンのGoogle XML Sitemapsをダウンロードします。
上記のサイトから、古いバージョンをダウンロードします。
ダウンロードしたZIPファイルは解凍せずにそのまま、デスクトップなどわかりやすいところに置きます。
そして、WordPressのダッシュボードから、「プラグイン」→「新規追加」→「プラグインのアップロード」をクリックします。
ここで、先ほどダウンロードしたZIPファイルを選択し、アップロードします。
古いバージョンのGoogle XML Sitemapsをアップロードしたら、「プラグイン」→「インストール済みプラグイン」→"Google XML Sitemaps" を有効化します。
これで、OKです。
ただし、この方法では、プラグインのアップデートが来た時に、まとめてアップデートなどをして間違えてこのプラグインもアップデートした場合は、再度一からやり直す必要があります。
なので、これは根本的解決にはならないですね。
人的sitemapをsitemapsに変える方法
これは、人的sitemapをsitemapsに変えるというもの。
人間用のサイトマップであるsitemap.htmlをコピーして、sitemaps.htmlとし、Search Consoleに登録するという方法です。
「固定ページ」→「固定ページ一覧」のサイトマップを複製します。
そして、複製されたサイトマップのページを開き、URLに"s"を足してsitemapsに変更し、OKをクリックします。
この固定ページを「保存」すれば準備はOKです。
そして、Search Consoleに今作った、”sitemaps.html” をサイトマップとして登録します。
この時、テストができるので、まずはテストをしてからがいいかもしれません。
Search Consoleのサイトマップへ行き、「サイトマップの追加/テスト」をクリックします。
そして、sitemaps.htmlと入力し、"テスト" をクリックします。
テスト結果が見られます。
これでエラーが出なければOKです。
ただ、私の場合、なぜかエラーになってしまいました。
なので、人的sitemapをsitemapsとして流用することは諦めました。
Google XML Sitemaps最新バージョンを使う
人的サイトマップをGoogleのサイトマップにあてることができればそれでいいのですが、これも簡単です。
ただ、なぜだか紹介しているブログが少なかったのですが。
これはやり方めっちゃ簡単です。
今まで紹介した2つの方法よりも簡単です。
従来のGoogle XML Sitemapsでサイトマップを作成した場合、サイトマップのURLから新しいURLに変えてあげるだけ。
どういうことかというと...
http://ドメイン/sitemap.xml
↓
http://ドメイン/index.php?xml_sitemap=params=
に変える。
つまり、Search Consoleでサイトマップの追加をする時に、"index.php?xml_sitemap=params=" と入れればいいだけ。
2018年2月現在のGoogle XML Sitemapsのバージョンは4.0.9ですが、このバージョンでは問題なくサイトマップとして認識されていますし、その後エラーもありません。
2018年6月追記:Google XML Sitemapsのバージョンは4.0.9から変わりありませんが、"設定" → "XML-Sitemap" の画面上部に "あなたのサイトマップのインデックスファイルのURL:"としてサイトマップURLが表示されていて、"URL/sitemap.xml" になっているブログと、"URL/index.php?xml_sitemap=params=" になっているブログがあります。
私の所有ブログの一つが同じバージョンであるにも関わらず、サイトマップのURLはエラーが出ていた時の、"index.php?xml_sitemap=params=" のままです。
入れいてるプラグインはほぼ一緒なのですが、違う点といえばWordPressのテーマですね。テーマにより違うのかは不明ですが、自分のブログのサイトマップのURLがどちらかは、"設定" → "XML-Sitemap" で確認して下さい。
"sitemap.xml" になっているブログ
こちらは、"index.php?xml_sitemap=params=" になっているブログ
さいごに
結局、Google XML Sitemapsのバージョンアップに伴い、サイトマップの形式というかURLが変わっていたということなんですよね。
問題は、変わった新しいURLがわからないから、パニックになってしまっただけなのですが。
わかってしまえば、プラグインのバージョンアップも怖くないんですけどね。
ただ、一つ気になる点としては、またプラグインのバージョンアップでURLが変わったりしないか、ということです。
でも、現時点でサイトマップがHTMLエラーになっている人は簡単なので、新しいURLでサイトマップを登録してみて下さいね。
6月17日追記:"sitemap.xml" に戻っていたブログと"index.php?xml_sitemap=params="となっているブログが混在していて、なぜこういうことになっているのか、現段階では分かりません。
自分のブログのサイトマップのURLは、管理画面の "設定" → "XML-Sitemap" で確認して下さい。
人的sitemapを流用していた方はそのままで大丈夫です。