今回はRSSフィードの反映不具合に関して記載して行きたいと思います。
厳密に言うとエラー画面が出ていないのにRSSが反映されないという不具合に関して記載致します。
エラー画面が表示されている場合はWordPressであれば、functions.phpを触った際に空行を入れてしまったコトなどが原因かもしれません。
1.不具合の状態
下記画像のBLOGと言う文字列の下に普段は取得したRSS情報が反映されているのですが、ふと気づくと真っ白な状態になっていました。
2.原因の特定
- RSS自体、キチンとはき出せているか?
WordPress環境の場合、ドメインの後ろに/feed/と付けると飛ぶページです。
↓
無事にはき出されていました。
- 取得したRSSをはき出すスクリプトに異常が無いか取得するURLを他のサイトに変更。
↓
他のサイトのRSSは反映された。
- 上記の1で、RSSをはき出せてはいたが構文に間違えはないか?
Feed Validation Serviceを使用してチェック。
↓
エラー確認。
XML parsing errorです。
この場合、記号がエスケープされていなかったり、不正文字が使われているコトが主な原因となります。
どうやらFont Awesome -反映不具合-と言う記事のタイトルに問題があるとのコト、ぱっと見ではわからないので不正文字が入っている確率が高いと判断し、投稿画面のタイトルをコピーしテキストエディタ(sublime text)にペーストしてみました。
すると「BS」という制御文字を発見。
これが原因でした。
※どのテキストエディタでも見つけられる訳ではありません。
(sublime text、Macならmiなどで出ます)
3.問題の解決法
BS部分を取り除いてタイトルの付け直しでOKです。
無事に反映されました。
BSと言う制御文字が入ってしまった原因はコピペだと思われます。
過去の記事の中にある「Font Awesome -使い方-」のタイトルをブラウザ上でコピーして、新しいFont Awesomeの投稿タイトルに使ったのが原因かなと。
ブラウザ上のコピーだけではなく、PDF、Wordなどのコピーであってもこのような見えない文字が入ってしまうコトがあります。
もし見えない文字が視覚化出来るテキストエディタがない場合は、一度該当の部分を消して手打ちで入力し直してみると解決すると思います。