サイトのRSSフィードをチェックしたらエラーを吐き出していたので修正しました。
WordPress特有の問題かと思いきやそんなことはなかったのでメモ。
当サイトのRSSはこちらです。→ https://libsy.net/feed
広告 (SPONSORED LINK)
エラー内容と解決方法
W3C Feed Validation Serviceで確認。
ハイライトされた115行目に不可視文字が入っていました。
web上だと見えませんが、Bracketsなどのエディタにコピペすると不可視文字が確認できました。
記事タイトルの不可視文字を消して更新すると、フィードが配信されるようになりました。
参考:WordPressでRSSフィードがエラーとなった時の対処方法
その他のエラー解決法(今回はやらなくてよかったこと)
functions.php の余計な空行を消す
functions.phpに、<?php ?>
で囲まれた部分の外に空白や空行が含まれると、WordPressから出力されるhtmlの上部に空行が挟まれるそうです。
参考:WordPress でページのソース上部に空行ができる – カラクリ.jp
wp-includes/feed-rss2.php等の書き換え
フィードの<?xml
宣言より前に空行が挟まれる場合は、以下のPHPの2行目にob_end_clean();
を挿入する。(出力のバッファリングを制限)
- wp-includes/feed-rss2.php
wp-includes/feed-rss2-comments.php
<?php
ob_end_clean();
今回はこれが原因ではありませんでしたが、調べたので一応メモ。
(これWP更新する度に書き直さなくてはいけないから面倒そうですね)