wordpressのパーマリンク設定を
「投稿名」から「カスタム投稿」へ設定変更し
http://example.com/blog/%category%/%postname%/
へ変えて、投稿名の上にカテゴリ名を表示させる
カテゴリ階層をもつURLへと変更しました。
すると、RSSフィードがうまく更新されなくなり
パーマリンク設定変更する前の記事が
RSSフィード生成されなくなったので
その対応方法を調べてみました。
目次
wordpressでRSSフィードが出力されるURLはどこ?
まず、wordpressのRSSフィードが出力されるURLを確認しましょう。
http://example.com/?feed=rss2
基本的にはこちらのURLにRSSフィードが出力されるはずです。
参考:
【RSSフィードのURL】確認方法まとめ。Wordpress・ライブドア・FC2・Yahooブログ・その他。 : 僕の私の備忘録
WordPressのカテゴリ別RSSフィードURLについて | NB-STYLE – ネットビジネススタイル
RSSフィードが更新されない→キャッシュ保持時間の可能性
まず疑わしい点として
キャッシュ保持時間が長すぎるために、RSSフィードに
記事更新が反映されていないというケースがあります。
その場合の対象方法は、以下の通り。
feed.phpを編集して、キャッシュ保持時間を変更
以下のファイルを修正。
/wp-includes/feed.phpwp_feed_cache_transient_lifetime’, 12 * HOUR_IN_SECONDS, $urlこれを・・・
wp_feed_cache_transient_lifetime’, 1800, $urlこうして、おしまい。
WordPressのRSSフィードが更新されない時の対処法 – one’s way blog
この設定を行ったら
30分後に、もう一度RSSフィードURLを
確認してみてください。
RSSフィードが生成されない→文法エラー(内部エラー)の可能性
キャッシュの問題以外にも、構文エラーのせいで
RSSフィードがうまく生成されていない場合があります。
私の場合も、他ページでRSSフィードから
記事タイトルを取得しようとしたところ
DOMDocument cannot parse XML: internal error: detected an error in element content
というエラーが取得先から出力されました。
これは
「内部エラーがありますよ!」
と伝えてくれているので
↓のサイトで、RSSフィードに関するエラー部分を調べます。
W3C Feed Validation Service, for Atom and RSS
こちらのサイトのボックスに
自分のサイトのURLを入れてチェックをしてみてください。
feed生成に関するエラー部分を指摘してくれます。
該当部分を修正すれば
うまくRSSが生成されるようになっているはずです。
Leave a Reply