How to Choose Hosting for WordPress, CMS Platforms, and Custom-Built Websites
Quick Summary
Many people choose hosting by comparing plans, storage space, and pricing. In reality, hosting problems are often caused not by a lack of resources, but by a server environment that doesn't match the requirements of the website itself.
WordPress, Joomla, OpenCart, Laravel, Node.js applications, and custom-built systems all use server resources differently. The same hosting configuration can perform flawlessly for one project while becoming a constant source of performance issues for another.
When choosing a hosting package, it's worth looking beyond RAM, CPU cores, or NVMe storage. PHP version support, database performance, caching capabilities, compatibility with modern technologies, and the ability to scale the infrastructure as the project grows are just as important.
In many cases, moving to a more powerful hosting plan has little to do with increasing traffic. The real reason is that the application itself evolves. An online store, customer accounts, CRM integrations, APIs, background jobs, advanced search, product filtering, and other dynamic features all place additional demands on the server.

A good hosting platform is chosen not for the CMS it runs, but for the way the application uses server resources. That ultimately determines how easily the project can grow, cope with increasing workloads, and evolve without repeated migrations or unplanned infrastructure changes.
Article plan
- Why Your Website Platform Determines the Right Hosting Choice
- What Matters More Than Visitor Numbers
- How WordPress Uses Server Resources
- Joomla, OpenCart, and Other Popular CMS Platforms
- When Shared Hosting Is No Longer Enough
- When a Custom-Built Application Outgrows Shared Hosting
- What Really Matters When Choosing a Hosting Package
- When It's Time to Upgrade Your Hosting Plan or Move to a VPS
- Why Good Hosting Grows with Your Project
Why Your Website Platform Determines the Right Hosting Choice
One of the most common mistakes when choosing hosting is comparing websites solely by traffic or monthly cost. It seems logical that if two websites receive the same number of visitors each day, they should have similar server requirements. In reality, that is rarely the case.
The reason is simple. A server doesn't process visitors—it processes what those visitors do. One website may serve mostly cached pages, while another queries the database every time a page loads, checks user permissions, generates personalised content, communicates with external APIs, and runs background tasks. As a result, two websites with identical traffic can place completely different demands on the server.
This is why choosing a hosting package based on price alone is rarely the right approach. An inexpensive plan may run a corporate website reliably for years, yet struggle soon after the same platform is expanded into an online store. The issue isn't the quality of the hosting service. It's that the workload changes completely once new functionality is introduced.
Even the most popular CMS platforms use server resources in very different ways. WordPress itself is relatively lightweight. Most of the additional load comes later, after installing WooCommerce, page builders, numerous plugins, integration modules, and other extensions that increase database activity and PHP processing. Joomla follows a similar pattern. A standard website usually runs efficiently, but performance requirements grow as more third-party extensions and complex components are added.
With OpenCart and PrestaShop, the biggest performance demands rarely come from the catalogue pages themselves. Search, product filtering, the shopping basket, checkout, price calculations, stock management, and integrations with ERP, CRM, and other external systems generate most of the workload. As product catalogues grow, performance depends increasingly on database efficiency, SQL query optimisation, and storage performance rather than raw CPU power alone.
Drupal is commonly used for enterprise websites, government portals, educational platforms, and other large-scale projects with complex data structures. These applications make extensive use of caching but also require more memory and a carefully configured server environment to deliver consistent performance.
Projects built with Laravel or Symfony are even more varied. There is no such thing as a typical workload because performance depends almost entirely on the application's architecture. One project may function as a straightforward company website, while another simultaneously handles customer portals, queue workers, document generation, external API integrations, scheduled tasks, and multiple background services. In these cases, hosting requirements are determined by what the application actually does, not by the framework itself.
Node.js applications form a separate category altogether. They use a completely different request-processing model and frequently rely on WebSockets, message queues, real-time communication, streaming, and long-lived client connections. Because of these architectural differences, a traditional PHP-based shared hosting environment is often unsuitable from the very beginning of the project.
Custom-built applications are the hardest to predict. Even two systems developed by the same team can have completely different infrastructure requirements. One application may execute only a handful of database queries for each request, while another performs complex calculations, relies heavily on caching, runs multiple background services, and communicates continuously with several external platforms. Without understanding how the application is designed internally, accurately estimating its hosting requirements is almost impossible.
This is why choosing hosting should begin with understanding how the application works rather than comparing CPU cores or memory limits. The name of the CMS or framework tells only part of the story. What really matters is how the website uses server resources—how many database queries it generates, whether it relies on caching, background jobs, queues, external APIs, or real-time services. Those factors provide a far more reliable basis for selecting the right hosting environment than traffic figures or pricing alone.
What Matters More Than Visitor Numbers
When choosing a hosting package, many people try to estimate future server requirements based on a single metric—website traffic. If two websites each receive around 1,000 visitors a day, it's easy to assume they'll need roughly the same hosting environment. In reality, this assumption is often wrong.
For a server, the number of visitors is far less important than what those visitors actually do once they arrive.
A news website is a good example of a relatively lightweight workload. Once an article is published, it rarely changes. Pages can be cached efficiently, images are already optimised, and in many cases the server simply delivers pre-generated content. Even if thousands of readers visit the site simultaneously, the increase in server load is gradual because most of the processing has already been done.
An online store behaves very differently. While someone is simply browsing product categories, resource usage remains fairly modest. The workload increases once visitors start searching, applying filters, checking stock availability, adding products to their basket, calculating shipping costs, applying discount codes, and completing the checkout process. Almost every one of these actions triggers multiple database queries and server-side operations. The real load comes not from the number of page views, but from the complexity of the work performed behind each request.
CRM platforms and internal business applications are different again. Very little content can be fully cached because almost every page is personalised. Users generate reports, update records, create documents, manage tasks, and interact with live business data. The server has to build a unique response for every request, making caching far less effective and keeping resource usage consistently high, even with a relatively small number of concurrent users.
Custom-built applications are even harder to predict. One may execute only a handful of database queries and outperform many popular CMS platforms. Another may communicate with multiple databases, external APIs, message queues, analytics platforms, and internal microservices every time a page loads. From the user's perspective, both websites may look almost identical, yet their infrastructure requirements can be completely different.
Support engineers encounter situations like this surprisingly often. A website owner notices that the server suddenly starts struggling, even though traffic has barely changed. After investigation, it becomes clear that the increased load has nothing to do with visitor numbers. Instead, the website has gained advanced product filtering, recommendation engines, CRM integrations, background jobs, scheduled imports, image processing, or other features that dramatically increase the amount of work performed for every user request.
This is why hosting decisions should be based less on expected traffic and more on how the application is actually used. What matters most is how much processing takes place behind each user action, how many database queries are executed, whether the application relies on background workers, task queues, external APIs, or other services. These characteristics are usually a far better indicator of the infrastructure a project will need a year from now than the number of visitors it has on launch day.
How WordPress Uses Server Resources
WordPress is often described as a resource-heavy CMS, but in most cases the platform itself isn't the problem. The same WordPress installation can run reliably for years on a modest shared hosting plan or generate significant load even on a powerful server. The difference usually lies not in the CMS core, but in how the website evolves over time.
A fresh WordPress installation is relatively lightweight. Without a large collection of plugins or advanced features, it places modest demands on the server and can perform well on a standard hosting package for a long time.
The workload increases gradually as the project grows. A few essential plugins are installed first, followed by SEO tools, backup software, security plugins, contact forms, analytics, CRM integrations, search functionality, payment gateways, shipping modules, page builders, and other extensions. Each solves a specific problem, but also introduces additional database queries, PHP execution, background tasks, and extra processing every time a page is requested.
The challenge is that most plugins are developed independently. Each is optimised for its own functionality with little awareness of how many other extensions are already running on the same website. With only a handful of plugins, the overhead is barely noticeable. As more components are added over time, their combined impact becomes increasingly significant.
WooCommerce is one of the clearest examples. A corporate website mostly serves cached content, whereas an online store constantly works with live data. Product catalogues, search, layered navigation, shopping baskets, checkout, shipping calculations, discount validation, stock checks, and customer accounts all generate database activity. Even if the homepage is fully cached, much of the application logic has to be executed separately for every customer.
Page builders such as Elementor introduce another layer of complexity. They make website development faster and allow sophisticated layouts to be created without writing code, but they also increase the number of dynamically generated page elements, loaded assets, PHP operations, and database queries. On a small website with only a few pages, the difference is often negligible. Once the site grows to hundreds of complex pages, the additional processing becomes much more noticeable.
Site search can also become a major source of server load, particularly in large e-commerce stores. Browsing categories requires relatively little processing, but advanced search, product filtering, sorting, attribute selection, and price-range filtering generate significantly more complex database queries. From the visitor's perspective, everything appears to happen instantly, while the server is performing substantially more work behind the scenes.
Many resource-intensive operations aren't triggered by visitors at all. Bulk product imports, price updates, stock synchronisation, image processing, and large-scale content migrations can generate short bursts of very high server load. During these tasks, the website may remain online, but page response times increase noticeably, and insufficient resources often result in PHP memory errors or script execution timeouts.
REST API requests and scheduled tasks also consume server resources. The REST API is used by mobile applications, third-party integrations, administrative features, and many modern plugins. WP-Cron handles scheduled publishing, email notifications, background processing, data synchronisation, and numerous automated tasks. When only a few scheduled jobs exist, their impact is minimal. As the website becomes more sophisticated, they begin competing with normal user requests for CPU time, memory, and database resources.
This is why WordPress websites rarely become slow because of WordPress itself. During performance investigations, support engineers are far more likely to find that one plugin generates dozens of unnecessary SQL queries, another runs resource-intensive background jobs, a third makes repeated calls to external APIs, while the page builder adds additional processing to every page request. Individually, none of these issues may seem serious. Together, they gradually increase server response times and overall resource consumption.
In most cases, improving WordPress performance doesn't start with replacing the CMS or immediately upgrading to a more expensive hosting plan. It begins with optimising the server environment. OPcache prevents PHP from recompiling scripts on every request, Redis Object Cache significantly reduces repeated database queries, sufficient PHP memory allows resource-intensive operations to complete successfully, newer PHP versions execute the same code more efficiently, and NVMe storage reduces latency when accessing both the database and the file system.
It's common for website owners to assume that WordPress has simply outgrown their current hosting package and that moving to a larger server is the only solution. After investigation, however, the real bottlenecks often turn out to be inefficient plugins, an outdated PHP version, disabled OPcache, the absence of object caching, or an insufficient memory_limit. Once these issues are addressed, website performance often improves dramatically without changing hosting plans. That's why it's always worth identifying the real source of server load before investing in more infrastructure or redesigning the application's architecture.
Joomla, OpenCart, and Other Popular CMS Platforms
The popularity of a particular CMS often leads to misleading conclusions when choosing hosting. Some people consider WordPress too resource-intensive, others avoid Joomla, while some assume OpenCart always requires a powerful server. In practice, these assumptions are rarely useful. Any modern content management system can perform well or poorly depending not on the platform itself, but on how the website is built and used.
Joomla is a good example. A small business website with a few dozen pages typically places very little demand on the server and can run reliably for years. Over time, however, the site often accumulates additional extensions, components, plugins, visual editors, SEO tools, backup software, and third-party integrations. Each introduces its own database queries, libraries, background tasks, and PHP execution. After several years, the site owner may notice that the administration panel has become noticeably slower or that some extensions behave unpredictably after a PHP upgrade. Performance investigations frequently show that the bottleneck is not Joomla itself, but the collection of extensions added over the lifetime of the project.
OpenCart presents a very different workload. A catalogue containing a few hundred products usually performs well on standard hosting. As the product range grows, however, both the amount of data and the nature of the workload change. Visitors search for products, apply filters, sort results, check stock levels, add items to their basket, and complete purchases. During normal trading, the store may run smoothly, yet after a marketing campaign or seasonal sale the database often becomes the primary performance bottleneck. The limiting factor is rarely CPU power alone, but the large number of complex SQL queries being executed simultaneously.
PrestaShop faces many of the same challenges but is often used for larger e-commerce websites. As the business expands, the platform manages not only more products but also increasing numbers of product combinations, payment modules, shipping integrations, marketing extensions, and third-party services. Eventually, performance issues become noticeable not only to customers but also to store administrators. Product imports, price updates, stock synchronisation, and routine management tasks begin taking longer to complete. In many cases, the database is the first component that requires optimisation.
Drupal is commonly chosen for enterprise portals, educational platforms, government websites, and other projects with complex data structures. Here, high resource usage is typically driven not by the CMS itself but by the nature of the applications built on it. Large user bases, sophisticated permission systems, structured content relationships, personalised pages, and extensive data models all require more memory, efficient PHP execution, and a carefully configured server environment. Even powerful hardware cannot compensate for an application that has not been properly optimised.
Many website owners try to identify the "lightest" CMS, hoping it will prevent future performance problems. In reality, performance investigations usually reveal a different picture. A Joomla-based corporate website may consume fewer resources than a WordPress blog with dozens of plugins. An OpenCart store can place a heavier load on the server than a large Drupal-powered information portal. A custom-built application may outperform every popular CMS—or become the most demanding project in the entire infrastructure.
For that reason, hosting decisions should be based on what the website actually does rather than on the popularity of the CMS. The size of the product catalogue, the number of installed extensions, search and filtering features, customer accounts, third-party integrations, background processing, and user activity all have a far greater impact on infrastructure requirements than the platform's name. A server doesn't distinguish between WordPress, Joomla, OpenCart, or Drupal. It only processes PHP code, database queries, file operations, background jobs, and communication with external services. Those are the factors that determine the resources a project requires and how well it will scale as it grows.
What Really Matters When Choosing a Hosting Package
When comparing hosting providers, it's easy to focus on the obvious specifications—price, RAM, CPU cores, and storage capacity. What is much harder to evaluate is the underlying infrastructure that will determine whether your website continues to run smoothly a year or two from now. Those long-term capabilities often matter far more than the initial hardware specifications.
One of the first things to consider is support for current PHP versions. New PHP releases do more than address security vulnerabilities—they often deliver significant performance improvements as well. Equally important is how easily you can switch between PHP versions. Ideally, changing versions should take only a few minutes through the hosting control panel, without involving technical support. Sooner or later, almost every website needs a PHP upgrade because newer CMS releases, plugins, or libraries require it. If a routine version change turns into a support request, even simple maintenance becomes unnecessarily time-consuming.
Storage performance deserves just as much attention. Almost every modern CMS constantly interacts with the database, loads images, writes cache files, and creates temporary data. Fast NVMe storage significantly reduces latency during these operations, particularly on websites with dynamic content and database-intensive workloads.
Backups are another area worth examining before choosing a provider. Simply offering backups is no longer enough. What really matters is how frequently they are created, how long they are retained, and how straightforward recovery is when something goes wrong. It's also worth checking whether you can restore a single database, an individual website, or even a specific file, rather than having to roll back the entire hosting account. During a real incident, this flexibility is often more valuable than the backup schedule itself.
If your project runs on WordPress, Joomla, Drupal, or another popular CMS, Redis support is well worth considering. As a website grows, object caching reduces repeated database queries and lowers overall server load. On a small website the difference may be barely noticeable, but as product catalogues expand, user numbers increase, and more pages become dynamic, Redis can have a substantial impact on performance.
Scheduled tasks are another feature that is often overlooked until problems begin to appear. Websites increasingly rely on cron jobs for publishing content, sending email, synchronising data, processing queues, generating reports, and communicating with external services. Having full control over cron scheduling is considerably more practical than relying on the limitations of a built-in scheduler, especially for applications that perform regular imports or background processing.
SSL certificate management should also be effortless. Automatic installation and renewal have become standard expectations for modern hosting. If certificate renewal requires manual intervention or a support request, sooner or later it is likely to result in unnecessary risk—and potentially unexpected website downtime caused by an expired certificate.
The hosting control panel has a much greater impact on day-to-day administration than many people expect. It is where websites, databases, email accounts, backups, cron jobs, and SSL certificates are managed. Over the lifetime of a project, administrators perform thousands of routine tasks through this interface. A well-designed control panel doesn't simply make administration more convenient—it saves time every single day.
Another important consideration is how easily the hosting environment can grow with the project. Many website owners choose the cheapest available plan without considering that they may eventually need a VPS or cloud infrastructure. If that upgrade requires a full migration to a completely different platform, both the risk of errors and the amount of downtime increase significantly. A much better solution is an infrastructure designed to scale smoothly, allowing resources to be increased without disrupting the application itself.
Technical support deserves equal attention. Even the best infrastructure cannot prevent every software update issue, plugin conflict, database problem, or unexpected spike in resource usage. When these situations occur, the responsiveness of the engineering team, the quality of their diagnostics, and their ability to identify the real cause of a problem are often far more valuable than saving a small amount on the monthly hosting fee.
Ultimately, a good hosting package is defined by much more than the resources available today. The more important question is how well the platform will support your project one or two years from now. The ability to upgrade software easily, adopt new technologies, increase resources, scale the infrastructure, and rely on knowledgeable technical support is what usually determines whether a hosting provider remains the right choice as your website continues to grow.
When It's Time to Upgrade Your Hosting Plan or Move to a VPS
Most websites don't suddenly stop working overnight. Performance issues usually build up gradually. At first, you notice occasional delays. Then individual errors begin to appear, background jobs take longer to complete, and eventually users start experiencing obvious performance problems. Only then does the website owner realise that the current hosting plan is no longer sufficient. In reality, the server almost always shows warning signs long before the situation becomes critical.
One of the earliest indicators is a gradual increase in server response time. Pages still load successfully, but Time to First Byte (TTFB) continues to rise. This is particularly noticeable after clearing the cache, when using the administration panel, or on pages that cannot be fully cached. Visitors may not see any errors yet, but the server is already taking longer to process every request. If this becomes a consistent pattern rather than something that only happens during occasional traffic spikes, it's worth investigating whether the application has outgrown its available resources.
Another common warning sign is memory exhaustion. Initially, it may only appear during data imports, backups, or software updates. Later, PHP execution errors become more frequent, background jobs slow down, and certain operations begin failing unexpectedly. These incidents are often dismissed as random problems, but they usually indicate that the application is gradually reaching the limits of its hosting environment.
For e-commerce websites, recurring HTTP 503 errors are often the first serious warning. They rarely occur all the time. Instead, they appear during marketing campaigns, seasonal sales, or other periods of increased activity. Under normal conditions, the store performs well. As soon as a large number of customers arrive simultaneously, however, the server begins struggling to keep up. If this pattern repeats regularly, the issue is no longer an isolated traffic spike but a sign that the existing infrastructure has reached its practical limits.
WooCommerce stores often reveal these problems in a particularly clear way. Product pages may continue loading quickly, while complaints start coming from entirely different areas of the website. The shopping basket becomes sluggish, checkout occasionally stalls, and the administration panel responds much more slowly than before. These are strong indicators that the dynamic parts of the application are already operating at the limits of the available resources.
Some of the clearest warning signs come from processes that visitors never see. Product imports that once finished in minutes now take hours. Backups require significantly more time. Report generation slips into the middle of the night. Task queues continue growing because scheduled jobs cannot finish before the next batch begins. These symptoms indicate that the server is spending an increasing proportion of its resources on background processing, leaving less capacity for serving users.
In many cases, the underlying cause is a steadily growing database. Over time it accumulates not only products and customer records but also order history, event logs, analytics, temporary data, plugin-generated information, and other operational records. Even if traffic remains relatively stable, every database query gradually becomes more expensive as the amount of data increases, leading to slower application performance.
Many website owners initially try to solve these problems through local optimisation. Unused plugins are removed, databases are cleaned up, images are compressed, and additional caching is enabled. These improvements can often extend the useful life of the current hosting plan. Eventually, however, the limiting factor is no longer the application itself but the architecture of shared hosting. At that point, further optimisation delivers diminishing returns because the platform has reached its practical limits.
This is where the real advantage of a VPS becomes clear. A VPS doesn't simply provide more CPU cores or additional memory. It gives the application its own isolated server environment, independent of the activity of other hosting accounts. Developers gain greater control over PHP configuration, Redis, installed software, custom services, and the overall server environment, allowing the infrastructure to evolve alongside the application.
As the project continues to grow, Cloud VPS often becomes the next logical step. Cloud infrastructure allows resources to be increased gradually without emergency migrations or disruptive platform changes. Ideally, the decision to upgrade should be made before the website reaches its limits, when monitoring and performance analysis show that the existing environment is approaching capacity. Planning upgrades this way allows the application to scale predictably, minimises downtime, and avoids the business risks that come with reacting only after performance has already begun to suffer.
Why Good Hosting Grows with Your Project
Very few websites start life as large, high-traffic applications. Most begin as a simple business website, blog, or landing page, where a standard shared hosting plan is more than sufficient. At this stage, scalability is rarely a concern because resource usage is low and there is plenty of capacity available.
As the business grows, the website evolves with it. New sections are added, customer accounts are introduced, contact forms become more sophisticated, CRM integrations appear, analytics platforms are connected, email marketing is implemented, business processes become automated, and an online store may eventually be launched. Each of these additions seems relatively small on its own, but together they gradually redefine the infrastructure the application requires.
When future growth has been considered from the outset, moving to a VPS or Cloud VPS becomes a straightforward process. The migration can be planned, tested in advance, and completed with minimal downtime. In many cases, visitors never even notice that the website has been moved to a new environment.
The situation is very different when upgrades are postponed until serious problems appear. It often begins with rising TTFB, intermittent HTTP 503 errors, a slower administration panel, or performance issues during marketing campaigns. At that point, upgrading the infrastructure is no longer a planned improvement—it becomes an urgent task carried out under pressure.
Based on the experience of the Era.Host engineering team, many website owners only start looking for a new hosting provider after these symptoms have already appeared. In practice, moving to a more suitable hosting environment before resource limits are reached is almost always simpler, safer, and less expensive than performing an emergency migration during an outage or a period of peak demand.
This is why hosting should be viewed not as a service you choose once and forget about, but as part of an infrastructure that evolves alongside your project. As a business grows, server requirements change, databases become larger, new technologies are introduced, and every minute of downtime becomes increasingly expensive. The ability to move smoothly to a more capable platform becomes just as important as the specifications of the original hosting plan.
Good hosting is chosen not only for the website you have today, but also for the one it will become in a few years' time. When the infrastructure is able to grow alongside the business, new functionality, increasing traffic, and higher workloads become normal stages of development rather than reasons for another emergency migration. That is why the best hosting plan is rarely the one that saves a few pounds or dollars each month, but the one that allows your project to grow without forcing you to rebuild your infrastructure at the worst possible moment.


