WordPress

WordPressのRSSがうまく動かない!Feedが出力されないトラブルを解決した話。

投稿日:

こんにちは、ヒバモンです。
今日はワードプレスの話しです。
といってもトラブル解決の話ですので、該当されない方にはあまりピンとこないかもしれません。

WordPressのRSS feedトラブル概要

最初は、WordPressのRSSのfeedを取得できませんでした。
こんなエラーが!
rss1
This page contains the following errors:
error on line 2 at columns 6: XML declaration allowed only at the start of the document
というものです。
そしてこのトラブルは、該当するブログを読むことで解決しました。
その後、feedは取得できているのに、ブラウザーが真っ白のままになりました。
ソース表示するとfeedは取得できています。
とまあこんな流れです。
WordPressでRSS feedが取得できませんでした。

WordPressのfeed URLは、デフォルトはこちらになります。

http://example.com/?feed=rss2
基本これでよいと思いますが、その他の feed はこれ
http://example.com/feed/
http://example.com/feed/rss/
http://example.com/feed/rss2/
http://example.com/feed/rdf/
http://example.com/feed/atom/
いずれにしても、どれを叩いてもfeedを取得できません。空っぽです。
そこで助けになったのがこちらのブログ
NUMBER333 さんです。
ちょくちょく検索で出てくるのでいつも助けてもらっているブログさんです。ありがとうございます。
 

wordpressのfunctions.phpに空行があると RSSの出力の際にエラーになるらしい!

さて、私のRSS出力トラブルですが、こちらのブログのこの記事でまずは解決しました。
WordPressのRSSフィードがエラーになって配信されなくなってしまったときに対処した方法まとめ
詳しく書かれていますが、私の場合は、functions.phpの空行が原因でした。
functions.phpに空行があるかどうかは、ソースコードを見るとわかるそうです。
こんなかんじで、ページの一番上の方に空行がありますね!
rss2
 
おもむろに functions.php を開いて、全ての空行を消しました。ためしにどこか1つあけたままにしたのですが、やっぱりだめでした。
 
ところがそれでは終わらなかったのです。

WordPressのfeedは取得できているが、ブラウザーが真っ白で表示されない問題の対処法

なにやらちゃんとfeedは取得できているのですが、ブラウザーが真っ白で表示されません。
でも、ソースコードを見るとちゃんとfeedのXMLが表示されています。
 
NUMBER333さんのブログには、functions.phpの空行を消してもRSSエラーが亡くならない場合の、その後の対処方法も書かれています。
ですが、なにか違う気がしていました。
そしてわかったのですが、原因は
W3 total cacheの設定ミス
でした。
つかってもいないCDNにチェックが入っていたのです。
cdn
 
 
そういえば以前、CDN使おうとしてあれこれやっていて、面倒になって途中でやめた記憶があります。
 
このチェックを外して無事 WordPressのfeedを取得することが出来ました。
 
これでプレーンなHTMLでつくった自分のネットショップに、WordPressのブログの最新記事を表示できます。
次回はその簡単な方法について書こうかと思います。
 
今日も最後までお読みいただいてありがとうございました。

-WordPress
-, , ,

Copyright© ヒバモン , 2018 All Rights Reserved Powered by AFFINGER5.