WordPressのRSSエラー(XMLパースエラー)の対処法

2015年5月追記
2010年の記事ですが、2015年5月現在の最新バージョンである4.2.2でも同様のエラーが発生し、また、本対策が有効であるということを多数の方からご連絡いただいております。
当サイトでも検証済みです。このエラーは限定されたバージョンのものではないようです。
皆様からのご報告は、他の困っている方のためにもなっております。ありがとうございます。

 
本サイトのフィード表示でパースエラーが発生してしまったので、他で困っている方のためにも対処法を書き残しておきたいと思います。

エラー内容

XMLファイルの先頭に余分な改行、スペースが入ってしまっているため、各種ブラウザにてエラーが発生。

Firefoxでフィードを表示した場合

XML パースエラー: 実体の初めに XML またはテキスト宣言がありません。
URL: http://kngy.net/feed/
行番号: 2, 列番号: 1:
Google Chromeでフィードを表示した場合

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.
Internet Explorerでフィードを表示した場合

Internet Explorer ではこのフィードを表示できません

このフィードにはコード上のエラーが含まれています。

詳細情報

無効な XML 宣言です。
行: 2 文字: 3
<?xml version="1.0" encoding="UTF-8"?>

対処方法

よく書かれている、functions.phpの編集や、プラグインの無効化では直りませんでしたが、wp-includes内にある2つのファイルへそれぞれ1行ずつ追加することにより、解決しました。

行った対応は、下記となります。

編集ファイル

wp-includes/feed-rss2.php
wp-includes/feed-rss2-comments.php
編集内容

それぞれのファイルの2行目に、「ob_end_clean();」を追加。

<?php
 ↓
<?php
ob_end_clean();

その他注意点

少なくともFirefoxとGoogle Chromeでは、変更が反映されていても、キャッシュが原因で、リロードしてもエラー表示のままという現象を確認しております。

変更を行ってもだめだったと他の方法を探す前に、ブラウザの設定でキャッシュをクリアし、今一度確認を行うことをおすすめします。

僕の場合、ブラウザの再起動を行っても、キャッシュによって反映が確認できませんでした。

1、2時間試行錯誤してしまいましたが、終わってみると、なんだかあっけなく感じますね。

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

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加
コメントを残すには、Twitter、Facebook、Google、OpenID、Disqus の、いずれかのアカウントでの認証が必要となります。(各アイコンか「コメントする」ボタンを押すと認証ウィンドウが開きます)
  • http://www.drsato02.com satou

    ここ数日,まさにRSSエラーの修復に追われていました。
    先ほどググってこちらのサイトへ。
    何んともあっけなく回復しました!(5分)

    大変ありがとうございます。参考になりました!

    • kngy

      早速お役に立てるとは。書いた甲斐がありました。

      需要0かとは思うけど、という気持ちもありつつ、何かしらの役に立てたらという気持ちで書き残したこの投稿がお役に立てたことに、なんというか、今後続けていくことの一つの意味のようなものも感じられた気がします。

      こちらこそコメント残していただき、ありがとうございました。

  • http://blog.exceluck.com/ Hidden

    初めまして。
    僕もこのエラーが発生しましてググっていたらこちらに辿り着きました。
    ただ、僕の場合はここの方法を試してみたんですが今のところ改善されずでした・・・。
    経緯としてはRSSフィードをカテゴリを選別して配信しようとして、フィードのURLをいじった事でこのエラーが起こるようになりました。

    末尾を
    /?feed=rss2&cat=-カテゴリID
    といった感じに変更して、最初は問題なくフィードが取れて来ていた事を確認したんですが、数分後にこのエラーが出るようになりました。

    何かアドバイス頂ける事がございましたらご教授頂けると嬉しいです。

    • kngy

      どうもはじめまして。

      この問題、はまると厄介ですよね。

      下記修正を行うと解決するかもしれませんので、一度お試しください。

      [/wp-includes/feed-rss2.php]
      下記をコメントアウト
       <description>< ![CDATA[<?php the_excerpt_rss() ?>]]></description>

      [/wp-includes/feed-atom.php]
      下記をコメントアウト
       <summary type="<?php html_type_rss(); ?>">< ![CDATA[<?php the_excerpt_rss(); ?>]]></summary>

      [/wp-includes/feed-rdf.php]
      下記をコメントアウト
       <description><?php the_content_rss(”, 0, ”, get_option(‘rss_excerpt_length’), 2) ?></description>

  • Mad

    初めまして、朝からずっとこの問題に試行錯誤していました。
    やっと解決できてうれしいです。
    本当にありがとうございました!

    • kngy

      お役に立てて何よりです。
      記事にしておいて良かったと感じました。

      こちらこそコメントを残していただき、ありがとうございました。

  • hamp

    ハマっていたので助かりました。
    同じような問題に直面している人が多いようですね。

    有益な情報ありがとうございます

    • kngy

      僕も記事にしてみてわかったのですが、同じような問題で困っている方が結構いるもんですね。
      お役に立てて何よりです。
      記事にしておいて良かったと感じました。

      こちらこそコメントを残していただき、ありがとうございました。

  • Pingback: Feedのパース..()

  • Pingback: Postsボタン..()

  • http://twitter.com/nisekoyoga Akira Ogasawara

    ありがとうございますー。ずっと放置していたのですが(RSSを読むような読者層ではないので)、おかげさまであっさり回復しました。
    感謝です。

    • 匿名

      本当に同じような問題で困っている方が結構いるもんですね。
      お役に立てて何よりです。

      コメントを残していただき、ありがとうございました。

  • Pingback: WordpressのRSS..()

  • http://twitter.com/shikimenco しきめんこ

    全く同じエラーで数日苦しんでいた所、こちらの記事に辿り着きました。おかげさまで無事解決することができました。本当にありがとうございました!

    • 匿名

      いえいえ。お役に立てて何よりです。

      コメントを残していただき、ありがとうございました。

  • Pingback: WordPressのRSS..()

  • Pingback: WordPressのXML..()

  • Pingback: wordpressのRSS..()

  • http://twitter.com/teru03 teruo morimoto

    はじめまして。
    気になってたけど、放っておいたRSS問題を、気合いれて直そうととりくんだところ、おかげさまであっさり解決しました。
    ありがとうございました~。

    • 匿名

      昨年8月にこの記事をアップしてから、想像以上に多くの方が同じような問題に直面していることに驚いています。

      お役に立てて何よりです。
      コメントを残していただき、ありがとうございました。

  • Pingback: wordpressでRSS ..()

  • http://twitter.com/MarueOutdoor 丸江 Marue

    大変参考になりました。ありがとうございました。

    • 匿名

      お役に立てて何よりです。

      コメントを残していただき、ありがとうございました。

  • Pingback: RSS Feed «..()

  • Pingback: ブログリニ..()

  • Pingback: Dpub#5へ –..()

  • Pingback: WordPressのフ..()

  • Pingback: WordPressのRSS..()

  • Pingback: WordPress関連..()

  • Pingback: WordPressでzenb..()

  • Pingback: RSSエラー、..()

  • hina

    はじめまして。古い記事にコメント失礼いたします。
    WPの更新をしたところ、同じ問題が発生して対処方法を探していたところこちらにたどり着きました。
    おかげさまでエラーは出なくなったのですが(これだけでも助かりました!!)、今度はRSSに何も表示されなくなりました。
    もし対処方法がわかりましたら教えていただければ幸いです。
    お手数をおかけして申し訳ありませんが、どうぞよろしくお願いいたします。

    • kngy

      はじめまして。
      コメントを残してくださいましてありがとうございます。

      残してくださった追加情報は、同じように困ってらっしゃる方の有力な情報にきっとなるかと思います。
      こちらこそありがとうございました!

  • Pingback: 小野諭のブ..()

  • http://fanblogs.jp/andgoods/ inali

    これで WordPress 3.6 が急におかしくなったのもなおせました、ありがとう!

    • kngy

      3.6でもこの方法が有効であったという貴重な情報の共有ありがとうございます!
      きっとこの情報も有力な情報の一つになるかと思います。
      感謝いたします。

  • kako_cocoro

    WordPress 3.6.0で出ていたエラーをあっさり直せて驚きました。ありがとうございました!

    • kngy

      ご報告ありがとうございます!

      このコメントも貴重な情報源として今後いかされていくかと思います。

      こちらこそありがとうございました!

  • Pingback: WordPressのRSS..()

  • Pingback: RSSリーダー..()

  • Yusuke Ueno

    はじめまして。
    RSSがエラーになりこちらの記事の通り対処しましたら
    正常になりました。非常に助かりました。

    ありがとうございます。
    これからも更新頑張ってください。

    • kngy

      ご報告ありがとうございます!

      ここに書き込みいただいたおかげで、また同じ現象で困っている方の貴重な情報の一つになったかと思います。

      これからも頑張ります^^

  • Pingback: WordPress[Stinge..()

  • Pingback: WordPressのRSS..()

  • POODLE TOY

    助かりましたー!!ありがとうございます!

    • kngy

      いえいえ!こちらこそご報告ありがとうございます!

  • Pingback: WordPressでRSS..()

  • Pingback: WordPress RSSフ..()

  • Pingback: RSSエラーが..()

  • http://runrun.geizou.net/ runrungates

    大変助かりました!有難うございました。

    • kngy

      いえいえ、こちらこそご報告ありがとうございます!
      直ってよかったです^^

  • tktk19

    助かりました、ありがとうございました!

    • kngy

      こちらこそ、ご報告ありがとうございます!