{"id":16382,"date":"2012-01-10T08:24:45","date_gmt":"2012-01-10T08:24:45","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/cd34-varnish-esi\/"},"modified":"2012-02-27T15:33:01","modified_gmt":"2012-02-27T15:33:01","slug":"cd34-varnish-esi","status":"closed","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/cd34-varnish-esi\/","author":640397,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2","stable_tag":"trunk","tested":"3.3.2","requires":"2.6","requires_php":"","requires_plugins":"","header_name":"Wordpress Varnish ESI Widget","header_author":"Chris Davies","header_description":"","assets_banners_color":"92cef0","last_updated":"2012-02-27 15:33:01","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/code.google.com\/p\/cd34-wordpress\/wiki\/WordpressVarnishESI","header_author_uri":"http:\/\/cd34.com\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":1656,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"":"<ul>\n<li>Updated VCL to actually use ESI<\/li>\n<li>fixed ESI handler path<\/li>\n<\/ul>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":[],"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":"493300","resolution":"772x250","location":"assets"}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-2.png":{"filename":"screenshot-2.png","revision":"1538965","resolution":"2","location":"plugin"},"screenshot-1.png":{"filename":"screenshot-1.png","revision":"1538965","resolution":"1","location":"plugin"}},"screenshots":{"1":"<p>Move the ESI Widget to the sidebar, populate the ESI Widget Sidebar\nwith the Widgets you want displayed.<\/p>","2":"<p>Configure the plugin with the IP address(s) or Hostname(s) of your\nVarnish Servers. You'll need to make sure your VCL allows the server\nto purge.<\/p>"}},"plugin_section":[],"plugin_tags":[146,144,16699,3886],"plugin_category":[52],"plugin_contributors":[87697],"plugin_business_model":[],"class_list":["post-16382","plugin","type-plugin","status-closed","hentry","plugin_tags-cache","plugin_tags-caching","plugin_tags-esi","plugin_tags-varnish","plugin_category-performance","plugin_contributors-cd34","plugin_committers-cd34"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/cd34-varnish-esi_92cef0.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/cd34-varnish-esi\/trunk\/screenshot-1.png?rev=1538965","caption":"<p>Move the ESI Widget to the sidebar, populate the ESI Widget Sidebar\nwith the Widgets you want displayed.<\/p>"},{"src":"https:\/\/ps.w.org\/cd34-varnish-esi\/trunk\/screenshot-2.png?rev=1538965","caption":"<p>Configure the plugin with the IP address(s) or Hostname(s) of your\nVarnish Servers. You'll need to make sure your VCL allows the server\nto purge.<\/p>"}],"raw_content":"<!--section=description-->\n<p>This plugin uses <a href=\"https:\/\/www.varnish-cache.org\/\">Varnish<\/a> and <a href=\"https:\/\/www.varnish-cache.org\/docs\/3.0\/tutorial\/esi.html\">ESI<\/a> to cache the sidebar separately from the page and aggressively uses Purges so that you can set long expire times without worrying about comments and post edits not showing up immediately.<\/p>\n\n<p>I did a presentation on the methodology behind this which explains how\nthe plugin works. <a href=\"http:\/\/cd34.com\/blog\/scalability\/wordpress-varnish-and-esi-plugin\/\">Blog Post<\/a><\/p>\n\n<p>Should you use this?<\/p>\n\n<p>Probably not.<\/p>\n\n<p>If you're on a Virtual server, it is likely that you won't be able to install\nVarnish or run your site behind it. If you are able to run Varnish, the use\ncase for this plugin is a little different than <a href=\"http:\/\/wordpress.org\/extend\/plugins\/wordpress-varnish\/\">Wordpress-Varnish<\/a>.<\/p>\n\n<p>If you are trying to cache your site where your visitors are hitting one\nor two pages and you don't get many comments, <a href=\"http:\/\/wordpress.org\/extend\/plugins\/wordpress-varnish\/\">Wordpress-Varnish<\/a> will result in faster pageloads.<\/p>\n\n<p>If your site is dynamic and you receive a lot of comments, or, your visitors\nare likely to surf multiple pages rather than a single landing page, using\nESI will probably provide enough benefit to make the plugin worthwhile for \nyou.<\/p>\n\n<p>Image used under Creative Commons License from <a href=\"https:\/\/www.varnish-software.com\/blog\/superbunny-under-cc-license\">Varnish Software<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Appearance, Widgets, drag the ESI Widget to Sidebar 1<\/li>\n<li>Drag the Widgets that you want to display on your sidebar to the\nnewly created ESI Widget Sidebar.<\/li>\n<li>Settings, Varnish ESI Widget, Set the Server IP(s) that the plugin\nneeds to communicate with to purge.<\/li>\n<li>Make sure you have configured Varnish with the included default.vcl\nor with one that you have created that allows the plugin to issue BANs.\nVerify your ACL is set to allow purging.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt>Why is this approach better than other caching systems?<\/dt>\n<dd><p>The worst queries in Wordpress are usually contained within the sidebar. If\nyour content is engaging and someone browses from one page to the next, \nmost caching plugins need to generate the page and sidebar on a fresh visit.\nSince this plugin caches the sidebar separately using ESI, the only \nqueries executed on the second and successive pages is the page content - \nnot the sidebar.<\/p><\/dd>\n<dt>What Plugins break with this?<\/dt>\n<dd><p>Any plugin that requires the page to load and not be served from cache\nwill break. Since your page might be served from Varnish, it will never\nhit the backend server. Statistics plugins are generally affected, but\nGoogle Analytics and Pikwik do work properly. Banner ad solutions also\nneed to serve the content through an IFrame or Javascript rather than\ndepending on a pageload.<\/p>\n\n<p>WP Greet Box and WP Post Views are known to break with caching.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2<\/h4>\n\n<ul>\n<li>updated VCL to actually parse for ESI<\/li>\n<li>fixed ESI handler path<\/li>\n<\/ul>\n\n<h4>0.1<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"This plugin uses Wordpress + Varnish and caches the sidebar with ESI.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/16382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=16382"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/cd34"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=16382"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=16382"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=16382"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=16382"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=16382"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=16382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}