In this episode, guest Nenad Conic joins hosts Carl and Zach as they discuss the importance of optimizing database performance, the benefits of using tools like Galera clusters and Blackfire for monitoring server resources, and the need for early preparation and communication with clients for high-traffic events like Black Friday.
They also highlight the importance of viewing WooCommerce as a platform that can be extended and customized to meet specific business needs plus the importance of client communication.
Our sponsors keep the lights on.
Take a moment to check out our current sponsors.

Since 2005, Automattic has built tools for the open web including WordPress.com, WooCommerce, and Jetpack that are used by millions of people to create, sell, and publish online. They believe in ownership, flexibility, and open source and we’re grateful for their support. Learn more at automattic.com.

InMotion Hosting brings over 25 years of experience, NVMe-powered speed, and 99.99% uptime to every plan they offer. When you need help, you get a real human, not a bot, and they’ll migrate your site for free. We’re happy to have them in our corner supporting the conversations we have here at Open Channels FM. Find your plan at inmotionhosting.com

Omnisend just dropped SMS pricing to $0.007, and their migration team moves your automations, templates and contacts in five days, free. That means you could be saving up to 35% in less than a week. We’re glad to have them supporting the show and the community we’re building around it. Use the code OpenChannels and get 30% off your first 3 months of any paid plan.
Episode Transcript
Zach:
Welcome to another. Do the Woo DevChat. I’m Zach Stepek. I’m here with Carl Alexander as always, and Carl board behind him as frequent stalker.
Carl:
Yes, frequent stalker. He makes sure him and Bob make sure that I don’t talk too much. Basically they need to cut me off.
Zach:
Yeah, we have Bob sitting backstage as normal, just waiting to make sure that Carl doesn’t ramble too long and yeah, it does happen occasionally. So Carl, how has your January been so far? How’s 2024?
Carl:
It’s good. I just did my year on review, so it was like 10,000 words because me, I can’t do anything. So that was a lot of it. Then I worked during the holiday. I don’t know, I didn’t really have much of a holiday. I was like, I’m going to take four weeks off. And then didn’t happen. I might’ve gotten two. Basically I was like, I have all these video games I want to play. And then I didn’t even, I was playing Hogwarts and then I didn’t even finish Hogwarts yet, so we’ll get there.
Zach:
I took a couple of days. I started Final Fantasy 16, have not finished. So yeah, it’s been a good time. And then of course the steam deck remains a constant. Anytime I’m stuck somewhere where I don’t have the ability to work, the steam deck’s a great replacement for having my computer in front of me. Well, that’s awesome. Yeah, it’s been a busy month so far. The day job is getting busier every month, which is great. Other than that, not a lot going on my end. Just trying to start the year out with a focus on avoiding burnout. So really just trying to push in that direction, make sure I do everything I can to avoid the potential of burnout by being intentional about breaks and intentional about time to relax.
Carl:
Yeah, I talked a lot about burnout during the review too, so that’s a constant struggle for me too.
Zach:
Okay, well, we’re here to talk about dev and obviously burnout’s part of that and so is avoiding burnout. So we’ve been there, we’ve done that. But we have a guest this month and Carl, I’m going to let you do the introduction this month.
Carl:
And so we have Nenad with us, and I met Nenad last year at WordCamp Asia, and honestly, we just kind of bonded with him and his boss, Nils, they work at Maksimer, which is a WooCommerce agency in Europe, and they’re just really passionate about bringing WooCommerce to the next level. Out of everybody I’ve met, they’re the most passionate about solving all the scaling problems. Do you have a million SKUs? Okay, let’s talk about it. Do you handle thousands of orders? We want to talk about it. How do we find the ways that I like to saying the gears start flying out of the machine in the cartoons of the WooCommerce machine. How do we find those things and how do we level it up? So honestly, Nenad on the technical side, Nil’s more on the business side, but the two of them together are really pushing to get WooCommerce to that next level that we all want to get there. So hopefully that was a good intro. What’d you say, Nenad?
Nenad:
That was an excellent intro and yes, hi everyone and for introducing me. Yeah, as you said, we met in Asia last year on work in Asia, and yes, as you said, we kind of clicked from the first two sentences because we met on a boat, right?
Carl:
Yeah. We were on a boat
Nenad:
And immediately we started talking about what does W at the Woo kind of scaling of WooCommerce mean and how are we approaching it? And it was a very, very interesting talk.
Carl:
Yeah, I talk about it actually in the year in review. Bob gave me the invite to that boat, and I was like, it was like the best meeting I had all year. So I was like, so thank you, Bob.
Nenad:
Nice. It was really fun because we also rarely meet people that have these kind of struggles, especially in the WooCommerce space. WordPress space, I would say is a bit different, and it has more agencies that work with scale WooCommerce as far as we managed to figure out, doesn’t have that much focus on big merchants with a lot of skews and a lot of purchases per minute. So yeah, that was a very interesting talk.
Zach:
Yeah, they can imagine. And when I started my agency in 2017, I think we were one of the first that was really focused on performance at scale with WooCommerce. So it’s been cool to watch other people joining that space and really starting to pursue those same challenges and things that we were pursuing. And I see here on your website that one of the things that you put forward right away is integrating with ERP systems.
Nenad:
Yeah. So the short history of the company is, as the name says, means maximizing in English, was kind of tending to help the customers reach broader audiences and increase sales. But early on, we realized that there is a need for people not having to manage their stores in multiple places. If you have a merchant who is maybe in business to business merchant, they need to handle their in stock with their own ERP system or CRM system. And then if they want a store that will be serving the customers with their products, you need a separate WooCommerce installation or an e-commerce installation, and that will do that. And people were bothered by having to work at two places at the same time, managing both stock and purchases in both systems. So there was a need to create some kind of tool that will ease their pain. And this is how we created an internal platform called macco or Maksimer Connector that integrates with a lot of ERP systems that are mainly used in Scandinavia because that’s our primary market.
Zach:
We see a lot of that on our end too, the sages and that stuff, the large ERP systems or we see Microsoft Dynamics quite frequently, so it’s kind of crazy that there’s this world of integrations and things that large e-commerce stores generally are using that the WooCommerce market has barely tapped the surface of at this point. And ERP is just the beginning of that, right? If you’re dealing with a large retailer that has a whole bunch of stores, they don’t just want ERP, they want point of sale integration, and they want point of sale integration so that when they update a price in their store, it updates on the website automatically, right? Yeah, exactly. And so it’s really cool to see another company, another agency that’s looking at that kind of level of integration because deep integration is what makes WooCommerce really stand out. This is hard to do with other platforms.
Nenad:
Yeah, yeah, exactly. So yeah, as I said, we created a tool that is more now a configuration tool that we already have connectors to a lot of from WooCommerce or Shopify or a couple of more systems directly to these ERP systems. And all you need to do is basically give us an example of your data and we’ll translate it to WooCommerce API and make the connection happen. So we realized that focusing ourselves and making ourselves experienced in this area will bring us further. And it did. It got us a lot of clients that because of they were looking for this connection part of the whole project, they came to us and we built not only that integrator, but also the whole shop for them as well.
Zach:
Yeah, it’s really easy when you can supply the hardest part of the project to go ahead and say, yeah, why don’t we just do the other stuff too? That’s an easier sell at that point. Yeah. So you have a middleware product basically that does the translation. Yes. And just out of curiosity, what technology stack did you guys decide to build that in?
Nenad:
Well, it was built a while back, and originally it was built in XM framework.
Carl:
Woo. That’s old school.
Nenad:
Yes. And I remember when I joined Maksimer, we were still doing configurations, kind in terminal editing the configurations file manually and adding stuff to the translator files. But from there we moved to Laravel and built a UI that can serve us better and the clients better. And we are also making a tool or a platform that you can actually register on and just let customers do the connection part or defining the data for the connector so it’ll serve more kind of a standalone tool that will speed things up as well.
Carl:
Yeah, so you don’t have to be as involved in the whole process. Yes. Yeah. Do you find that they burn themselves with it, though?
Nenad:
Well, yes. They often need help. They often need help, but again, if they can do 10 or 15% of the work, we are happy and they’re happy as well.
Carl:
Yeah, that’s good. And after they don’t have to contact you too to make every small change too as well.
Nenad:
True. And we are using also, not only MySQL, but also MongoDB and Redis and all sorts of helper tools, that speed data transfer app.
Carl:
Do you like Mongo? I don’t know if we should even go on that tangent. That’s the last hype. That was my last hype. I mean, okay. I don’t know if you, we will consider the fact that I love serverless that much as a hype train, but that was the last real hype train that I feel like I got on was I didn’t get on the microservices hype train. I didn’t get on all that other stuff, but I got on the Mongo hype train really hard in the late 2000 tens.
Nenad:
Well, yeah, I like Mongo a lot. It serves a different purpose to MySQL, I would say, because you want to kind of store collection of data, right? Similar to what an API will give you or Jason. So in a particular sense, yes, it’s much better than using MySQL for some things, but I would go as far to say that everywhere you should replace relational data with
Carl:
No, no. And I remember the main thing that was like, okay, but if your data format changes, what happens? And it was like, oh, well, didn’t really have an answer to that. It was just like, you’re going to have to deal with it yourself. It was like, oh, okay. And that was like, that’s kind of when I was like, okay, well maybe just storing Jason blobs in Postgres or MySQL. Now, back then it was like Postgres had it. I mean, honestly, between U three, the U2, if I could, I would just use Postgres everywhere if I could. I feel like Postgres is the best database basically. You can get data types for everything you could ever need. It’s just so versatile, but yeah.
Nenad:
Yeah, you could write functions on the escrow level, right?
Carl:
Yeah, exactly. Also, it’s just it’s so strong a secret part. You wish WordPress supported it, but yeah. Yeah. I still end up using MySQL. Even Laravel is always MySQL. Everybody uses MySQL, but I wish I was like, okay, I’m doing Postgres now.
Nenad:
We’re actually experiment experimenting with it because it offers some of the clustering tools that my squirrel doesn’t have.
Carl:
Yeah, exactly. It does. So much. Years ago when I was an agency still, we did a calendar. Now there’s event calendar and stuff like that, but it’s a complicated plugin. I read papers. I read papers on how to do proper calendaring, and I remember at some point figuring out that Postgres just had a data type for scheduling that I could have just used, and it would’ve saved me so much work. Basically, so much of the complexity was making sure you were scheduling things properly, and it was like, oh, this is just built in into the database. I’m like, you can’t see me. There’s no video. But my head exploded basically everywhere, and I was just like, why am I wasting so much time writing all this code and finding all these bugs? And it’s solved for you? You’re just using it for the clustering, or you have other data types and stuff that you’re kind of interested in?
Nenad:
No, because we didn’t find the solution that would solve something in WordPress, but we were trying to use PostgreSQL because there are easier tools to create database clusters than just my sql.
Carl:
Yeah, definitely. Without a doubt.
Zach:
I’m a fan of both the Postgres clustering, but also Maria DB’s, Galera clusters
Nenad:
On all of our installations. We are using MariaDB and we are mainly experimenting with Galera clusters.
Zach:
Yes. Yeah, galera is great. Just it’s so easy to run a virtually synchronous master environment that way. It’s a multi-master cluster.
Carl:
Do you want to explain it a bit more for people that don’t necessarily know what it is, which is probably most people,
Zach:
So virtually synchronous means near synchronous, right? It’s as close to at the same time as possible, but what Galera does is when a rite is happening, it will lock everything across the cluster to make sure that the rite is replicated before any reads can happen.
Nenad:
You can set it up, you can tweak it a bit.
Zach:
Yeah, and why do we need that? Well, the biggest problem with database replication, especially in WooCommerce for example, is that when you’re placing an order and the order is getting written to the database and then it switches to the order confirmation page, and at that point the load balancer decides, you know what? You should be on a different web head. And that web head’s connected to a different database server, and that replication hasn’t happened yet. The order confirmation page breaks, that’s the most common thing that you,
Carl:
That’s a really good example, actually.
Zach:
It’s the most common thing you see as a replication lag issue inside WooCommerce is to have the order confirmation page break during checkup.
Carl:
How bad’s the locking when you do that though? Because remember when you had problems with roll lock, does it just do a roll lock or does it do a full database lock when it’s writing?
Zach:
It depends on your configuration, but basically it makes sure that that record can’t be read by default until all of the servers have it, so it’ll just queue the request until it’s replicated.
Carl:
Oh, okay. I see. So it doesn’t lock the entire database so that you know what I’m talking about. Right. If you don’t configure locks properly with rights, you can. That was the my problem, right? Because it had table locks and it was like you write one thing to the table and it’s like, now I was just thinking, oh my God, it’s like my on steroids now. Not only are you locking your table, you’re locking all your data, your servers at the same time.
Zach:
Yeah. And then there’s this group commit thing that you can do where groups of transactions get flushed to disc together to improve performance and really just speeds up everything across the board with readability, with everything you’re doing with the Galera cluster. So synchronous replication, it’s highly available. If one of the nodes crashes, you don’t lose any data, which is a huge thing, and all the cluster nodes remain consistent. So transactions then are executed on all the nodes in parallel, which is kind of cool.
Nenad:
And in kind of a usual cluster setup, you would have one main node that will serve as master or main node, and then the other ones will be the ones that you just read from. But in galera cluster, you can actually configure it, so you have multiple master nodes, so it can decide on which node to write to, and then the other ones would get the information same, so it doesn’t have a single node that it writes to as well, which is nice for if the main node fails, then you are done. But in galera clusters example, you would have another node that can also receive rates, not just read, which is kind of cool. That’s cool.
Zach:
Yeah. So all of this replication, replication lag is the problem that we run into normally by having this synchronous replication as an option, the virtually synchronous as they call it. By being able to do that, we eliminate the replication lag component, which for a long time was the reason why we at my former agency would not deploy a replicated database because replication lag was a huge issue. If you can’t deploy a cluster, what’s your only other choice? The only other choice is deploy a larger database server and you go larger and larger with bare metal as far as you can until finally you reach the limits of the capability of computing. When you get there without the ability to deploy a second server and have replication, there’s nowhere else to go, right? We had to have a solution to this, and Galera replication really helps with that and makes it easy to do with MariaDB. And I think the Postgres replication is great as well. It does a great job. I don’t think it’s as easy to configure, in my opinion as galera is.
Nenad:
Yeah, that is also what we found. But again, interesting fact about Galera clusters is also we are experimenting, as I said, with pushing the limits of WordPress and WooCommerce, and WooCommerce is a platform that does a lot of rights. What’s basically whatever you do, either you are putting stuff to cart since it’s kind of a session less platform and everything is stored in a database, there are a lot of frequent rights to the database, whatever. I mean, depending on the action you’re doing. So what we also figured out, we want to make kind of an internal guide on how are we scaling the database part. So are we going to actually use a cluster when it, does it make sense to use the cluster more than actually putting a database on a bigger server with more resources and optimizing those? So I wouldn’t say that the Galera cluster will solve all the scaling problems because for example, we made a site that we put, I think about 800,000 different SKUs and yeah, I think we have about 400,000 products, and a lot of them are variable products.
So about 800,000 SKUs. We have about a hundred thousand users on the site, and we start with about a hundred thousand already made purchases. And then we actually do a stress test on this site and try to figure out what is going on behind the scenes and where are the biggest plugs and why is the database struggling? And again, you can scale the web part or the PHP part of it pretty easily, but when it comes to the database, that is something you need to pay attention on, how to configure so it doesn’t eat up your resources, server resources.
Zach:
When you’re doing work like this and you’re trying to optimize these complex WooCommerce stores, what does your tool set look like for figuring out what’s going on on the server. What APM is your favorite.
Nenad:
We started with a long time ago is a tool called Flood.io. I think Carl, you’re familiar with that one? Yeah,
Speaker 4:
Yeah. Love Flood io. It’s the best.
Nenad:
And they allow you also to add your own kind of end scripts that you can spin up actually a browser and write comments that emulate the user as close as you can. They also went far to create their own language for writing tests, and you can actually spin up a lot of, you can spin 500 instances running your test that goes through the site and does whatever you want it to do. So you can create pretty nice stress tests with this tool, I would say. And then what we also do, we monitor the server itself, kind of the resources, the MySQL queries, which regular Linux scripts, but also we use a nice tool called blackfire. I don’t know if you’re familiar with that one, which gives you a very good visualization of the profiling of the actual site. So it gives you a visual representation of how resources are used, how much time the page took to load, how much memory it took to load the whole page, how much CPU time it used, and also list all MySQL queries that were run in this. So what we also do is during the stress test, we run black fire and see how page loads behave, where the site is not under load, and how page behaves when the site is under high load. And then we can decide on do we need to optimize? Do we need to change a certain part of the application so it runs smoothly, although you’re on high load and stuff like that.
Zach:
That’s really cool. One of the things that I like about using New Relic or Datadog or any of those tools is that a lot of them understand the platform that you’re using. So for example, I know Blackfire has a great Laravel testing suite built in and understanding what’s going on in WordPress in your framework that matters. Being able to know what hooks and filters are and knowing what those things do and being able to track when those calls are happening separately and have a view for those all helps when you’re looking at this application performance monitoring tool and trying to figure out where these bottlenecks are, what the call stack is, when they’re happening, all of those fun things. So yeah, blackfire is great. New Relic is pretty great too. It’s a matter of figuring out what the right pricing is. The right combination of things is because a PM tools are kind of expensive sometimes, depending on what you’re looking at, they can go up really quickly in price.
Nenad:
And if I’m not mistaken, blackfire is built from the same people that are responsible for the Symphony Foundation, I think. So they understand PHP really well. Yeah. So yeah, this is one of the reasons why we actually opted for it, but we not using blackfire exclusively, but for this kind of tests, it serves us
Zach:
Well. Yeah, that’s platform, that’s who’s behind blackfire, and they do a lot. They have a platform as a service for Python, number of other application languages, and blackfire appears to be adding support next for Ruby. So they’re going from PHP and Python to PHP, Python and Ruby. So that’s kind of cool. And then obviously being able to use something like flood and design a testing script to do a load test, it’s really important to be able to script your test when you’re working with WooCommerce because the bottlenecks don’t occur just on a page load. The things you need to test are the actions a customer are going to complete. So adding an item to the cart, viewing the full product page, adding an item to the cart, viewing the cart, viewing the checkout, entering card details in test mode for a real checkout, and then actually checking out. And if you’re not testing that entire workflow, you’re missing things. You’re missing performance problems, especially if you don’t have high performance order storage enabled yet. Yeah,
Nenad:
We are still waiting for WordPress to jump out, or sorry for WooCommerce to jump out of the WordPress way of doing things and actually, or high performance or their storage is an awesome thing that we have been waiting for a while. It makes the database work so much nicer, and I hope in the future that we’ll also see product tables, proper product tables.
Zach:
Yeah, product tables would be nice. The problem that they were having with product tables is that variations are hard.
Nenad:
Yeah, I know that they have a lot of problems, a lot of issues that we, yes, we just want things to happen, but there are so many things that need to be looked at and thought through that. Yeah,
Zach:
It’s a big problem, right? It’s a big problem. It’s a big problem to solve. And yeah, variations are difficult right now in feature plugin for product tables, which kind of hasn’t been updated for a while, but the last that I saw when it was still active variations were actually slower in the custom table
Nenad:
Then how are they’re today? Yeah,
Zach:
It’s going to be interesting to figure out how they solve that eventually. The nice thing is that, I’ve said this before on the show, but since we’re talking about this, it’s kind of relevant at the moment. The methods for abstracting Away how data is stored in WooCommerce have been there since 2017 now, and now we’re sitting in 2024, and there are still plugin authors who are reaching directly into post meta. So if you’re plugin author and you’re listening to this because you love the dult tones of mine and Carl’s voices, listen to this, stop reaching into post meta, you’re making all of our lives difficult, more difficult than they need to be. We can’t deploy high performance order storage if you’re reaching into post meta. So let’s just stop doing that. Those helper methods are there for a reason. Use the methods that are in the CRUD classes for each object type in WooCommerce, and let’s just move on from this world where we’re stuck in the WordPress way.
Nenad:
True. And what this kind of experimentation also gave us insight to is that WooCommerce in some cases is not using, for example, product lookup tables where they should. And we had a chat. The nice thing about it is that we have a nice connection to WooCommerce developers and WooCommerce people that work with WooCommerce, and there is a channel that we can communicate this stuff and they really listen and know that there are still issues and definitely will together we can make it better. We as an agency doing these kind of tests can give them some insight of what we have seen. So for example, I think we have in this set of testing with this site, we figured that when purchases are made, WooCommerce needs to recalculate a lot of things about which products are now still available and which products need to go hidden from the archive pages.
So basically, if you bought the product and it’s now out of stock, you shouldn’t present it in the archive pages. So these kind of queries, when you run them on a site that has five people or six people browsing is nothing. It’s done in milliseconds. But when you have a site that has 300 users doing purchases all the time, has a hundred purchases per minute, then these queries can go up to 15 seconds. And if PHP waits for them to finish to get the new set of data from the database, then the whole application is in problem. So what we have done is we had a contact person from WooCommerce to talk to about this, and we have created the ticket with them where we show them what we have figured out. That was an example of really nice cooperation with WooCommerce, and I think if we do this more often, we will get things done quicker.
Zach:
I find that the WooCommerce team is becoming more and more open to collaboration to working with other people. And I think that’s a lot of that has to do with Paul and his leadership, but also just the market moving in that direction. We have more people using WooCommerce than ever before.
Nenad:
Yes. And different type of people as well. I think that bigger merchants are also looking into WooCommerce more seriously as a possible enterprise solution as well than they were a couple of years ago.
Zach:
So yeah, we’ve got more people joining the WooCommerce space than ever before. There’s bigger businesses coming in. It’s been really cool to see that growth.
Carl:
And I mean, again, there’s not a lot of options if you’re a large company, your options are essentially big commerce and Magento, well, formerly Magento now, I think it’s Adobe Commerce it’s called. And so there’s definitely a lot of opportunity there. I feel there’s more opportunity there almost than I know there’s a huge push for enterprise in all of WordPress, but I feel like on the e-commerce side, there’s way more of a vacuum of opportunity and it comes with its own challenges. We’ve been talking, there’s like, okay, how do you do the database? You need a clustering. How do you deal with all the rights and all that stuff? I mean, this is a problem essentially with any sort of e-commerce platform. I think they’re all pretty right heavy, but they don’t have to be as right heavy as WooCommerce is by default when you have more access to a schema and things like that. But being open to that and everything I think is really good, and that’s my hope. This is my decade. This is the decade that I’m like, okay, I’m doing high performance scaling stuff with WordPress. That’s what I want to do.
Nenad:
And also I would say it’s different when we talk about high performance scaling. It’s different thing between the clients. So one client might consider a big scale project something and another one can have a totally different opinion. So for example, we have built a successful project that has 1.2 million products in the store, but that is more kind of a business to business customer, and we needed to focus on different things than serving a lot of products to a lot of people at the same time. So that was a different challenge. So I think what we are doing now is the progression of that journey or that project
Carl:
That we’re doing. Yeah, I find that’s the largest challenge with when people think of WooCommerce versus just standard WordPress is the problem space as I like to call. It’s so massive, right? Because you could have a person that has a store with three things, but when they sell those three things or they go on sale, they’re going to get an insane amount of traffic. Where I think of my friend that does microbrewery where it’s like stock, making sure that the stock they don’t oversell things that they don’t have is important as well in a high traffic scenario. Or you have you with business to business where it’s like they have millions of SKUs, SKUs and everything, and it’s just like that’s such a complex thing because how it breaks is so different from one scenario to another. In one scenario, maybe your plugin works amazing, and then the other scenario it’s like, oh my God, it’s terrible here.
Nenad:
Yes, we throw our shares of examples there as well.
Zach:
And then in addition to just the normal day-to-day operation of a large scale e-commerce operation, we have this one weekend every year that makes all of our lives a complete and total nightmare. And that’s Black Friday through Cyber Monday. And there are times where you see companies that in volume and gross dollar amount, they beat their whole year in one weekend. And if they’re going to beat their whole year in one weekend, how do we do that with no interruptions and no downtime? How do we make sure that they can scale at that point, right? So how do we handle that? I mean, how do you handle that in the day-to-day operation at Maksimer?
Nenad:
Well, yeah, when we talk about Black Friday, we have a two month preparation period where we start contacting our clients and try to figure out together with them how are they going to do their campaigns. I think that’s very important because usually what they do is create some landing pages that will show you the products that are on sale. And if we can get that upfront and basically see how can we optimize that part of the site, you don’t necessarily need to optimize the whole site for the Black Friday sale. If you can optimize that part, the customers will actually land on, that’s a huge deal if you ask me. So what we are doing is creating kind of a communication channel before Black Friday and figuring out how are they going to do their campaigns so we can focus on that part. But they’re always, as you say, they’re always clients that don’t take this seriously enough and they decide to create some last minute changes to everything.
And there is no good, at least from my side, there is no good answer on how to prevent this a hundred percent. But yeah, I think communication with the client and early preparation is very, very important. But for example, we had this Black Friday, we had a customer that put about 3000 products on their campaign page, and that created the problem for the whole site. And also what we do is implement some monitoring so we can easily figure out where the server is reaching their resource limits. So for example, if a server goes beyond 70% of CPU usage or memory usage, we are notified immediately and we can figure out what is wrong before the site crashes.
Carl:
Sometimes that window is very small, though it’s a warning and then two minutes later it’s like dead. I’ve managed too many servers till there’s no good warning. I mean, it’s better to have a warning than no warning, but it’s like sometimes there’s just no stopping it. If it’s happening, it’s happening and you just got, it’s like the tsunami, right? It’s a tsunami warning. And then you’re like, okay, I got to run up. I got to run up. But you might not make it. It’s happening.
Nenad:
It’s true. But we in a company also have different departments, not just, which also helps. We have a growth department within the same company, and we have something we call eco managers, which are people the clients can hire and help them run their, not just that we build the websites, but run their websites, give suggestions on how these things should be handled. So we have eco managers talking to clients and see if a client has an idea, maybe there is a better way of serving the customers, the products you actually want them to buy during Black Friday. So that helps as well.
Zach:
I mean, store owners are an interesting bunch of people. It’s different. Working with e-commerce store owners is a different space than working with just business owners who need marketing sites. It’s more of a challenge. And a lot of these store owners, just based on the nature of the industry, they are really self-motivated people, and they want to try everything. And they’ll hear on Twitter or X or whatever we’re calling it now, or they’ll hear through one of their mastermind groups or something about some new tool that their friends are using and they want to implement it right away because it helped their friend grow by 10 times. Right. Well, but your friend also had a strategy for how they deployed it. So unless you replicate that exactly, and your market’s the same, you may not have the exact same result, but they want to try it.
And so we constantly are going to get requests for, we want to try this thing. We want to implement, for example, an affiliate program because our friend just deployed an affiliate program and he’s doubled his revenue this month with affiliates and okay, great, let’s try it. Let’s talk about how to do it. Well, we have to use the one he used. Well, okay, he’s on Shopify and he used a Shopify app. They don’t have WooCommerce support, so let’s look at alternatives that do the same thing. And so that’s a big part of the issue is just trying to reign store owners in to be able to better serve them because they do have this self-starter mentality and they’re perfectly happy to jump way down the rabbit hole. And so it’s a lot of fun and challenging. Sometimes it’s terrifying and difficult, but I love the challenge of that.
I love the fact that store owners are so invested in their business that they really become partners with us in how we build things in a marketing site. And those traditional marketing sites, a lot of times you go through content discovery and then they’re, oh, we’re good. We’re good. You build the rest and we’re good now. And then you hear nothing until it’s done. And with an e-commerce site build, it’s a totally different ballgame. They generally, they want to be involved and heavily involved from day one, and they never stop wanting to be involved. They need to deeply understand how their business operates. See, because the unique thing about e-commerce compared to every other industry when we’re building a website is that what we build controls their entire income stream.
And that is, it blows your mind when you think about it that way. What we build controls their entire income stream. Whereas if we’re building a marketing site that happens to have a lead funnel in it, if the lead funnel stops working, they still have vans driving around town with their name on the side of it, or they’re still out in the community and telling people about their business. But e-commerce needs a larger scale than that. So driving vans around one city doesn’t really grow it. We have to focus on the fact that we run their entire income funnel and when things go bad, when things go wrong, because they do, no matter how much we try eventually or occasionally things do go wrong when they do, how we respond in that position has to be based on the fact that we know that they had a water faucet that had money coming out of it, and we’ve turned it off temporarily, and so the money is stopping and that’s how they pay us. So in that position, how we respond really determines how happy the customer ends up being. And I’ve seen agencies lose customers over not responding well in crisis mode
Carl:
Or hosting. You lose hosting for the same reason. I had definitely had that happen with a client this year. They’re just like, yeah, we’re moving out. Basically we’re giving them so much money and they’re not, I mean, for them it’s a lot of money. I’m sure for the hosting company, it’s not a lot, but when you’re relying it, like you said, it’s like it’s your livelihood. So it’s, it’s really critical.
Zach:
You don’t have a lot of chances to get things right, and you have to make sure that you are consistent about getting things right, because if you lose that consistency, they start to falter. They start to think, well, maybe I’m in the wrong place. It is a challenge every day. But I love the challenge. I love the challenge because I love knowing that no two days I’ve ever been the same for me since I’ve been in e-commerce.
Nenad:
That’s true. Every day is a new challenge.
Zach:
And I love that. I love the challenge. So if you’re listening to this and you love the challenge, well, you might need to start focusing on getting into this e-commerce space a little deeper. And speaking of that, it looks like Maxima is currently hiring. So if you’re looking to get into some of this stuff, that’s a great place to start. I would think. And there are obviously tons of agencies in this space now. It’s not what it was in 2017 where there were just a couple of woo experts. And yeah, we were in the very early days of the WooCommerce Experts program. It’s changed a little bit since
Nenad:
Then. It’s changed a lot, I would say. And I think people or agencies also do a lot of cool things, not just in WooCommerce, but on top of WooCommerce. So we had a lot of clients that have different requests, and as you say, they usually find a plugin that does something, not maybe does 80% of the job, but then we need to jump in and add the other 20%. Or we also, together with the client, we define what they’re trying to solve and we either use a premade solution or totally create a custom solution. So there are a lot of custom things we have built using WooCommerce because it gives us a lot of default things like user management and order creation and stuff like that. But we have built a lot of interesting projects that don’t work in a regular WooCommerce sense. Last year actually, were awarded an innovation award in the Seshie ceremony. So we got an innovation award for a project we have done for an Australian startup that is subscription, subscription-based pharmacy.
And we have built a WooCommerce site that doesn’t have any product pages, any archive pages. Basically all purchases are done through finding the correct medication through a form that talks through the API to WooCommerce and a couple of other solutions to give you the right medication. And although it’s a WooCommerce site, everything is controlled through a single form and my account page. So I would say that I think people need to start looking at WooCommerce not just as a whole solution, but also as a part solution for the problem they’re trying to solve, because I think it’s awesome for that.
Zach:
Well, those of us here at the Do the Woo podcast know nothing about winning Seshies. We were not the advocate of the year, and then we don’t have one of our hosts, Katie Keith, who won twice with Barn2. That was pretty exciting to be a part of that award ceremony. And it’s pretty great. I think that Brian does a remarkable job with WooSesh. It’s always fun, and we get to do the daily wrap-ups, as do the most of the time. And those have been a good time. I’ve really enjoyed being part of those, and I’m proud of the work that Brian’s done. So
Nenad:
Yeah, Carl and I talked about this. I think in Asia that Woo deserves a bigger conferences where people that do a lot of stuff with WooCommerce actually meet and exchange experiences.
Carl:
It’s like they need to have WooCon back. I’ll leave it at that.
Zach:
Yeah, I’d love to see an event like it back. But the interesting thing about the WooCommerce market is you have two separate audiences to serve. And technically, technically there are three audiences because there’s the store owner audience, and that’s where Woo makes their money. So they may want to run a store owner focused event next, who knows? And then you have the builder community, which we serve here at Do the Woo, and the developer community, which is kind of different from the builder community and the developer community that we talk to on these dev chats every month has a unique set of challenges. If they were to do one event now to cover everything events, they’d have to have sessions for store owners. They’d have to have sessions for builders, and they’d have to have sessions for developers. And that’s hard. It’s hard to run an event that has that much content. So I don’t know what the solution is going to be, but I would love to see something come back. So awesome. Well, normally at the end of the episode, we just ask if you have any closing thoughts want to leave the audience with, so I’ll let you take that away.
Nenad:
Yeah, I mean, I would then repeat myself of what I said last. I think WooCommerce should be perceived as a really, really cool platform. You can extend in your own way. Don’t just look to the kind of regular uses of WooCommerce and plugins that are already made. There’s so many things you can do with it, especially now that the API is much, much better for WooCommerce that what we saw a couple of years ago. I think just the kind of projects you can do on top of WooCommerce are going to be much more interesting in the future.
Zach:
Awesome. Well, it’s been great having a conversation with you today. I love it. Where can we find you? Yeah, where can we find you on the interweb?
Nenad:
On the interweb? Well, I’m not big on social media. I don’t have a Facebook account yet, so you can definitely find me in all WordPress, major WordPress conferences. We as a company, support a lot of them and we also as individuals tend to visit a lot. So if you are going to be in Asia or work in Europe, you definitely can find some of us.
Carl:
I can attest to that they’re around. I’m never too far, at least at some points during the conference. We’re never too far from each other. Alright, well it’s good chatting with all of you
Nenad:
Yeah, it was excellent. Thank you guys.






