【お知らせ】弊サイトにおけるRSSフィードが正常に配信されない問題について

  1. ottan
  2. 公開日:
  3. Windows
  4. 0
1
SHARES
B!

OTTAN.XYZをいつもご覧いただきありがとうございます。弊サイトにおいて、一定期間、RSSフィードが正常に配信されていない状態であったことがわかりました。現在は正常に配信されることが確認できておりますので、お手数ですがRSSフィードを登録していただいていた方は、再度ご登録をお願い致します。

https://ottan.xyz/feed/

RSSフィードが正常に配信されなかった原因

RSSフィード配信時に、RSS中のノイズ(特定のショートコードやHTMLタグなど)を除去するために、RSSフィードをカスタマイズ配信しておりましたが、カスタマイズ方法に問題があり、WordPressのRSSフィード配信機能を使用して正常に配信できておりませんでした。

function my_content_feeds( $content ) {
	$content = apply_filters( 'the_content', get_the_content() );
	$content = preg_replace( '/<figure>.*?<\/figure>/s', '', $content );
	// 本来はここでHTMLタグ等を除去する必要がある
	return $content;
}
add_filter( 'the_excerpt_rss', 'my_content_feeds' );
add_filter( 'the_content_feed', 'my_content_feeds' );

WordPressでは、RSSフィードにおいて本文を抜粋して配信する際に、the_excerpt_rss()関数を呼び出しています。ブログ記事本文中にアイキャッチ画像を含める場合、弊サイトではCC0ライセンスの画像を原則として使用しておりますが、画像の著作権表記の有無に応じて、クレジット表記を行っていることがあります。その場合、ブログ記事のトップにその旨を記載しておりましたが、アイキャッチ画像はRSS配信には含めていなかったため、RSS配信時においてはクレジット表記を除去して配信していました。

functions.phpに、上記のようなソースコード(サンプルです)を追加することにより、特定のタグやクラス等を除去することにより対応していましたが、上記のソースコードにおいては、ブログ記事の本文をそのまま取得することになり、HTMLタグ等が全て含まれている状態で配信されていました。本来であれば、特定のタグやクラス等を除去したあとに、全てのHTMLタグを除去(strip_tags()関数等を使用する)すべきところ、HTMLタグが含まれた状態のまま配信されていたため、フィードファイル(XML)が構文エラーを起こし、正常にRSSフィードが読み込めない状態となっていました。

https://validator.w3.org/feed/

現在は、上記サイトにおいてバリデーションエラーが発生していないことを確認しております。feedly等、RSSフィード配信サービスをご使用いただき弊サイトをご覧いただいていた方々には大変ご迷惑をおかけいたしました。現在は正常に復旧しておりますので、引き続きRSSフィードの登録をお願いできればと思います。フィードのURLは下記の通りとなります。

https://ottan.xyz/feed/
この記事が気に入ったらいいねしよう!
こちらの記事も読まれています
関連記事はありません。
ご意見ボード
匿名で管理人に送信されます。※送信専用です。返信はできません。
ご指摘・ご意見
Top