Do The Woo Community: The Ultimate Guide to WooCommerce Hosting: Performance, Support, and Growth with Marcel and Mike

Do The Woo Community: The Ultimate Guide to WooCommerce Hosting: Performance, Support, and Growth with Marcel and Mike

This show is sponsored by…

Avalara: help developers make sure their Woo projects are tax compliance done right with Avalara’s API. Visit their extensive developer resources today.

WooCommerce: Join the offi…

Woo DevChat
Do the Woo
The Ultimate Guide to WooCommerce Hosting: Performance, Support, and Growth with Marcel and Mike



Loading





/

Avalara: help developers make sure their Woo projects are tax compliance done right with Avalara’s API. Visit their extensive developer resources today.

WooCommerce: Join the official WooCommerce Marketplace and get your products in front of millions of engaged WooCommerce store owners.

Episode Transcript

Marcel:
Well, hello there. Welcome to the show. Hi, Mike, how are you?

Mike:
Hey, Marcel. I’m good. And yourself?

Marcel:
I am wonderful. It’s September, summertime is ending. Vacation was just a couple of weeks ago, so I guess I’m in the most perfect mode you can get in the year.

Mike:
Yeah, the gray weather has really shown us that summer might be over. I think we’ll get a second wave, right? Usually.

Marcel:
Yeah, it seems there’s going to be some cold weather coming. There’s something in Portugal that’s a special time of year in October, where there’s just this little extra sun coming in and warm weather that gives you a last goodbye kiss of the summer. And it seems like this year we’re going to have it a little bit earlier than October.

Well, today we’re going to go ahead and talk about WooCommerce and hosting—the critical aspects for anyone running an online store in WordPress. And unlike a regular WordPress site, WooCommerce introduces, I guess, unique challenges due to the dynamic nature of e-commerce. Things like product catalogs, customer data, and orders, all of which place more demands on your hosting environment. And the right hosting can mean the difference between a smooth shopping experience or a sluggish website.

I guess sales are directly affected by good hosting. So, I guess we could break down a little bit what our listeners need to know to ensure that WooCommerce sites perform at their best. And okay, let’s kick things off by discussing—we keep talking about performance here, Mike. I feel like this is the third or fourth episode where the word “performance” is going to come out multiple times per minute, or per episode. And I don’t want this to be maybe yet another episode about performance and how important this and this and this and that is. But having said that, the only—or not the only—but the main task of a good hosting service is effectively to provide performance to your website. So, performance is actually crucial for both the user experience, SEO, sales results, and all of that. If the store loads slowly, visitors will leave before making a purchase, search engines may rank you lower. So, it’s definitely a key factor in performance—the hosting, the server response time, and all of that. As a general rule, or if you had 30 seconds to give somebody good advice about hosting, what would you say?

Mike:
Pick something with enough resources, tools, and quality support to help you through any challenges that may arise as part of being an e-commerce store owner. And what you said is a very good list. I would add employee productivity. I have some clients who have 10 people in the backend processing orders all the time. That’s all un-cached, it requires a lot of resources and checking in the database for stuff. And then also business-to-business components—if your business needs to talk to another business, that’s fetching information, that’s going to require resources as well. I think, yeah, those three things I think are the most important. The support, quality tools, and resources. Without those, you’re going to be sacrificing some kind of quality overall, whether it’s for your users, your employees, or for your own, if you’re a stakeholder, profits and stuff like that.

Marcel:
Right, right. And when you say support tools, do you also mean the actual support service that a hosting company provides? Not only whatever you can get through a dashboard of some sort, but also talking to somebody—is that important to you?

Mike:
Yeah, definitely. I think talking to support staff, if you’ve worked with WooCommerce long enough, is generally one of those like, “Oh, how is this going to go?” moments. It could either go really well—you get someone who is enthusiastic and interested in troubleshooting together, finding solutions. And then you have other support staff who are like, “There’s nothing we can do,” or they try and point the finger somewhere else and are not trying to help you directly with the issue. And then as well as that too, it’s having the tools available to do troubleshooting, like having the command-line access with SSH, phpMyAdmin or similar tools to be able to investigate things in the database, New Relic or other things for gathering rich amounts of data. I know some service hosting companies have their own APM tool, and they have their own in-house scripts that they’ve built over time to help you scan logs and look for patterns and that kind of stuff. So I think both are really important.

Marcel:
Yeah, that’s why I asked you, because in our freelance work that we do, sometimes we need to do the job of a good host support agent and sort of translate—let the client know what the issue is or might be—and just do a little bit of the bridge that one has to do between support and our client. Because sometimes support will say, “Yeah, this is this plugin that is running slow, this is this other thing and you should contact your developer” and stuff like that. And sometimes they’re right, but sometimes it seems like they’re definitely lazy about investigating the issue. But I think there are a couple of, well, this is getting better from time to time. I guess competition is responsible for improving all these services, and there are some really good ones, like you said, that have their own tools, and they’re very quick and immediately identify what the issue is, or being proactive as well—maybe mentioning that your website is running slow, there’s a long-running task occupying a lot of CPU power, and they go ahead and inform the client about it. All of this, I think, is super important. Right?

Mike:
Yeah, you just reminded me, there are a few hosts that’ll send out emails if there’s been a 502 Bad Gateway or a 504 Timeout, or “Hey, we found malware,” or “You’re running this plugin version that has a known security vulnerability.” So, I think proactivity is one of the most attractive components of a hosting company, for sure.

Marcel:
So I guess if we would begin establishing a list of all the things that people should look out for in a hosting company—well, besides price and CPU power and memory and all of that, I guess one of the most important factors is really how support works and what support provides in terms of service when things go wrong, or when you need help and when you need advice. So yeah, before committing to any host service, just try to figure out a little bit more about how support provides, because I personally think it’s probably the most important thing you can get. I mean, if the memory is low, that support guy will tell you, “Raise the memory,” and it’ll work, right? Or if CPU is not enough, “Add more CPU power to your hosting,” or this or that. So, it’s always going to end up being that support provides the information you’re looking for when you have difficulties, and managing hosting and leveraging what is the best plan and what I need, etc., is a decision that you will make today. But probably in a month’s time, or in a year’s time when your store grows, you’re going to have to revisit all of those choices again, and you’re going to have to fine-tune the hosting service that you’ve just hired to be more efficient for your successful store that’s running. And so that’s not that much important at the beginning, I would say.

Mike:
Yeah, I agree. I think, like I said, if you have enough resources and things are performing well, things are smooth, then there’s not too much to worry about. But hopefully, as the store is growing and being successful, you then have to adapt over time, and it’s really useful to have support staff at the hosting company who can help you assess what your needs actually are resource-wise and be able to accommodate. Every store is different. I think we’ve both seen plenty of them. They’re never exactly the same. There are always a few differences.

Marcel:
And when you see those pricing tables, they usually talk about the bandwidth, the CPUs, and this and that. And some of them do mention a couple of support services or support nuances, but talking to someone before committing to hosting services is a good idea. Or maybe asking other people or the community or any social media for advice on that. But having said that, okay, so now let’s see. We’ve talked about the support. It’s important. The different places where the data centers are and the different areas of the world the hosting service covers is also important, especially for stores. If you want to have a very fast-running store and if you’re operating worldwide, it’s important for you to know where that hosting service has its data centers so that you can expand your assets or different resources to those data centers. But let’s dive into more specifically really what’s important about memory, disk speed, PHP workers, caching systems, database optimization, security, backups, and scalability at the end. So, let’s start with the memory. I will just introduce very quickly how important memory is. And Mike, maybe I’ll propose to you this format: I give you a statement about what memory is and how important it is for WooCommerce, and you either agree or disagree with me and add your points to it. Sounds good?

Mike:
Sounds good.

Marcel:
Alright. So, if we talk about memory, why is memory important? We know that WooCommerce requires more memory, more RAM than a typical WordPress

site because it’s all dynamic content. We have products, we have reviews, shopping carts, we have customer data. So, if you’re running a small store, maybe 1 or 2 gigabytes of RAM may be sufficient. But for larger stores and high-traffic websites, you would need 4, 8, 10, 12, 16, I don’t know, to run just to make sure everything runs smoothly. And without enough RAM, your server could become very overwhelmed. You could have slowing down pages and crashes, which is obviously the last thing that you want to have. What do you think about RAM? How important is RAM?

Mike:
Yeah, it’s really important for sure, especially for the database. If you don’t have enough RAM, the database queries will time out or get terminated. And that can cause all kinds of weird issues where things didn’t get synchronized or it didn’t add to a queue that needed to be processed later. And then you also have some plugins that use a lot of RAM, right? So one of the things we often have to adjust is the memory limit in PHP so that certain tasks can execute. So, it’s one of those things you can’t oversell. On hosting, if you start to allocate more RAM than what’s physically available, it won’t work. And if you try and use virtual memory—if you remember back in the day, we would have a RAM disk and stuff like that—RAM is always going to be faster than hard drives. Even if—I don’t think SSDs will ever get—eventually, maybe SSDs will just be RAM chips. That would be cool. But I have a feeling that’s quite expensive.

Marcel:
And RAM specifically has to have the ability to quickly read, write, read, write in a way and at a speed that SSDs are not designed to do. If we would have a world where SSDs and RAM would be the same chip, I guess the only company that could be able to do that would be Apple. But jokes aside, it’s sort of like every one of these two components has its own job to do in the environment. You talked about the database and RAM’s importance for the database, but there’s also the PHP side of it. So, when you’re working with RAM, RAM is basically shared between two main things: the database and the PHP. So, PHP, when it runs, it needs memory to do its calculations, and when it’s done, it just serves the results to the web server, which then displays it to the client. So, having PHP tasks that also take a lot of memory is also important in this case. But that is fairly easy to measure and to know. And if you have a PHP task that takes a lot of memory, then that’s usually a bad sign. So, increasing memory to cover up PHP memory leaks is not a good thing to do, but it’s also an important part of the process.

Mike:
I agree.

Marcel:
Then we have disk speed. The disk is another critical factor, particularly when you’re handling large amounts of data. And we know that with WooCommerce we can get that. But basically, for WooCommerce, I guess SSDs—the solid-state drives—are almost always a better choice than the traditional HDDs, and SSDs are mainly faster to read and write data, which is especially important for large WooCommerce stores with, I would say, thousands of products or images or orders or customers. So having SSDs can significantly improve site load times, which obviously are crucial for keeping customers engaged. We are old enough to have been around to witness the transition from HDDs to SSDs in the hosting world. Was that the same for you? Thank God we already have SSDs for hosting. And did that, in your experience, provide a huge performance impact?

Mike:
Yeah, I mean nowadays you wouldn’t ever choose a host that didn’t use solid-state drives. It’s directly related to performance and the database. You want the database stored on SSD, not a hard drive like the old school ones. I’m pretty sure there are instances where I’ve witnessed this happen, usually from very low-cost hosting on a machine that was older than it should have been for being allowed to be in the web hosting space. And then you move them somewhere that uses modern technology, and the client is like, “Whoa, my time to first byte used to be 15 seconds, and now it’s a second.” And they’re like, “I cannot believe that that makes that big of a difference.” So if you are lucky enough to find a client’s site that’s still using an old-school hard drive, and you move them to SSD, I’m sure you’ll see a significant boost.

Marcel:
I guess nowadays, HDDs in a hosting environment are used for more static data or for large data sets that you don’t provide specifically in a dynamic way to a web server. They would be more considered for saving data files that are just accessed sporadically. And so you do see some hosting companies offering this large amount of hosting space for this specific use, and they are usually using… there is still this discussion around which one of these two different types of drives lasts longer, because SSDs are more prone to fail, I guess, than HDDs. But then again, we have bad experiences with HDDs as well. If you mess with them too much or if… well, when they’re in the hosting environment, nobody will touch them, but they’re also very sensitive to movement and heat and other factors. I do remember the time when we had this transition from HDDs to SSDs on our personal computers, especially for the people who had Apple computers in early around 2012, 2011, 2012, when there was a transition between HDDs and SSDs. And people were buying these external SSDs and putting them into the USB connection and just booting off of external SSDs.

And some people also tweaked their computers and opened them up and installed the SSDs inside and replaced the HDD. And we got huge improvements in speed and suddenly the operating system was loading, we would say, it seemed like it was running off the memory only, there would be no hard drive. And I guess we can say the same for hosting. So files being read very quickly is a lot more efficient for hosting.

Mike:
Yeah, definitely. I do remember there’s one hosting company that they had… I brought a client that had so many images, it was like an Android news website, so they had so many images and they needed terabytes and terabytes. It was insane how much this was. And we ended up, because the SSDs were going to be so expensive, we ended up using hard drives in a RAID or something like that. And because it was just for the images—obviously you want to read the images as quickly as possible as well, similar to the database—but it was the only way that they could have sustainable long-term growth because of how much the image library grew every day. They needed something that made sense for the next 10 years at least. So yeah, I would just add to that. It’s an important little piece too. They still have their place, right? My Synology NAS, you have one as well, right? I chose Western Digital Red hard drives for the enterprise drives.

Marcel:
Exactly.

Mike:
They’re designed to run 24/7 and also last the longest. I think SSDs have a limited number of writes, right? Isn’t that…?

Marcel:
Yeah. There are some calculations around how many times they can read and write, which defines their lifetime cycle, yeah.

Mike:
Whereas hard drives are not unlimited, but it’s like, you have other problems at that point. You probably won’t be alive anymore.

Marcel:
Exactly. Alright, that’s the disk topic. Let’s talk on another topic, and let’s talk about PHP workers, which not every hosting company discloses how many PHP workers one can get when we do a hosting plan with them, but basically—and I think they’re often overlooked—but they are a very essential aspect of hosting for WooCommerce specifically. So for everyone listening who doesn’t know what PHP workers are, in simple terms, they handle the simultaneous processes that occur on your website. So let’s say, for example, multiple users adding products to their carts or checking out at the same time. If you don’t have enough PHP workers, your site will slow down during busy times because there aren’t enough resources to process all the requests, and people are going to wait for their requests to process. So from the time that you ask for a specific URL and by the time you get the result delivered, that’s the time that the hosting will spend doing some sort of work, calculating some result for you to show on the website.

And PHP workers are essentially the processes that take that request, process it, run the PHP script, and deliver the page that they’re requesting. So those 200 milliseconds, 400 milliseconds, they’re going to be busy doing something. So if you have 10 people coming in, there’s going to be eventually a queue, and people are going to be waiting for their turn to get the process running, to get the PHP worker running. So if you think of it like a restaurant, if there aren’t enough waiters, service gets slow. It’s kind of the same thing. PHP workers are expensive for hosting companies, and they’re also expensive for the resources that you have on your hosting side, but they’re an important part of it. What’s your take on PHP workers?

Mike:
Yeah, I wanted to add to the waiter example that service will slow down, but you also get people leaving,

which would be like a 502 Bad Gateway, where it’s like there’s not enough service, I’m leaving with a bad review.

Marcel:
Yeah, exactly.

Mike:
Which is what happens if a visitor comes to your site to try and buy something, and they just see an error message, right? 502 Bad Gateway. It’s like, oh, then they just leave. Some people will be patient and try to reload, but…

Marcel:
Right.

Mike:
Attention is harder and harder to maintain these days.

Marcel:
Yeah. Why do you think most hosting companies don’t disclose how many PHP workers they have?

Mike:
I think it’s a tricky thing to make equal because it’s very related to CPU and also the way that your site functions. So, I think it can be misleading to, for example, say you have 32 virtual CPUs and 500 PHP workers, though CPU cores and PHP workers, in my experience, are not created equally across hosting spaces. CPU is something that you can oversell and split. So, if I have 32 physical CPU cores, I can easily split that into 20 or 30 virtual machines that have four or eight CPUs, and it will just split and make them weaker between them. Whereas the kind of hosting I really like is when it’s a physical dedicated machine, and you’re not using virtual CPUs at all. And the PHP workers from that kind of machine tend to be way more powerful in executing scripts compared to ones on oversold VPS-style hosting.

Marcel:
And PHP workers, because they work simultaneously on a specific task, they are consuming CPU resources, and it’s sort of like, you would think, “Okay, I have four cores, so I can have at least four PHP workers, but I could also have eight PHP workers. We could split each core between two PHP workers.” But the more PHP workers you add, the slower they themselves will run because they’re concurrently running and doing their task. And so that will eventually also slow down, and you will serve more people at the same time, but everybody will get a slower response at the end of the day. So it’s not a linear thing. It doesn’t seem like the more PHP workers you have, the faster it will go. There are certain limits. So that’s why I think also hosting companies don’t disclose their PHP workers, because it’s a game of being the best performer but also not just wasting a lot of resources on PHP workers that aren’t clearly needed. And also there’s some sort of energy consumption concern behind this as well. You don’t just want to have a bunch of processes running all the time, so it’s kind of like a balancing game. But some hosting companies do provide those numbers, and they market offering according to PHP workers. And more isn’t always better.

Mike:
Yeah, very true. And it also depends a lot on the nature of the site and what it’s doing. I remember a client who did a lot of un-cached activity, so the idea was you would land on a website, and then they had a single sign-on system that you could connect your login to, and it would make an API request to a third party to authenticate, and then it would let you go shopping for some exclusive deals or whatever. We were doing load testing to get ready for the holiday season. It was for a very large company, and we found that they were running out of PHP worker threads. And even though we had a dedicated server with a huge amount of resources, and the CPU was basically flat, and the RAM wasn’t going that high, PHP workers were running out, and we were getting errors.

I had a long discussion with the hosting company to say, “Look, yes, we’re using that lane, right? Yeah, we’re sort of keeping a waiter at the table, but it’s because we’re waiting for information from—we’re taking an order from a friend who’s running late, and we’re just waiting for the feedback from them to give to the waiter.” So, it’s not like the waiter is stressed or carrying a lot of plates necessarily. Sometimes the PHP worker is not actively processing a lot of information; sometimes they’re idle and waiting for information to come back. And I think that’s an important part: if the PHP worker is not actively processing and you picture the waiter running around constantly, sometimes they’re not doing much. And it’s okay to allocate more PHP worker threads in situations like that, if you’re monitoring the system and you can see that it’s not stressed. If CPU and RAM are showing very low levels of usage, then you can ramp up the PHP workers.

But in the opposite way, if you have… I remember one of the first VPSs I ever provisioned and set up. It had one CPU core and 512 megabytes of RAM, and I was determined to run things on as few resources as possible and just rely on caching. It was a very cache-heavy website, it wasn’t a WooCommerce store, and I just kept increasing the PHP worker threads available, the MPM max children, and you can put it as high as you want. But then when I did load testing for un-cached responses, the server froze completely. And when I SSH’d in, the load number was like 200 and something, which it should be as close to 1 or 1 times the number of CPU cores that you have. You could just imagine these poor waiters, there was a lot of very, very tiny waiters carrying a lot of stuff, and none of them knew where they were going anymore. They were all confused, and the queue just got so backed up.

Marcel:
I would imagine if this podcast included video, we would put up a graphic of tiny waiters in multiple restaurants just running around and being unorganized, and it would be very interesting to visualize that. I completely forgot. So, we’ve been talking about the importance of RAM and disk space and PHP workers, but not naming numbers. So I will try to give people a little bit of some ideas of what the numbers are for each of these individual components. Let’s call them, and I’ll name some numbers, and you correct me if I’m good with my numbers or not. But this is basically the same thing with engines in a car. If you have BMW, for example, they’re famous for having these big engines, they have 3 liters, 4-liter engines, and you just throw a bunch of gasoline in it. The explosion is huge. They have thick engine walls that can handle all the explosion. Then you have superpower, you have a lot of power because you really just have thick walls and a lot of gasoline exploding inside those cylinders. So that’s one way to do it. Let’s call it the easy way. It’s not an easy way to have a very big controlled explosion inside a cylinder, but let’s call it easy. The more tricky way is to have a 1-liter engine or a 1.5-liter engine and have an explosion that has almost the same kind of force or power that has this bigger explosion, but because you’ve adapted the shape of the cylinder, but because you made a special mixture between air and combustion and all of that, because you took a little bit more time into figuring out how to almost get the same kind of force with a lot less energy.

I guess that’s a little bit the comparison that we’re making here. You can obviously have 16 GB of RAM and 16 CPUs and a lot of disk space and everything will run smoothly, yes. But is that efficient? Do you need all of that? Are you using your BMW to drive 5 kilometers to take your kid to school, or do you drive 300 kilometers every day and really need that strong engine to work in your favor? So, having that in mind, and taking into consideration that everything is running smoothly—you don’t have custom code that is just occupying a lot of resources—I would say less than 50 concurrent users, 2 gigabytes of RAM is enough. If you have 100 to 200 concurrent users, I think 4 gigabytes. And more than 200 concurrent users, it’d be 8+ to 16 gigabytes. I think these are good numbers. Would you agree with these numbers?

Mike:
I think those are probably safe starting points, assuming the database is not huge. That would be my one caveat. If you have a 20-gigabyte database, then you’re going to want to start with at least 32 GB of RAM, I’d say, or more. But yeah, and then load tests—now people are getting prepared for the holiday season, Black Friday is coming up, and I would load test the most resource-hungry scenarios you can think of in terms of the marketing stuff you’re doing, whether it’s newsletters or paid traffic on Meta or Google or whatever it is. And we’re doing something right now with a client, and once they get to 200 users, things are not going well. So, we’re identifying the bottlenecks with New Relic and coming up with strategies of how to mitigate them.

Marcel:
And the strategy is definitely not just, “Okay, let’s just double the RAM and everything will be good,” right? Because that’s also a cost that people have to take into consideration. You don’t have infinite money to pay for these resources and just be happy with it, right?

Mike:
Yeah, I think during the holiday season is when people tend to be more open to the idea of just throwing resources at the problem. It’s certainly the easiest solution. Even if it costs more, usually it’s going to be worth it. If your site is crashing, you’re not making as much money, for sure. But yeah

, in general, I don’t like the idea of, “Oh, just keep throwing resources at it until it works properly.” I think you and I would go and identify what is taking so long. Is the code optimized correctly? Is there a way to rewrite it so it’s more efficient in processing data and using less RAM and stuff like that?

Marcel:
And it’s a lot more intelligent and rewarding if you figure out what’s consuming that much resource, and then suddenly, with the same kind of resources, the website’s speed doubles. There’s something special about tuning that, right? Obviously, if you’re time-constrained, and the holiday season is coming, then okay, let’s add some more RAM for the next three months, and then we’ll figure it out later, fine. But the figuring out later part needs to happen sometime.

Mike:
Yeah, websites are just like a house or an F1 car. You can’t just keep adding stuff to it or turning something on and forgetting you left it on. If you have a basement and you turn the water on to do some sort of task, and then you got distracted and left it on, you’re adding more and more resources to accommodate a flood that you don’t need for any business purposes. I think that’s really important because a lot of the times when I do investigations, the thing that’s gobbling up CPU or RAM or disk space is a feature that they tested once upon a time and no longer use. The person at the company who suggested it is no longer with the company or whatever. So, I think this sort of website hygiene maintenance stuff is just so, so important. Also, hosting companies can help you with that, right? Good hosting companies will tell you if you’re about to run out of hosting, sorry, disk space, because without disk space, nothing will work. You won’t be able to do database operations, you won’t be able to log into your WordPress site.

Marcel:
You might not even be able to SSH into your hosting and do anything in there, yeah.

Mike:
Yeah, you can usually SSH in, but running commands will just give you weird output.

Marcel:
And the same thing with RAM, right? If you run out of RAM and you need just a little extra to run some command to just basically kill something or fix something, it’s the same thing.

Mike:
Yeah. You can SSH in, but running commands will just give you weird output. It’s a funny experience.

Marcel:
And as far as CPUs are concerned, for 50 concurrent users, I’d say 2 CPUs, for 100 to 200 concurrent users, 4 CPUs, and for more than 200 concurrent users, you’ll need 8 CPUs. I would say that’s a round number or more depending on the situation. Would you agree with those numbers as well?

Mike:
In general, I’d say they’re probably good starting points. It’s going to depend again on how many of those people are window shopping versus adding items to their cart. I think if you have caching set up properly and you don’t have a huge product catalog where every user is visiting different products, you can have tons—you could have hundreds or even thousands of window shoppers. But as soon as people start adding items to their cart, then the majority of caches are bypassed. Depending on how your site is tuned, we’ve seen this plenty of times where code is running unnecessarily for uncached visitors. WordPress runs a lot of functions, plugins execute a lot of code that doesn’t need to be, and that can slow things down.

Marcel:
And as far as PHP workers are concerned, I would say on the same scale—50 concurrent users, 2 PHP workers; 100 to 200 concurrent users, 4 PHP workers; and more than 200, 10 PHP workers.

Mike:
Yeah, you could start with those and see what happens.

Marcel:
Let’s talk about the big elephant in the room—caching systems. Caching is definitely one of the most effective ways to improve the performance of an eCommerce store. There are different types of caching. There’s page caching, which saves a static version of your website. But we all know that WooCommerce stores can only have so many static versions of pages. Not all pages can be static like on a regular site, and those will be delivered without making your server do all the work from scratch. Right? Then you have object caching, you have Redis cache, you have… those would help you with database queries. You have browser caching, so the client side can also do some caching to save the resources locally on the user’s devices. You have OPCache or code caching, and you have a bunch of different caching systems to reduce the load on the server.

I was thinking about asking you this question—how important is caching to you? But it seems like a silly question. I would rather ask you about the experience that you’ve been having with your most recent clients. Taking into consideration that hosting can provide some caching solutions, and based on the hosting services you’ve worked with, do you think there’s a hosting service that really nails the caching system for WooCommerce?

Mike:
I would say it’s really difficult to do it perfectly because all stores are different. So, the best you can really expect from a hosting company is that they provide the tools and configuration possibilities necessary to set up caching correctly for your site. Most hosts do a decent job of setting up things where the cart and checkout are excluded, and they make sure the right cookies are excluded, like the ones for items in the cart. Edge caching is becoming more popular now, thanks to Cloudflare Enterprise integration, which is becoming easier. You get to take advantage of that, which reduces time-to-first-byte across different locations.

So, no hosting company gets it perfectly right, but a lot of them offer a good starting point, a springboard, so you can configure caching yourself. I saw one hosting company recently that helped their client cache logged-in users for a Woo store, which I thought was really clever. Caching logged-in users sounds like dark magic, but their business model required users to register an account and log in to see the product catalog. Everything else was uncached, but once they logged in, they had a custom system where a cookie allowed for logged-in pages to be cached. It was really clever.

That’s a special use case, and I wouldn’t expect every hosting company to offer that, but it was a great example of a very customized solution that worked well. Usually, though, it’s a balance of having good tools and knowing how to use them.

Marcel:
The thing that’s special about WooCommerce is that some of the pages cannot be cached in the same way that other pages can. So, the least a hosting company needs to be aware of when offering WooCommerce-specialized hosting services is that there are certain pages within the WooCommerce store environment that need to be treated differently. You might also have custom pages where you want to insert exclusions for certain types of caching. Caching needs to be adapted to the nature of the store, not only for WooCommerce generally, but also for your own unique needs. I think that’s an important part of choosing a hosting provider. If you know they have the capability to adapt to your needs, that’s crucial.

And yeah, hosting services are getting better at accommodating those requests. If you have the knowledge, you can still go to AWS or Google Cloud and configure everything yourself, but most store owners don’t have the time or expertise for that. Thankfully, many of these caching techniques are now available through hosting companies, and they take care of a lot under the hood. So, it’s definitely something to look for when choosing a host.

Let’s talk very quickly about database optimization. This is one that site owners often overlook. Since WooCommerce stores store a lot of data, and we talked about this in our previous episode, everything from customer and order history… your database can get bloated, and that can slow things down. Regularly optimizing the database by removing transients or optimizing tables can make a big difference in performance. There are plugins that can help with that, and some hosting providers might also offer database optimization services. In 30 seconds, because I want to get to the end of the topics I have, Mike, how important is database optimization?

Mike:
I think it’s similar to disk space and other stuff. If you don’t have an optimized database, everything is slower. Especially with WooCommerce, where the post table holds so much data, things can get really bloated. If your database is cluttered with unnecessary data, queries take longer, and that can impact performance. So yeah, it’s critical. Optimizing the database is not an optional thing. It’s like a house—if things are disorganized, or if there are too many of the same item in one drawer, it’s hard to find what you need. The same applies to your database.

Marcel:
And also, I would say if people want to know more about database and performance optimization, they should check out our previous episode here on Do the Woo.

Now let’s talk security and backups. Security is vital, obviously, since you’re handling customer data and payments. So, there are a couple of measures that hosting providers take to provide more security. SSL is mandatory—there’s not even a need to discuss that. But backups are also very important, and backups can be tricky. If you have a store that’s running 24/7 and you have a lot of orders coming in, if something happens and you need to restore a database, you’re going to lose some data unless you have a smart backup system. Some automated backup systems are more clever than others, but that’s definitely something to keep in mind. Your hosting provider will help a lot if they take care of that. Would you agree, Mike?

Mike:
Yes, absolutely. Backups are crucial. Hosting companies need to have quick, reliable backups, and the ability to restore them quickly. And backups should not take hours and hours to complete unless your database is absolutely massive. But without a proper backup and restore plan in place, you’re in trouble if something goes wrong. Hourly backups, for example, can be a lifesaver, especially for stores that have a lot of transactions.

Also, good hosting companies will take a snapshot before you restore a backup. In case you made a mistake or restored the wrong version, you can roll it back. It’s important to have that safety net.

Marcel:
Right. And snapshots are very useful. Having backups done quickly is important, but knowing how to restore them is just as important. You need to be able to get your site back up quickly if something goes wrong, and that’s where good hosting support comes in.

Mike:
I would also say verifying that your backups are actually valid and work should be part of every store’s maintenance. Test your backups periodically to make sure they restore properly. You don’t want to find out when something goes wrong that your backups were incomplete or corrupted.

Marcel:
Exactly. It’s like a fire drill. You need to run it once or twice a year to make sure everything works as expected.

Lastly, let’s talk about scalability. When your WooCommerce store grows, you’ll need to scale it. You might start with shared hosting, which we haven’t really mentioned in this episode, but as your traffic increases, you might need to upgrade to a VPS or even a dedicated server for larger businesses. Usually, companies use AWS or Google Cloud because they allow you to scale resources up and down easily. It’s important to choose a hosting provider that can grow with your store, so you’re not stuck with limits that could hurt your business.

How important do you think it is when people start out to choose a hosting company that can scale? Or do you think there are hosts that are

better suited for different stages of a business’s growth?

Mike:
That’s a good question. I think it’s always a good idea to bet on your own success. You should anticipate growth unless you’re sure that your business model is limited and won’t require much scaling. It’s important to choose a hosting company that can grow with you. I’m sure you’ve experienced this too—migrating a WooCommerce store from one hosting platform to another is a nerve-wracking experience for clients. Many people have had bad experiences with migrations, and it can be traumatic if something goes wrong. So, it’s better to start with a hosting company that offers both shared hosting and scalable options like VPS and dedicated servers. You want to be able to grow without needing to change hosts.

Marcel:
Exactly. And we fall back to what we talked about earlier—support is key. When you hit a threshold and need to upgrade, you want the hosting company to handle that transition smoothly. If you have a hosting provider that says, “Unfortunately, now you need to do this and that,” and they just put the whole thing back on the client, that’s not a good service. When scaling, the hosting company should be a partner in that process.

Ideally, they should say, “Hey, you’re growing. Shared hosting is not an option anymore. Don’t worry. Let’s schedule a migration during your least busy hours, and by tomorrow morning when you wake up, you’ll have a new hosting service that can accommodate your growth.” That’s the kind of hosting service you want, right?

Mike:
Yeah, definitely. When we’re offering advice to clients, we usually want them to be prepared for the next 10 to 20 years with whatever challenges or growth opportunities they may face. We have a handful of hosting providers we know can accommodate different types of stores and business models, so they will scale as needed.

It’s hard to find hosts that can do horizontal scaling—multiple servers. Usually, once you’ve added a domain name that maps to a specific server, you can’t add another. Vertical scaling is more common; they’re happy to let you resize your server and make it bigger. But some clients want parallel processing or geo-redundancy. I have one client that has servers in Chicago and New Jersey, with a primary and secondary database setup. If Chicago goes down, New Jersey takes over. Not every host supports that kind of infrastructure, though.

Marcel:
There are two other things I want to add before we wrap up: bandwidth and monitoring tools.

Bandwidth is something people need to keep an eye on, even though most hosting providers offer scalable or unlimited bandwidth. But you should calculate your bandwidth needs by taking the average page size and multiplying it by the number of visitors and pages viewed. For example, if your average page size is 2MB, and you get 5,000 visitors per month, each viewing five pages on average, you’re looking at 50GB of bandwidth a month.

I haven’t had a client run into bandwidth limits recently, but it’s still something to watch out for. Have you seen any issues with bandwidth?

Mike:
No, not in recent years. Most hosting providers have moved toward offering unlimited bandwidth, especially since many use Cloudflare to handle some of the load. I see more issues with outgoing emails being rate-limited, though. Some hosts will restrict the number of outgoing emails, especially if they think there’s suspicious activity, like a flood of order confirmation emails during a sale. It’s not great if you’re running a big sale and your emails are getting blocked, because customers start to wonder where their order confirmation is. That leads to support tickets and frustration.

Marcel:
Right, good point. And finally, monitoring. As a developer, I really appreciate hosting companies that provide good monitoring tools. I’m talking about dashboards where you can see CPU usage, memory usage, disk space, PHP workers, and even bandwidth. Some hosts offer integration with tools like New Relic, or they have their own monitoring tools. It’s important to be able to check on your website’s health regularly.

The first thing a developer or freelancer will ask a client is, “Do you have a staging website?” If your hosting provider allows you to spin up low-end environments like staging or performance environments, it’s incredibly helpful. You don’t need production-level power for staging, but you do need an environment to test things. And most hosting providers do offer them, but not all of them are free. So, having that capability without extra charges is key.

What do you think about that?

Mike:
I completely agree. As developers, we’re always asking for a staging environment. It’s the first thing we ask before making any significant changes. Having a staging site on the same host is crucial for testing updates, new features, or troubleshooting problems without affecting the live site. And yes, it shouldn’t be expensive.

Monitoring is also essential. The good hosting companies will provide a robust dashboard with real-time stats. And if you’re using New Relic or similar tools, you can get deep insights into performance, slow queries, and which plugins are hogging resources. That can save you a lot of headaches in the long run.

Marcel:
Exactly. And I would say the most successful clients I’ve worked with are the ones who focus less on dashboards and numbers and more on working with the right people. Having a good relationship with a hosting company that offers solid support is often more important than staring at charts all day. When something goes wrong, it’s the support that matters most.

Mike:
Yeah, and that’s something we’ve noticed too. If the client has a skilled development team, then having good monitoring tools is great, because they can dig into the details themselves. But if you’re a store owner who doesn’t have that technical expertise, then having access to a knowledgeable and responsive support team is far more valuable.

It’s like giving someone a spaceship—if they don’t know how to fly it, it’s useless. So having both—good tools and good support—covers all your bases. But if you had to choose between them, I’d recommend going with quality support.

Marcel:
Exactly. The store owners I’ve worked with who have been the most successful aren’t necessarily worried about the fancy dashboards—they care about the people they work with. And having a reliable hosting partner with good support is more important than anything.

Alright, everyone, that’s it for today. Thank you so much for listening and tuning in. This was, once again, Mike and I talking about WooCommerce and performance. We keep talking about performance—it’s important, I know! We’re probably getting a bit repetitive on that subject, but we have some future episodes ahead with different guests. We’re going to talk a lot more about development, too. So yeah, tune in for those.

Mike, I’ll talk to you in the next one!

Mike:
Sounds good, man. Thanks!

In this episode of Woo DevChat, Marcel and Mike dive deep into the critical aspects of hosting for WooCommerce stores.

They explore how hosting directly impacts your store’s performance, sales, and user experience, and discuss essential factors like RAM, CPU power, PHP workers, caching systems, and database optimization.

The conversation highlights the importance of choosing the right hosting provider that can scale with your store’s growth, while providing top-notch support. Whether you’re just starting out or building a high-traffic WooCommerce site, this episode will equip you with valuable insights to ensure your WooCommerce store runs smoothly and efficiently.

Takeaways

Hosting Directly Impacts Performance and Sales: A slow-loading WooCommerce store can lead to lost sales and lower search engine rankings. Choosing a hosting provider with sufficient resources, speed, and reliability is crucial for success.

The Importance of Support: Quality support is just as essential as having the right hosting resources. A knowledgeable support team that can proactively troubleshoot and resolve issues can be a game-changer, especially for non-technical store owners.

RAM, CPU, and PHP Workers: WooCommerce sites require more RAM and CPU power than regular WordPress sites due to the dynamic nature of e-commerce. PHP workers are crucial for processing simultaneous tasks, and understanding the right balance of resources can prevent slowdowns during peak times.

Caching Systems: Implementing effective caching strategies, such as page caching, object caching, and browser caching, is one of the most impactful ways to improve performance. However, WooCommerce stores require customized caching due to the dynamic content of e-commerce sites.

Database Optimization: Regularly optimizing your database by clearing transients and optimizing tables can significantly boost site performance, especially as your store grows and accumulates more data.

Scalability is Key: As your WooCommerce store grows, having a hosting provider that can easily scale from shared hosting to VPS or dedicated servers is important. Scaling smoothly without disruption requires the right provider and strong support.

Backups and Security: Frequent backups and a robust security setup are non-negotiable for WooCommerce stores. Automated, smart backup systems and proactive monitoring can save you from major losses in the event of a failure or security breach.

Monitoring and Staging Environments: Good hosting providers offer monitoring dashboards and the ability to create staging environments. These tools help developers test changes without affecting live sites and provide insights into performance, memory usage, and potential bottlenecks.

Links

Source: Dothewoo.io

Read original article

Leave a Reply

Your email address will not be published. Required fields are marked *