A big website that will be serving millions of pages, is it even possible with wordpress without any issues such as too much CPU / memory usage, database size & structural issues or reliability of 3rd party plugins to host such a large scale website. Yes & No is the perfect answer for this, let me explain what this means.
Building a huge website around Wordpress
Million Page Website using WordPress
Is wordpress good enough to host a large number of pages
Serving Large scale website easily with wordpress
WordPress is a popular PHP based software that any web development company or any individual with a little knowledge of how it works can deploy and get a website up and running in no time. Being it popular, many developers have build paid and free plugins for the system that allows a user to extend the website functionality. With millions of plugins available to install, this platform becomes attractive for anyone who wants to launch a large project in small time-frame. There can be many use-cases on a large scale, such as a ecommerce with million of products for sale or a business directory listing, or a news website that scrapes content from another sources, or even a video sharing service, a social networking site, a music library and the scope is endless, its just the idea and imagination required to launch a website and with so many plugins available for these use-cases, launching a website with millions of pages is not that difficult.
Possibility of serving a large website using wordpress
But the question is, how the wordpress based website performs with that amount of data and does it end up good. Well, most of the websites that build a large project around wordpress fail to keep the website running in long run. Reason being the initial cost of maintenance, which ranges from PHP developers trying to optimize the website, and the server load that sky rockets due to a large amount of resources being used. Now you would ask, when the website is using large number of resources, that may lead to assumption that a lot of visitors a coming to the website and should raise revenue for the maintenance. Nope, not at all, the initial traffic is not the actual customers or visitors, but its the visits from bots such a search engines, spiders, content scrapers and such. And for a million page website, the bots may hit so badly scanning the content that the website may not survive even for an hour on shared hosting, may timeout every few seconds on a VPS and a dedicated server may not be able to handle the traffic at peak.
Traffic that can bottleneck a million page website
With bots hitting that bad, you may struggle with your website going up and down every now and then. And that may lead to google and other search engines throwing your website out of index for being of poor quality, while the bots will still keep hitting your server for scanning your pages. It will be an endless loop thus causing a very good idea to go down the drain just due to poor setup and programming.
Building a huge website is highly possible
After everything you have read above, you may assume that a huge website may not be possible on a wordpress CMS. Well, its 100% possible if pre-planned and executed right. There are a few things that we need to consider when we use wordpress for a large scale website. Amount of coding (3rd party plugins), database connections, table size and locking, structural changes required delivery and search functions, we need a bullet proof plan & setup to make it work.
Get a custom plugin developed
First, we need to make sure that we do not install too many plugins, even if few, we may need to review quality of the plugins. If you are going to build a directory, a plugin that has a custom table for storage and has its own structure for directory listing will be able to perform better. We would recommend to get a professional developer involved who would develop a custom wordpress plugin as per your requirements and will help to get rid of any unused feature of a ready-made 3rd party plugin thus saving on resources.
Database query reduction
Next would be number of database queries being called for generating a single page. A usual setup may be doing 100s of queries but a custom coded may be doing 1/10th of the queries thus saving of those precious resources. Other things to consider would be the db table size, if a table is too large, it may become slow, we would advice to store data across multiple tables to allow faster IO. Searching is also one of the most resource intensive thing that you need to consider for a large project. A custom coded search will perform 100 times better and faster so go after the programming team to get custom search coded.
Other optimizations for wordpress system
Another thing to consider is server optimization, a truly optimized server may have the ability to server 10x the regular non-optimized server. Use the latest PHP, have opcache enabled, server content using CDN, cache static pages, get a custom cache plugin developed that could cache individual areas of the site such as caching head and footer for those million of pages would actually save tons of memory and processing power.
The ultimate goal here would to optimize for TTFB. Time to first byte is highly important for website that want to server thousands of pages every second and every Milli-second of saving counts and helps to server website faster and smarter.
To get the project running smooth, you need to hire a development team that knows wordpress deeply and knows how to get a website with large number of pages, served with the lowest amount of resources. The key here is, hire a professional and help your project sail smoothly.