How to Reduce Your Server Response Time with WordPress. Part 1.

A fast server response time is one of the most important factors for site load speeds. It doesn’t matter how smushed your images are, how compressed your scripts, if the server takes seconds to respond.

To a certain extent, there’s only so much you can control with your server. I’ve attempted to list as many factors as I can that can help you speed up your server, which in turn helps your site load quickly and your PageSpeed ranking increase.

Reduce Plugins

Yes, I know. One of the primary selling points of WordPress is the ability to use plugins to dramatically expand functionality of the platform. If you’ve been using WordPress for long enough, you likely have a stable of plugins you can’t live without. Feature enhancements, security plugins, all sorts of customizations; they’re the creature comforts that make WordPress worth using.

Some plugins are entirely passive and only apply to certain actions your users never see. A plugin that you run once to audit your backlinks doesn’t affect server response time unless you’re actively running a scan, using server resources. A plugin that crunches down image file size at upload doesn’t come into play outside of an image upload.

Still, many plugins affect server speeds simply by existing. In general, it’s a good idea to reduce the number of plugins you use. For example, there are plugins for adding a Favicon to your site, but why do you need to have a plugin for that when you can simply add the code to your theme instead?

Some plugins you want to keep, of course. A good SEO plugin has too much value to ignore. A spam-filtering plugin like Akismet is essential if you keep comments enabled. A security plugin is more crucial than ever in these days of constant site breaches.

While you’re at it, update any plugins you can. For one thing, as plugins proceed in development, they tend to gain both features and optimizations. It’s possible that an older, clunkier version of a plugin can be updated to take up fewer server resources and speed up your site. You also want to keep plugins up to date so they don’t become security issues in the future.

Special note: be wary of any plugin that is known for slowing down your site. One way this happens is with premium, closed-source plugins with encrypted code. In order to decrypt these plugins so they can run, your server needs to call back to the plugin host’s server, which by definition adds time to every interaction. You might also want to double-check that you’re not using a plugin that makes constant database queries, like any of these.

Adopt a Speed Architecture

The Genesis framework for WordPress, offered by StudioPress, is a sort of alternate framework for WordPress. It takes all of the default architecture WordPress has put together and hacks it around, ruthlessly optimizing and culling slow bits until it’s focused entirely on speed.

The downside to using a framework like this is it limits you in terms of what other plugins or themes you can use. It’s sort of like using a different CMS entirely, just with all of the back-end functionality you expect from WordPress. Give it a look; it might be worth investigating, or it might rule out certain features you really can’t live without.

Implement Caching

With WordPress, when a user sends a request to fetch a page on your website, your server has to query your database back and forth. It needs to pull static resources like images and theme files from one area, and it needs to pull or generate dynamic content from outer sources. All of this requires repeated server calls.

This is fine for one user, but what happens when you have hundreds or thousands of people making requests for the same page? That’s a lot of redundant loading. Why not just create and render the page for one person, and then save that rendered version and serve it to all the others?

Obviously, this only works if the page doesn’t change from person to person, but how often does a site change like that? Minor elements change, like ads or related posts, but the text, the navigation, and the majority of the site never changes.

Caching allows your server to save these rendered versions of the site to serve to new visitors, minimizing a lot of server calls and reducing server loads. You can do caching in a bunch of different ways, typically with plugins. Theme Isle has a really good rundown on caching you can read here.

You can also implement caching on the server side, forcing caching through Apache or NGINX. That’s a bit more complex, though, so I’ll leave it to you to dig in if messing with server infrastructure is something you feel comfortable doing.

Use a Content Delivery Network

A huge portion of the load on your server is loading large files, and 99% of the time, the large files you’re loading are going to be images, videos, and other forms of media. Consider that the text for this entire article is around 10kb. Now consider that the logo for this site, up there in the corner, is 5kb. Any larger image is going to be 20kb, 50kb, or even more, and that’s smushed down. Videos, meanwhile, are measured in mb or even gb for long, HD video.

Media content is huge, and it takes time to load from a server. The further the server is away geographically from the user, the longer it takes. This is why content delivery networks were created.

A CDN can go a long way towards speeding up your site, by offload the onus of loading media from your server. Who do you think has more server resources to dedicate to loading your image, your web host, or Amazon?

Of course, you need to choose a good CDN, you need to configure it properly, and you need to offload your media to it. It’s not a trivial matter, but it’s a huge benefit when set up properly.