Varnish HTTP Purgeプラグインでパージ対象URLを調整する


WordPressのキャッシュサーバにVarnishを使用してる場合は、Varnish HTTP Purgeプラグインを使うことによってキャッシュを適宜消すことが出来て便利ですね。
Varnishはキャッシュ有効期間をすぎるか、purgeしない限りキャッシュは消えません。
Varnish HTTP Purgeプラグインを使うことで記事の更新時に記事ページと関連ページのキャッシュをパージできます。

purge対象URLのを調整したい場合は、フィルターが用意されてるので使えば良いたとえば下記のように


add_filter( 'vhp_purge_urls', 'purge_url_filter', 10, 2 );
function purge_url_filter($purgeurls, $postId) {
   $filterurls = array();
   //purge対象から外したいURLをfilter_urlsにarray_push
   array_push($filterurls,
       get_author_posts_url( get_post_field( 'post_author', $postId ) ),
       get_author_feed_link( get_post_field( 'post_author', $postId ) ),
       get_bloginfo_rss('rdf_url') ,+       get_bloginfo_rss('rss_url') ,
       get_bloginfo_rss('rss2_url'),
       get_bloginfo_rss('atom_url'),
       get_bloginfo_rss('comments_rss2_url'),
       get_post_comments_feed_link($postId)
   );
   //purge対象URLを追加するにはpurgeurlsにarray_push
   array_push( $purgeurls, home_url() . '/hogehoge' );
   $urls = array_diff($purgeurls,$filterurls);
   return $urls;
}

https://qiita.com/karumado/items/8146bfc736238b9d36ab からの転記
Written with StackEdit.