「XMLパースエラー:実体の初めにXMLまたはテキスト宣言がありません」の解決方法

先日、WordPressで構築したブログのRSSフィードを表示すると「XML パースエラー: 実体の初めに XML またはテキスト宣言がありません」というエラーが出てきました。

コードが書かれたモニター

今回はエラーの原因と確認項目について説明します。

XMLパースエラーの原因

これは、XMLファイルの先頭に空白の文字列やホワイトスペースが入ってしまっていることが原因です。エラーを特定するには下記の項目を順に確認しましょう。

  1. まずはアドオン。全部無効化して確認
  2. 次にfunctions.php。無駄な空白や行がないか確認
  3. wp-config.phpの前後に無駄な空白や行がないか確認
  4. wp-rss2.phpwp-atom.phpの前後に無駄な空白や行がないか確認
  5. index.phpの前後に無駄な空白や行がないか確認

特に変更することの多いfunctions.phpをいじったら、一度動作を確認することをおすすめします。

上記を確認しても直らない場合

「wp-includes/feed-rss2.php」と「wp-includes/feed-rss2-comments.php」の2行目に「ob_end_clean();」を追加すると改善される場合もあるようです。

LINK:PHP: ob_end_clean

Related Posts