WordPressのRSSフィードでXML parsing errorが出た時の対処法

WordPressのRSSフィードでXML parsing errorが出た時の対処法

WordPressのRSSフィードでXML parsing errorが出た時の対処法

テーマを変更した際に色んなページをチェックしていたら、RSSフィードで以下のようなエラーが表示されていました。

XML parsing error


This page contains the following errors:

error on line 148 at column 324: Input is not proper UTF-8, indicate encoding !
Bytes: 0x08 0xE3 0x81 0xA7
Below is a rendering of the page up to the first error.

W3C Feed Validation ServiceでフィードのURLをチェックしてみると、ある記事の内容が「XML parsing error」となっていました。XML parsing errorは構文エラーのことです。

line 126, column 314: XML parsing error: <unknown>:126:314: not well-formed (invalid token)

kngy.netさんの情報を参考に、feed-rss2.phpとfeed-rss2-comments.phpを変更してみたところ、とりあえずエラーは出なくなりました。

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

上記ファイルの2行目にob_end_cleanを追加します。


<?php
ob_end_clean();

こんな感じでob_end_cleanを追加すると、エラーは解消されます。

序盤のiframeを消したら改善

この記事を書いている間に、WordPressをアップデートしたらまた同様の現象が出ました。で、上記2ファイルにob_end_cleanを追加してみたけど、現象は改善しませんでした。

該当記事では、序盤にiframeが埋め込まれていて、他の記事との違いはコレだ!と思い、iframeを削除してみました。すると、エラーは解消されたので、iframeで出力されるソースに原因があったと思われます。

あとがき

feed-rss2.phpとfeed-rss2-comments.phpにob_end_cleanを追加しても現象が改善しない場合は、エラーの原因となっている記事にiframeが入っていないかチェックしてみてください。

どうしても改善しない場合は、該当記事がフィードからなくなるまで、新規記事を追加した方が手っ取り早いと思います。これが一番の解決策かもしれませんね。

ちなみにエラーは出ていても、RSSリーダーでは正常にフィードは流れてきて、内容もちゃんと読むことができました。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です