Varnish/Nginx Proxy Caching
Complete WordPress Varnish Cache 3.x/4.x/5.x and Nginx Proxy Cache integration. This plugin handles all integration with Varnish Cache and Nginx Proxy Cache. It was designed for high traffic websites. Main features admin interface, see screenshots console for manual purges, supports regular expressions so you can purge an entire folder or just a single file supports every type of Varnish Cache implementation, see screenshots for examples unlimited number of Varnish Cache servers use of custom headers when communicating with Varnish Cache does not interfere with other caching plugins, cloudflare, etc Varnish Cache configuration generator purge key method so you don’t need to setup ACLs debugging actively maintained You can control the following from the Varnish Caching admin panel : Enable/Disable caching Homepage cache TTL Cache TTL (for every other page) IPs/Hosts to clear cache to support every type of Varnish Cache implementation Override default TTL in posts/pages Purge key based PURGE Logged in cookie Debugging option console for precise manual purges This plugin also auto purges Varnish Cache / Nginx Proxy Cache when your site is modified. Varnish Caching sends a PURGE request to Varnish Cache / Nginx Proxy Cache when a page or post is modified. This occurs when editing, publishing, commenting or deleting an item, and when changing themes. Not all pages are purged every time, depending on your Varnish / Nginx Proxy Cache configuration. When a post, page, or custom post type is edited, or a new comment is added, only the following pages will purge: The front page The post/page edited Any categories or tags associated with the page Varnish Cache / Nginx Proxy Cache is a web application accelerator also known as a caching HTTP reverse proxy. You install it in front of any server that speaks HTTP and configure it to cache the contents. This plugin does not install Varnish/Nginx for you, nor does it configure Varnish/Nginx for WordPress. It’s expected you already did that on your own using the provided config files. Inspired from the following : https://wordpress.org/plugins/varnish-http-purge/ https://github.com/dreamhost/varnish-vcl-collection/
Top keywords
- cache20×5.71%
- varnish15×4.29%
- varnish cache10×2.86%
- nginx8×2.29%
- proxy7×2.00%
- nginx proxy6×1.71%
- nginx proxy cache6×1.71%
- page6×1.71%
- proxy cache6×1.71%
- purge6×1.71%
- caching5×1.43%
- post4×1.14%
WP-PJAX
THIS PLUGIN IS STILL EXPERIMENTAL – USE AT YOUR OWN RISK! The plugin is under development. Please try it and contact me if you encounter any bugs or have any questions or suggestions. If you want to help me develop this further send a pull request on GitHub. The plugin is not ready for production yet, but I will soon release version 0.1 that will be production ready. WP-PJAX – PJAX for WordPress Plugin. Makes your site faster and saves you a lot of bandwidth and CPU power by making your WordPress site PJAX powered! What is PJAX? PJAX is a technique that uses AJAX and PushState to deliver a faster browsing experience by only loading and updating parts of the page HTML each page load. PushState makes it possible to add real permalinks, page titles, and a working back button so that your visitors won’t be able to tell the difference between PJAX page load and ordinary full page loads, except for the increased speed of course :). Why PJAX? It makes your site significantly faster in most cases and saves you both processing power and bandwidth! Features Speeds up any website. With the built in page cache enabled you can expect 10-50+% faster page loads. Supports 4 Levels of application cache! This plugin uses browser cache and page cache. It is also enabling reverse proxy(i.e. Varnish) cache by (optionally) striping sessions and cookies and it works very well with underlaying object and database cache using third party cache plugins such as W3 Total Cache (recommended). Works well with W3 Total Cache. Configurable. No need to dig into the code. You will still need basic knowledge about HTML and how WordPress works to make this plugin reach it’s full potential. Live notices with a report for every page load (Load time, page cache hit or miss, Reverse proxy/Varnish cache miss or hit etc – See screenshot). This is great for debugging and testing and is of course only visible for admins. Only a few changes in your theme and you are ready to go. Should not take more than 5 minutes and requires only basic knowledge. Browser support PJAX is not supported in Internet Explorer 9 and earlier(IE 10+ supports this), but the plugin handles this gracefully by falling back on regular page loads for unsupported browsers. Details on browser support Development All development of this plugin occurs on GitHub. Please help me develop this by forking and sending pull requests. Planned features / To-Do Better handling of menu active classes. Will probably use regex for this. Support for marking parent pages active would be nice but I don’t know any good ways to accomplish that. Better control over exceptions for when to disable PJAX, when you use Page cache, and when and what cookies and sessions that should be striped. Regex support will be added. Refresh cache on publish/update. Separate loading of sidebars with separate cache. Page loading notice / icon. This should also be customizable with css, text(localizable) and it should be possible to upload your own icon. Page cache prefetch needs to be revisited. WP-Cron is a bit tricky and its hard to handle timeouts gracefully and reliably cross different environments. Remove all debug code and general code cleanup. This will be finished before the 0.1 release. Add an optional menu to the admin bar for clearing cache(all and current page). Optimize execution flow for better performance Maybe: Better way to generate the configurable javascript. I think of two options for this, ether use wp_localize_script to inject variables into javascript or to generate a javascript with PHP file when settings are saved. Known issues The PJAX toggle checkbox does not work. $.pjax.disable() does not seam to work as it should. Maybe I need to set a cookie with AJAX to set this for the current user and then handle it on the server side. Development All development of this plugin occurs on GitHub. Please help me develop this by forking and sending plull requests.