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

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> が余分に入り、フィードが壊れてしまいました。
そのため、コードはリスト項目から外に出してシンプルに書くようにしました。

<li>PowerShellで以下を入力</li>
<pre><code>powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61</code></pre>

余計なタグを整理

Luxeritas テーマやブロックエディタで記事を作ると、以下のようなタグが自動的に出力されることがあります。

  • <strong><strong>…</strong></strong> のような二重タグ
  • <strong></strong> のような中身が空のタグ
  • data-startdata-end といった Gutenberg の内部用属性

これらが残っていると RSS 出力時に <p> の残骸が生成され、パースエラーにつながりました。記事編集画面で HTML モードに切り替え、不要なタグや属性を削除しました。

サイトアイコンのファイル名を修正

意外な落とし穴として、サイトアイコンに日本語ファイル名の画像を設定していたことも RSS エラーの一因でした。
WordPress 自体は表示できるのですが、RSS 出力や一部のリーダーは日本語ファイル名を正しく処理できず、不正な URL になっていました。
→ 英数字のファイル名に変更し、再アップロードすることで解決しました。

サイトアイコンの変更

バリデータで確認

修正後、再度 W3C Feed Validator にかけたところ「This is a valid RSS feed.」と表示されるようになり、エラーは解消されました。

This is a Valid RSS feed.


今後の取り組み

  • RSS Advisory Board Validator では「valid」ではあるものの、data-startdecoding 属性など余計なものが多数指摘されています。
  • Luxeritas テーマや SyntaxHighlighter Evolved が生成する出力をシンプル化する方法を調査し、警告ゼロを目指したい。
  • 定期的にバリデータで確認し、RSSリーダーや検索エンジンに安心して届けられる状態を保つ。

まとめ:同じ問題に悩んでいる方へ

  • WordPress + Luxeritas + SyntaxHighlighter Evolved の組み合わせでは、コードブロックや余計なタグが RSS フィードを壊すことがある。
  • コードはリストの外に出し、二重タグや空タグを整理するだけでも改善できる。
  • バリデータで「valid」を確認し、さらに互換性向上を目指すのが安心。

サーバ&テクノロジ

Posted by 納戸 工房