WordPressでRSSフィードのタイムラグを解消する

WordPress
スポンサーリンク

外部サイトのRSSフィード取得は通常12時間ごと。

つまり、最悪12時間はフィード先の最近記事を表示できないことになるので、
この待ち時間を短縮するにはfunctions.phpを編集します。

RSSフィードの待ち時間を0する

function ha_turn_off_feed_caching($feed){
  $feed-> enable_cache(false);
}
add_action('wp_feed_options','ha_turn_off_feed_caching');

リアルタイムに近くなる分、これだとサーバーによっては、
ページの表示時間がかなり遅くなります。

RSSフィードの待ち時間を指定して短縮する

function ha_feedcachetime( $seconds ) {
    return 7200;// 2時間(7200秒)
}
add_filter('wp_feed_cache_transient_lifetime','ha_feedcachetime');
$feed = fetch_feed( $feed_url );
remove_filter('wp_feed_cache_transient_lifetime','ha_feedcachetime');

待ち時間0のときと比べ、ページ表示負荷は抑えられます。

ただ、これも環境によるので、まだ負荷が大きいという場合は、
さらに時間を伸ばした方がいいかもです。

コメント

タイトルとURLをコピーしました