WordPress(Luxeritas + SyntaxHighlighter Evolved)でRSSフィードが壊れた原因と対処法


このブログは WordPress に Luxeritas テーマを使って運営しています。普段は快適なのですが、ある日突然「RSSフィードが壊れている」と指摘されました。
ブラウザ表示は正常でも、RSSリーダーや検索エンジンでは記事を取得できない状態になっていたのです。
原因を追いかけてみると、SyntaxHighlighter Evolved プラグインを使ったコードブロックや、テーマやエディタが出力する余計なタグがフィードを壊していることがわかりました。
どこまで直せば安心できるのか
- まずは W3C Feed Validator で「This is a valid RSS feed.」と表示されること。
- この段階で RSS として最低限の安心は得られます。
以下のようなエラーがでていました。
実際にどうやって直したか
コードブロックをリストから外に出す
SyntaxHighlighter Evolved の を
<ul><li>
の中に書くと、RSS出力では </p>
が余分に入り、フィードが壊れてしまいました。
そのため、コードはリスト項目から外に出してシンプルに書くようにしました。
余計なタグを整理
Luxeritas テーマやブロックエディタで記事を作ると、以下のようなタグが自動的に出力されることがあります。
<strong><strong>…</strong></strong>
のような二重タグ<strong></strong>
のような中身が空のタグdata-start
やdata-end
といった Gutenberg の内部用属性
これらが残っていると RSS 出力時に <p>
の残骸が生成され、パースエラーにつながりました。記事編集画面で HTML モードに切り替え、不要なタグや属性を削除しました。
サイトアイコンのファイル名を修正
意外な落とし穴として、サイトアイコンに日本語ファイル名の画像を設定していたことも RSS エラーの一因でした。
WordPress 自体は表示できるのですが、RSS 出力や一部のリーダーは日本語ファイル名を正しく処理できず、不正な URL になっていました。
→ 英数字のファイル名に変更し、再アップロードすることで解決しました。
バリデータで確認
修正後、再度 W3C Feed Validator にかけたところ「This is a valid RSS feed.」と表示されるようになり、エラーは解消されました。
今後の取り組み
- RSS Advisory Board Validator では「valid」ではあるものの、
data-start
やdecoding
属性など余計なものが多数指摘されています。 - Luxeritas テーマや SyntaxHighlighter Evolved が生成する出力をシンプル化する方法を調査し、警告ゼロを目指したい。
- 定期的にバリデータで確認し、RSSリーダーや検索エンジンに安心して届けられる状態を保つ。
まとめ:同じ問題に悩んでいる方へ
- WordPress + Luxeritas + SyntaxHighlighter Evolved の組み合わせでは、コードブロックや余計なタグが RSS フィードを壊すことがある。
- コードはリストの外に出し、二重タグや空タグを整理するだけでも改善できる。
- バリデータで「valid」を確認し、さらに互換性向上を目指すのが安心。