wordpressのRSSエラー対処法「XML パースエラー:実体の初めにXMLまたはテキスト宣言がありません。」

web制作

※本記事は作成日より一年以上が経過しています。最新の情報ではないので、ご注意ください。

読了の目安時間: 234

wordpressで構築したサイトは「自分のURL/feed/」でブラウザ入力すると、RSSのfeed画面を確認できます。

0

しかし、構築したwordpressを編集したりしていると、たまにこんなエラーが出ることがあります。

2

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.

ブラウザをFirefoxで見てみると、「XML パースエラー:実体の初めにXMLまたはテキスト宣言がありません。」というエラーが出ています。

1

wordpressのRSSエラー対処法

結論としては、phpタグ前後の空白が原因であることがほとんどです。phpの宣言で、<?php ?>を使いますが、この開始タグや終了タグの前後に改行や空白があると、エラーを指摘されます。

大体の場合、function.phpなどを編集している時に多いエラーだと思います。自分の場合もfunction.phpの改行によるエラーでしたので、改行を削除したら元に戻りました。

基本的には、wordpressサイトを制作した時にエラーが起きていなければ、その後の修正作業によってエラーが起きている可能性が極めて高いです。バージョン管理などをしておき、どの作業によるエラーなのか、判断するようにしましょう。

他にはプラグインの導入によっても起きたりするらしいので、ソースコードをいじってないのにエラーが起きる時はプラグインをいったん停止してみることも大事です。

RSSエラー修正はfirefoxで確認しよう
空白削除した後、firefoxだとすぐにエラー修正が反映されましたが、Google Chromeでは少し反映までに時間がかかっていました。エラー修正をする際は、firefoxで見ておいたほうが良いかもしれません。

その他の解決法

普段の運営ではいじらないファイルですが、「wp-config.php」、「wp-rss2.php」、「feed-rss2-comments.php」などの空白も原因になることがあるようです。もし編集していたら、確認しておきましょう。

どうしてもfeedが反映されない時は、最終手段として、「ob_end_clean();」によるバッファクリアのコードを下記のファイルに適用すると、うまく動作するようになるみたいです。

wp-includes/feed-rss2.php
wp-includes/feed-rss2-comments.php

▼詳しくはこちらのサイト様へ
http://wadajuku.jp/archives/szk/20130417-2

まとめ

いかがでしたでしょうか。とりあえず「XML パースエラー:実体の初めにXMLまたはテキスト宣言がありません。」というエラーが出たら、php宣言タグの前後の空白を疑ってみると良いかと思います。

本記事を気に入って頂けたら、facebookの「いいね!」を是非!

wordpressのRSSエラー対処法「XML パースエラー:実体の初めにXMLまたはテキスト宣言がありません。」


本記事のシェアはこちらから!

  • このエントリーをはてなブックマークに追加
  • Pocket

PROFILE

yoshi

follow us in feedly

本ブログ・WebMakeBlog KIYOTATSUを運営しているYoshiと申します。PVは月間10万程度です。普段はWEB制作をやっています。主に要件定義や構築が得意で、HTML/css/javascript/PHP/git/wordpress/MT/DB/photoshop/illustrator/fireworksなど扱えます。サーバー・アプリなども習得中。