WordPress is one of the best content management system (CMS) for blogging. And the best thing about WordPress is, it is free and open source, yet powerful. It have committed growing community which develop plugins and themes. And according to Wikipedia, WordPress shares over 12% of 1.000.000 biggest websites on the internet. This make WordPress unbeatable on this kind of CMS.
But like a double edged sword, WordPress so powerful but also resources sucker. More complicated the system, and more resources taking it will be. If it is just a plain WordPress installation, it doesn't take so much resources. But if you add more and more plugins and more complicated themes, then it will take so much resources. So why not uninstall all the plugins then?
Let's come what is the WordPress plugins for. The WordPress plugins goal is to extended the WordPress core function with to add more features to the WordPress. Since WordPress plugins developed by community or personal developer, not all WordPress plugins are good. Most of them are dead projects or abandon projects. And this will make many issues to the WordPress blog itself. And high CPU load is one of them.
Low traffic WordPress blog usually won't make problems with high CPU load or high memory usage. But when it comes to high traffic blog, you have to think about the CPU load and memory usage. Otherwise your blog will slowing down and worst your account will be suspended. Getting suspended is really bad experience, you lost visitors, and that's not good for your site SEO.
Follow the tips below to optimize your high traffic blog:
WordPress plugins system is one of the most powerful feature from WordPress. Developers or the community can easily make plugins to extend WordPress feature. Beside its easy to use API, it also have complete API documentation. And there are lot of samples and articles on the internet how to develop a WordPress plugin. But this is the double edge feature. Even it is powerful, not all plugins are good. Some of them are dead project or discontinue, and worse it leave security holes to your WordPress blog. So my suggestion is, minimize the use of WordPress plugins. Use only the highly recommended (high rating and most download) and live plugins (not discontinued). Always test plugin on your dummy site before you upload to your live site. One mistake could bring disaster to your site. So choose carefully.
3. Optimize Script
4. Use Cache mechanism
This is one of the most important thing you should have for high traffic blog, Caching mechanism. There are lot of WordPress plugin to do caching. There are 4 caching mechanism: database caching, page caching, memory caching and object caching. Database and Page caching that you should have. There are some plugins to do that, but i highly recommend to install db cache reloaded and hyper cache. These 2 plugins would be the best for caching mechanism.
5. Host images to another server or use cdn
6. Analyze your traffic
Use and analyze your analytic or traffic monitoring application. I recommend Google analytics and Awstats. Google anayltics to analyze your traffic sources, daily traffic, and many things. And from this data you can make decision where you should host your site, for example most your traffic is come from US, then host your site inside US. And analyze your traffic with Awstats (available on Cpanel), to find less traffic hours. And you should do your backup or update on this hours.
7. Optimize database and backup regularly
Optimize database, is also important, if you have lots of data on your MySql database, it will make overhead data. So you need to regularly optimize your database to keep your MySql database performance. And You should backup your database regularly, for disaster prevention.
8. Upgrade to VPS
At last, when you get 5K traffic per day, you don't have another option but go for VPS (Virtual Private Server). Buy the the smallest or medium VPS just for a start. And later as your site growing, add more resources to your VPS.
That's it for now. Final words, good luck to your blogs and happy blogging.