ESI Widget Issues in the Varnish, ESI, WordPress experiment

The administration interface is quite simple. When the widget is installed, drag it to the Sidebar, then, drag any widgets that you want displayed to the ESI Widget Sidebar.

esi-widget

Current issues:
* When a user is logged in and comments on a post, their ‘login’ information is left on the page if they are the first person to hit the page when Varnish caches the page. If someone is logged in and visits a post page and the page hasn’t been previously cached, the html that shows their login status is cached, though, new visitors see the information, but lack the credentials.

Addons that don’t work properly:
* Any poll application (possible solution to wrap widget in an ESI block)
* Any stat application (unless they convert to a webbug tracker, this probably cannot be fixed easily)
* Any advertisement/banner rotator that runs internal. OpenX will work, as will most non-plugin
* Any postcount/postviews addon
* CommentLuv?
* ExecPHP (will cache the output, but does work)
* Manageable

Any plugin that does something at the time of the post or comment phase, that isn’t dependent on the logged in data should work without a problem. If it requires a login, or uses the IP address to determine whether a visitor has performed an action, will have a problem due to the excessive caching. For sites where the content is needed to be served quickly and there aren’t many comments, ESI Widget would work well.

Because of the way Varnish works, you wouldn’t necessarily have to run Varnish on the server running WordPress. Point the DNS at the Varnish server and set the backend for the host to your WordPress server’s IP address and you can have a Varnish server across the country caching your blog.

Tags: , ,

2 Responses to “ESI Widget Issues in the Varnish, ESI, WordPress experiment”

  1. cd34 Says:

    Ran into an interesting issue today with the ESI widget that makes things a bit more difficult to implement.

    If a document is served with mod_deflate or mod_gzip or some other compression method, ESI parsing is disabled. So, if you use ESI, you can’t compress your content.

    Definitely something to consider when using ESI versus completely static caching.

  2. cd34 Says:

    In order to allow comments, VCL needs to be adjusted to allow cookies throughout the site. I’ll probably summarize a few of these issues on another post.

Leave a Reply

You must be logged in to post a comment.

Entries (RSS) and Comments (RSS).
Cluster host: li