Scaling up WordPress: 3 advices from the newsletter

In my latest newsletter I’ve asked about whether anyone reading this blog needed (free) advice scaling up WordPress projects. I regularly help out friends with their apps and ideas, and the same topics tend to bubble up all the time – maybe there are more generic advices there that you could use too?

Here, the three questions that came up most.

1. How do I find developers?

Apart from a couple of guys I love to work with, I quite often hire people on Upwork. It’s not as easy as it seems actually: a lot of developers are available, good and bad, and if you don’t know WordPress or to code yourself, it’s quite difficult to tell them apart.

My usual practise is to come up with a small enough part of the project, and test the team’s abilities on a development server. For example, instead of redesigning the whole website in the course of a few months, they will just work on a landing page template for two days. If they succeed they are in for the long run, otherwise I only lost a couple of days altogether.

It’s important to mention that at this point the developers have access to only a copy of the project and non-sensitive data. You’d be surprised to know how many professional-looking development companies went on to accidentally delete all data from my (test) databases.

2. How much more expensive is scalable cloud hosting compared to other providers?

To compare, a non-scalable alternative Hostgator starts at $2.78 per month, which you can’t really compete with on the price level. If you never plan to scale the project it might as well be a good enough solution actually.

For apps that need to scale however, you will need to set up database and file storages, and those are to be paid for separately. (Mind you, using an Amazon EC2 instance or any VPS, and then hosting the static files and database there is pretty much as scalable as Hostgator is.)

To avoid comparing apples to oranges then, let’s just say that the maximum amount of traffic you can serve with standard hosting providers can be easily hosted on the smallest hobby Heroku instance as well, for $7/month. Amazon EC2’s smallest instance would cost around $25/mo.

File storage depends on the traffic and the size of the static files: for this blog with ~3000 monthly unique visitors I pay less than $0.1 in a year, but more traffic and bigger files (like hosting videos for example) would cost you more.

Cloud MySQL databases start at $3.5/mo from ClearDB, Amazon RDS starts around $20/mo (though you can use that for multiple projects).

All in all, a small website is around ~$10/mo on scalable cloud solutions versus ~$3/mo on Hostgator. The big difference is that if you suddenly need to support a higher load of traffic, it only takes a few clicks to scale up on Heroku – while Hostgator just slows down.

3. Why am I pushing for Heroku as opposed to Amazon?

Most development companies are familiar with Amazon EC2 and simple VPS solutions. Those are actually excellent products and are very flexible, but the exact reason I like to recommend Heroku is that it’s more strict.

For example, you can only copy files to Heroku via a Git repository, and you can’t access them via FTP. Developers like to argue that they could also use git to push code to an EC2 server. However, they can also just modify the code directly, and if that’s quicker and easier, that’s exactly what they will do.

Developers tend to get lazy and fall back to harmful defaults, like, storing files on ephemeral disks. All those bad decisions would then keep the project from scaling up quickly in the future — but if those options are not even available, at least that’s one less thing to worry about.