I needed to write a simple web app to automatically cache a password protected tumblr admin account, so I wrote simple symfony app to do it. It was pretty simple to do because I could leverage the sfWebBrowserPlugin which provides most of the heavy work for simulating a browser and logging into the site.
While this project is setup to cache tumblr, you can easily modify it to cache any website. It’s built in PHP on the symfony framework.
Configure it by changing the apps/frontend/config/app.yml file to add in the blog name, email, and password, with these config parameters: app_tumblr_blog_name, app_tumblr_email, app_tumblr_password
To cache a page, run it via command line:
Source is on github: Cache Tumblr Admin
I find it curious that WordPress, one of the biggest and best blogging platforms currently around does not come default with a caching plugin. I think the WordPress developers should either include one of the excellent WordPress caching plugins, or build their own and then enable it by default. Users and blog hosts worldwide would have better page load performance and improved scalability.
This blog is build with WordPress, and in my first year of blogging, one of my posts received a lot of hits. Unfortunately, the default WordPress install I had setup wasn’t able to cope with the demand effectively. It was taking 2-5 seconds for visitors to load a page. That’s unreasonable for a simple blog and I’m sure I lost a lot of visitors because of it. So I looked into ways to make my blog load faster without paying extra for better hosting hardware. That’s when I found an excellent caching plugin called Hyper Cache.
With Hyper Cache, I made my blog page load from 2-5 seconds under heavy load, to down to less than a second,Â under load the same load. The HTML itself only takes about 230ms to download, down from 4000ms, allowing the other resources to start downloading in a paralleled fashion much earlier. How is this possible? Well a caching mechanism works like this: The first time a page is requested, it will render it as normal, but what’s different is that it will save the rendered page in a special cache file. Then, subsequent visitors simply get handed this same cache file immediately, without much PHP processing required. It’s like skipping to the front of the line.
So we can see a cache has a huge effect on performance, and made a big difference to my blog, but what other benefits are there?
- Many people won’t know what a cache is, or how to install one
- Better experience for blog owners because they don’t have to learn how to install one after they experience poor site performance
- Blog is more ready to handle getting slashdotted
- Will ultimately give WordPress a much better image
In my opinion, well worth it. So WordPress team, please?