WordPressのRSSフィードがエラーになってしまいました。私のケースでのトラブルシューティングの案内をします。
この記事のもくじ
FacebookページとIFTTT RSSで連携してた
今回問題になったWordpressサイトは、ブログRSSフィードと、同種Facebookページで連携をしていました。
FBページの更新が暫く流れてこないな、みんなブログ書いてくれないかなーと思ってwordpressページを見に行ったら、更新されている。
なぜだ。WordPressの更新に連動してFacebookページも更新されるはずなのに。
というのがことの発端です。
連携のキーツールIFTTT
Facebook内の連携アプリ(broglovinとか)は挙動が安定しないこともあり、Facebook側でのRSS連携は今回行っていませんでした。
今回使ったのは、IFTTT
wordpressから吐出されるRSSをIFTTTが受け取って、予め連携させておいたFacebookページへと飛ばすという安易かつ便利な仕組み。
Facebook側に問題が無いのはあきらかでした。
じゃあ、問題はIFTTTの方にあるのではないか。
IFTTTにログインして連携確認をとってみたところ、別のレシピ(IFTTTでは設定をレシピと呼ぶ)は正常に連携されていたので、IFTTTの問題ではない。
当該レシピの確認をとったら、Wordpress側のRSSエラーを確認。
WordpressRSS feedを確認。
Feedエラー
wordpress error on line 3 at column 6: XML declaration allowed only at the start of the document
oh…
なにこれ・・・
対処方法
ネットで調べていくと、よくあることなのか対処方法がパターン化されているらしいです。みんな同じような内容を書いています。
私も同じような内容を書いて見ます。
functions.phpの先頭に空行が含まれるパターン
なんだか、よくあることらしいです。
functions.phpの中に空行が含まれているということがあるらしい。
改行を消したら直るとのことで、確認を取ってみました。
ウチのfunctions.phpに改行なんてない。
参考サイト:http://number333.org/2013/09/09/wordpress-rss-erorr/
RSSを出力しているプログラム自体のエラー
なんだかよくわかりませんが、
wp-includesの2つのphpファイルに問題があるようです。
- wp-includes/feed-rss2.php
- wp-includes/feed-rss2-comments.php
「obendclean();」
ob_end_clean();
こいつらです。
参考:http://wadajuku.jp/archives/szk/20130417-2
参考:http://kngy.net/2010/08/24/wordpress%E3%81%AErss%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AE%E5%AF%BE%E5%87%A6%E6%B3%95/
Webキャッシュを消して確認
変更が反映されていても、キャッシュが原因でリロードしてもエラー表示のままなことも有るらしいので
キャッシュを削除して確認すると直りました。是非確認して見てください。