WordPressでブログなどを複数していると、
RSSで更新情報を飛ばしたりすることはよくあると思うのですが、
更新してもなかなか反映されないっていう方多いと思います。
原因は様々ですが、ひとまずこれの設定は頭に入れておくといいかなと。
RSSに更新情報が反映されない理由
そもそもWordPressがキャッシュを保持するのが原因らしく、
キャッシュが保持されていると、
新しいRSSになってもキャッシュを参照するために更新されないとのこと。
というわけで、僕が変更した設定を備忘録的に書いておきます。
僕が試したのは2つ。
その1『rss.phpを変更する。』
WordPressのフォルダーの中のwp-includesフォルダーの中のrss.php
を開いて、724行目あたり(バージョンが変わると変わるっぽいです)にある
class RSSCacheの設定を変更します。
class RSSCache { var $BASE_CACHE; // where the cache files are stored var $MAX_AGE = 43200; // when are files stale, default twelve hours var $ERROR = ''; // accumulate error messages
上記の726行目がまさにその設定。
初期状態がその後ろに説明がある通り(default twelve hours)43200秒=12時間になっています。
これを適当に3600秒=1時間とかにすると、その分キャッシュの更新頻度が短かくなるというわけです。
その2『class-feed.phpを変更する』
先ほどと同じところ、WordPressのフォルダーの中のwp-includesフォルダーの中にある
class-feed.phpを開いて、19行目あたり(こちらもバージョンによって変化)にある
class WP_Feed_Cache_Transientの設定を変更します。
class WP_Feed_Cache_Transient { var $name; var $mod_name; var $lifetime = 43200; //Default lifetime in cache of 12 hours
上記の22行目がその設定。
初期状態が先ほどと同様に43200秒=12時間になっています。
こちらも適当に3600秒=1時間とかにすると、その分キャッシュの更新頻度が短かくなるというわけです。
他にも色々な要因で遅くなることもあるようなので、
ひとまずこちらの方法を試して駄目だったら、またググってくださいな!
ちなみに、こちらの設定はWordPressのバージョンをアップすると書き換えられてデフォルトになるみたいです。
バージョンアップ時はご注意ください!
久しぶりに技術系情報を書きました!
ちゃんと仕事もしているんですよ!!
参考サイト
RSSウィジェットの更新に半日のタイムラグが起こる問題を解決する!WordPress via affiliate hack!
売り上げランキング: 3,810