Obviously seeing a huge amount of people visit your WordPress site is the aim of the game. But to coin a cliché, that dream can easily turn into a nightmare as your site is overwhelmed by the surge in traffic and potential customers are forever lost when they see a “site not available” message plastered across their screen. When these alarm bells ring, scaling up your website is essential!
The 2 Golden Rules of Scaling Your Website
There are two golden rules you should always follow when running a WordPress site which, for good measure, will also assist you when it comes to scaling your site upwards. The first is to keep everything up to date.
Plugin and Core updates can bring performance improvements and fix security flaws that could leave your site open to attack. For example, if you haven’t updated PHP on your website for a while, you’ll be at high risk of being hacked.
The second golden rule walks hand in hand with the first: ensure you have regular backups of your site’s codebase and content. Though keeping the site updated is important, there is always the risk of a plugin modification or core update introducing issues. Having site backups that you can re-deploy if things go wrong is a safety net in these situations.
There are numerous tools available for this, one such tool we recommend at Powered by Coffee is managewp which we’ve used to support numerous client sites. Its user interface is straightforward and intuitive, making it perfect for non-technical site admins.
Managewp also allows you to update plugins from the same place where you can view and create backups. If the worst-case scenario happens, you can also reload the site from a backup and clone your site to a fresh WordPress installation all with a couple of mouse clicks.
The free plan is good for small sites and their monthly costs for having regular daily backups. Handy additions, such as site downtime alerts, run into the single dollar digits making it an affordable solution for all.
It’s All About Image
Images can add significant weight to a website. The more images and the larger they are, the slower your site will load and that can seriously impact your site’s bounce rate.
“But why does the size of your images matter?”, you might say. Well, having huge images isn’t necessarily going to give you great gains in quality when viewed on a small device. Instead, they will drain your user’s battery and search engines like Google will penalise you for this, damaging your overall SEO score.
A top tip from web developers on images is to build in responsive images and find tools using helpful tools like the Timber Twig framework. Here at Powered by Coffee, we already use these tactics. Timber Twig, in particular, resizes the images so that you can easily create your img srcset or picture element with your tailored image sizes against numerous viewports. Better yet, you can also easily create retina-ready versions of your image and even perform webp conversion.
Scaling Up with Plugins
Looking for a non-coder friendly option for your image resizing? WordPress has you covered with its large selection of plugins. One such plugin we can recommend to help reduce your image sizes automatically is smushit. It can scan through your media library stripping images of unnecessary data thereby making file size reductions and speed gains without impacting on the original image quality. A great solution for designers, photographers, or brands with a large product portfolio.
The plugin also offers up ‘lazy loading’ which is the term given to when the images only load when they are about to appear on the screen. This helps pages load faster as they don’t have to load all the images at once, a handy tool for those long-read or detailed articles.
The image scanning performed by smushit is capped for free plan user, however, there are a plethora of benefits when you go premium. If you’re curious but not sure if you want to invest straight away, you can check out this article on the batch optimisation the plugin performs.
Another plugin worth looking into is autoptimize. Offering some of the same functionalities as smushit, the only thing missing is image optimisations. However, the plugin does offer the ability to optimise your css and js. This process will bring the numerous files into one file, increasing speed performance by reducing the http requests that need to be made to download your website.
Caching in on Scale
Website caching is another big consideration when it comes to scaling up your site. When you view a WordPress site the content has been building in the milliseconds prior to it appearing on your device screen. This includes everything from code in files and content from a database. It’s given the term ‘caching’, which is essentially the process of creating copies of webpages to reduce the amount of ‘building’ that needs to occur every single time the page is requested.
On small sites this isn’t likely to be of great concern, but when you have high levels of traffic any performance gains, it could make a huge difference to the success of your site and subsequent business.
Unsurprisingly, there are numerous plugins available to handle caching. W3 Total Cache and WP Super Cache are the two that we would recommend to our clients. These plugins are highly configurable and certainly worth considering. Though, despite being hotly debated in-house, I personally Redis. Though there is no definitive one-size-fits-all plugin, redis ultimately serves my needs best.
Redis caches database queries meaning the database is queried less often. In English, this means that fewer server resources are consumed and thus, allow your site to run faster. Redis is a great caching system, although does require a php extension install which may not be an option for everyone reading this article. If you’re looking for an easier option, W3 Total Cache and WP Super Cache are your best bet.
Caching with Cloudflare
We couldn’t talk about caching without mentioning Cloudflare. It offers up the benefits of cloud computing without you having to make any changes to your site’s existing location.
By simply signing up for a Cloudflare account and switching your site’s DNS to use Cloudflare’s domain name servers, their systems will start offering up a nice level of benefits such as traffic monitoring with threat detection/blocking, image optimisation and caching.
Hosting is integral to scaling up your site after you’ve optimized the website content the physical handling of the data is where your focus should be at.
Digital Ocean is a cloud infrastructure provider. They’re known for extensively allowing users to quickly deploy WordPress sites in a matter of minutes. With their nifty web interface, in just a few clicks we can scale up a site by upgrading the server.
Although Digital Ocean has great documentation, approach with caution, as it’s designed for the more technical personnel. Digital Ocean is a nicely priced scalable server solution for your WordPress site. The downside is that there is no support unless you count asking the community for help. But this is probably where some technical knowledge is best to have in your toolkit so that you know what questions to ask in the first place. Or, you can at least tackle some of the niggling issues yourself!
Though, don’t let that deter you. There are plenty of blogs out there to help you, even for the most tricky setups, such as setting up horizontal scaling on an ubuntu droplet.
Final thoughts on scaling up your website in 2021
Scaling up a WordPress site isn’t necessarily about using a more powerful server. Sometimes you might find that caching is the best solution for your site. Or you could discover that a redundant plugin is actually causing your site to run slowly.
While there are many possible considerations when it comes to scaling, there are also many possible solutions. Our advice is always to analyse your site to try and understand what’s slowing it down. Once you find the source of your problems, you’ll be better placed to scale up your website.
Fancy chatting about your project over coffee? We’d love to hear from you. Drop us a message and we’ll be in touch: firstname.lastname@example.org