Almost two years ago, I re-joined the ProductiveMuslim Team as WordPress Developer (Volunteer). I say re-joined because I did get involved with the project for a very limited period during my university years.
Over the last two years, I have seen the number of unique visitors to ProductiveMuslim go from 20k/month to 90k/month average.
Scaling WordPress (ProductiveMuslim.com) – Audience Overview
The challenge of Scaling WordPress
One of the many challenges a developer face is scaling the app to support the growing business. ProductiveMuslim is no exception to this.
Since 2011 we have migrated from one hosting company to another. Brother Raneez who has been part of the team a lot longer than me, reminded the migration saga on twitter recently.
ProductiveMuslim.com outgrown servers capacity very quickly, which lead to site going down at times. At times there were certain plugins (I am looking at you redirection plugin) been responsible for generating extra loads on the server. Sometimes servers just could not cope with the demand.
Each time we migrated, we considered all options available to us. Like most organisations we struggled to find a hosting solution that has track record of supporting and scaling WordPress platform other than WordPress.com. Like many startup ProductiveMuslim also needed to think about the cost of hosting.
I have been a developer for over 15 years now, and never had to touch any production servers. While I almost always developed against developer sandbox optimised for development use. I always had skilled sysadmins do their magic on production servers for me.
When I thought of resolving this scaling issue I thought I would make attempt to solve the scaling problem myself. I proposed to @AbuProductive to try DigitalOcean. This was the first time I had to learn the black art of sysadmins to manage production servers. Having worked with sandbox meant I was already experienced in managing servers. So I created a test server for testing new features.
About month into using the new test server, the live site went down. This was result of an DDOS attack via vulnerability found in our theme. The theme was bundled with a vulnerable version of TimThumb image resizing script (more on the TimThumb fiasco). It was not easy to recover simply by restarting the server (as we used to do).
Pressure to get the site live quickly meant test server was no longer a test server. I configured it into a production server, and site was live soon after. We had few hiccups but managed to get it going.
Being able to see through entire month of Ramadan 2013 (July 2013) with over 135k of unique visitors was evident of incidental success. By no means it was end of the scaling problem. We still had occasional hiccups with server I could not figure out the root cause of the issue.
Fact of the matter is ProductiveMuslim is growing so fast that it’s now become extremely challenging for volunteer like myself to maintain it. It’s time for another migration.
Rise of Fully Managed WordPress hosting
While we at ProductiveMuslim were struggling with servers, there was another interesting things was happening on the other side of atlantic. A new breed of Fully Managed WordPress Hosting companies have been emerging. Two such companies are WP Engine and Synthesis.
Mid December 2013 we signed up to WP Engine and completed migration on 1st January 2014.
Watch out for the next post for my experience of migrating to WP Engine.