WordPress

This page contains the following errorsと表示されsitemap.xmlが表示出来ない問題を解消

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-21-23-31-15

このブログとアクアリウムブログ(http://sukenoaqua.com/)は、自作テーマを使用しているのですが、最近ちょっと気になって検索エンジン用に生成されているサイトマップを表示してみたんです。そうしたら以下のようなエラーが!

This page contains the following errors:

error on line 3 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.

上記英文をGoogle翻訳にかけると、以下のようになります。

このページには、次のエラーが含まれています。

コラム6で3行目のエラー:XML宣言は、ドキュメントの開始時にのみ許可します。

以下は、最初のエラーにページアップのレンダリングがあります。

なんのことやらさっぱりなので、いろいろと検証してみます。

検証した結果、WP公式のテーマに変更したらエラーは解消されたので、まず自作テーマに問題があるのが間違いない。

だとすると、function.phpに問題があるかもしれない。

function.phpの一部を削除するとエラーが解消される。

問題は単純でした。自作テーマのfunction.phpに改行コードが入っていることが原因。

テーマの編集→該当するテーマの「テーマのための関数 (functions.php)」→一番下にある改行コード全てを削除する(?>以降すべて)

この方法で修正することができました。

▼?>以降カーソルがあるのを確認できるスクリーンショット。3行分無駄な改行コードが入力されています。

sc161022-3

 

 

▼?>以降の改行コードは削除したスクリーンショット。

sc161022-2

 

 

▼エラーは解消されしっかりとサイトマップを表示してくれるようになりました。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-21-23-34-01

もし上記の内容がお役立て出来たら幸いです!

ちなみに当ブログのサイトマップは、Google XML Sitemapsというプラグインを使用してサイトマップを生成してもらってます。

最近知ったのですけれど、Jetpackでもサイトマップ生成機能ができたんですね!前からあったのかもしれませんが…。これでどんな表示になるのかと確認しようとしたら今回のエラーを発見してしまったって感じです。Jetpackのサイトマップ生成機能は、細かい設定はできないようだけれど、乗り換えてみようかな。