SEO対策として検索エンジンにサイトのページ情報を正しく・早く伝える為に必要なXMLサイトマップ。
他にもいろいろありますが、Googleの検索エンジン用にこのXMLサイトマップを自動で作成してくれるプラグイン「XML Sitemap Generator for Google(旧:Google XML Sitemaps)」。
今回は、このプラグインで起きたエラーについてと、解決策について解説していきます。
XML Sitemap Generator for Googleとは
XML Sitemap Generator for Google(旧:Google XML Sitemaps)とは、Google検索エンジン用にXMLサイトマップを自動で作成してくれるWordpress用のプラグインです。
XML Sitemap Generator for Googleをインストール&有効化しておくだけで、ページの作成・更新の度にGoogleの検索エンジンに通知してくれる機能もあります。
このプラグインでXMLサイトマップを作成し、Google Search Consoleに作成したXMLサイトマップを登録するといった流れになります。
今回起きたエラーについて
今回起きたエラーは、以下のエラーになります。
This page contains the following errors:
error on line 2 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.
インデックス登録状況の確認などで、たまたまXMLサイトマップを開いたら見覚えのないエラーが。。。
英語は分からないのでオンライン翻訳してみると、
「このページには次のエラーが含まれています: 行 2、列 6 のエラー: XML 宣言はドキュメントの先頭でのみ許可されます。以下は、最初のエラーが発生するまでのページのレンダリングです。」
との事。
プラグインの画面やサーチコンソールでもエラーになっていなかったので、いつからエラーになっていたかも分からず。でも、直近でもサーチコンソールでサイトマップは正常に読まれていたようで、きちんと反映されていたか怪しい感じがします。
解決策
エラー内容を見ると、XMLファイルの宣言が先頭行でないとの事ですが、XMLファイルに何かした覚えも無い。
ネットで同じようなエラーが起きていないか確認した所、同じような事例がありました。解決策としては以下のようにいくつかあるようです。
- XML Sitemap Generator for Googleをインストールし直す
- XML Sitemap Generator for Googleを前のバージョンにする
- functions.phpを確認・修正する
XML Sitemap Generator for Googleの再インストール、ダウングレード
XML Sitemap Generator for Googleについては今回問題なさそうだったのでそのままにしましたが、インストールし直す場合はプラグインを一旦削除し、新規インストール。前のバージョンにするにはプラグインのページの一番下にあるセレクトボックスからバージョンを選んでダウンロードしてインストールしてください。
functions.phpを確認・修正する
調べてみると、functions.phpの先頭や末尾に改行やスペースが入っていると今回のようなエラーになるとの事。
見てみると・・・ありました。
先頭ではなく末尾に2行の改行があったので削除し、保存。その後再度XMLサイトマップにアクセスすると正しく表示されました。
エラー解消後に行った事
エラー解消後、念の為Google Search Consoleに登録してあるサイトマップを削除し、再登録。
再登録前もGoogle Search Consoleでは特にエラーも出ておらず、ステータスも「成功しました」になっていたので少しモヤっとしますが、とりあえずこれで解決。
基本的にはこういった問題はあまり起こりませんが、たまにいろいろと確認してみた方がいいかなと思った一件でした。