For the past couple months I’ve been devoting a lot of my time to the re-release of http://www.geek.com – the online technology resource and community for technology enthusiasts and professionals. We’ve added a lot of social networking tools, and also done a general wordpress/bbpress upgrade which will allow us to easily take the latest releases in the future.
This is important on a couple of levels, first off, this is a site that has over 10 million unique users a month. That ought to put to rest the “WordPress doesn’t scale” talk I hear around the net. Wordpress scales just fine for large sites if you set your server up properly:
- Use the Super Cache plugin (everyone should be using this)
- Use the Hyperdb plugin if you need to separate reads/writes between database servers
- Don’t use “poor man’s load balancing” (setting up forums to run on one server, WordPress to run on another. Bite the bullet and setup up load balancing properly. You’ll just need to put the uploads folder and your Super Cache config file on a shared NFS drive.
- Absolutely do not perform queries that don’t use the WordPress db function. Unlimited queries will bring any large site to it’s knees (along with your career).
Geek had been previously upgraded to WordPress, and we’d seen issues with stability. In addition to the above, I’d add that you should never, ever edit the core files of WordPress or BBPress if you’re using it to manage a large (or small) site. All of the functionality we’ve constructed in this site is contained in either plugins or our templates. Hence when the WordPress 2.6.2 security release came out while we were in QA, we were able to upgrade very quickly.
Social Media Features
Basically, we’ve added a subset of the features we created for sites like cycling.com, hotcars.com and hybridforums.com – features like:
- User Profiles
- User Blogs
- User Messaging
- Add a friend
- Wall Posts
Plus we upgraded the functionality of BBPress to include:
- Video linking
- Topic Icons
- Integrated user profile management
The great news for the site is that all the great features of WordPress 2.6.2 come along for the ride, photo galleries, revisions, tagging, image management. The unexpected boon was the basic workflow features that WordPress: on this site, they are sorely needed as there is a large list of contributors and editors.
A few other lessons learned:
- Post go live, fix the really visible problems and then slow down, and use your QA process.
- A great team makes for a great project – Tom Willmot, Joe Hoyle, Alina Brus, Andrey Markevich, Evgeniy Bruhoveckiy, Vasiliy Sidnenko on the development side did astounding work.
- Working with the Product Team and Editors early avoids surprises – Robb Rosell, Joel Evens and Sal Sal Cangeloso kept us honest and made the job easy by providing UAT throughout the project, not just at the end.
- QA – our QA team did a wonderous job. Amazingly they were able to keep up with the rapid changes from the Dev team – many thanks to Sam Valevski, Genya Bekker and Liliany Karlen.
- Great system administrators make a huge difference – we had server setup issues, and working with the pros from the Namemedia team makes all the difference. These guys are the cream of the crop, managing something close to a 2.5 million domains that are either owned by use or managed as park pages.
- Project management – I’m notoriously optimistic in my assessments of how long a task will take. Amy Beck and Eugene Bernstein kept me from putting my foot in my mouth, and kept the project on track.
The proof will come as we see the over all affect on the community in the next couple weeks. We’re expecting to see an increase in general commenting, plus use of the new features we’ve added. I’m already seeing benefits from the server side. We were previously operating at the limits of the architecture setup we had. Now things are running smoothly and well within the expected server loads.
Sorry for the lack of updates the past couple days, but go lives for large sites tend to be time vampires…