Welcome to Press This, the WordPress community podcast from WMR. Here host David Vogelpohl sits down with guests from around the community to talk about the biggest issues facing WordPress developers. The following is a transcription of the original recording.
Powered by RedCircle
David Vogelpohl: Hello everyone and welcome to Press This, the WordPress community podcast on WMR. This is your host, David Vogelpohl. I support the WordPress community through my role at WP Engine, and I love to bring the best of the community to you here every week on Press This. As a reminder, you can follow me on Twitter @wpdavidv, and you can subscribe to Press This on Red Circle, iTunes, Spotify, or download the latest episodes at wmr.fm. In this episode we’re going to be talking about how WP Engine is making commerce faster. And joining us for that conversation. I’d like to welcome to press this Mr. Josh Dailey. Josh welcome.
Josh Dailey: Hello, David. Thanks for having me on the show. It’s a real honor.
DV: Oh, that’s great. I’m really glad to have you here have you been on the show before Josh, I think on four or five episodes and right now I don’t recall.
JD: I have not yet. I have not had the privilege yet. And so this is a big deal for me.
DV: Excellent, excellent. I’m glad to have you on here. I know. We work together of course the WP Engine and a variety of things but senior adventures over the years and WordPress in general and really glad to have your perspective here. For this listening in this episode what Josh is going to talk about recent updates to WP Engine’s WooCommerce focused hosting option including new Woo focused caching optimizations that provide up to 90% more and very increase in cache pages in Josh’s was going to share with this are their current challenges with caching oocytes? What WP Engine has done to help address that and then what they have planned for the future. So really looking forward to the interview Josh, I’m going to start though by asking you the same question I asked every guest Can you briefly tell me your WordPress origin story? When was the first time you used WordPress?
JD: Yeah, it was probably back in about 2012. I was creating video and some other digital assets for nonprofit organizations and SMBs. But what the challenge was, is that they were looking for a place for mass distribution which was online obviously it opened up a whole world for people to be able to share that content. They’re spending a lot of money to create those assets. And so I found WordPress as a CMS and load for that. And then dove deep into that world as I unlocked and found a community of people around it and then got invited to work for some WordPress plugin and development companies. Excellent, excellent.
DV: So 2012 this would have been just two years after custom post types and meta fields. So this would have been right in the thick of WordPress actually being a CMS versus maybe less so before that time. Did you even acknowledge that in 2012, or that it wasn’t just WordPress and it worked that way.
JD: I didn’t even acknowledge it. I just was diving in because I needed a solution. And this was the best one that I could find and I learned how to spin it up. The open source version. I have had a blog before that on wordpress.com. I mean, it’s all open source but the.com solution for the blog, I was using that already. And then somebody showed me how to drop one on and and figured out how to get into the back end the posting so I know enough to be dangerous, especially at that time. It was just enough to be dangerous.
DV: I get I get out all the time. I was wondering if you could briefly tell me about WP Engine and what you do there.
JD: Yeah, WP Engine is a technology company that’s focused on WordPress, primarily around boasting and solving some of the biggest pain points you know, around speed, security scalability support. So I actually was an early customer of WP Engine after getting hacked and needing a solution for that. So like I said, just enough to be dangerous. And that was kind of that when the managed WordPress hosting space really started popping off and taking off at that time. And so I was an early adopter into that space because salt solutions around the farmer hacks and that kind of stuff. But now it’s gotten a lot more advanced. And then for my role there, I’m a product marketing manager sitting kind of in between the customer and product and engineering to communicate as a lead liaison between the two if I was sitting on a swivel chair kind of communicating what are the customer needs? And then also how do we talk about those products back to the customer and imagining you swiveling back and forth.
DV: Now you know Josh, I actually laid it on WP Engine after a DDoS attack. So I think maybe you and I share that kind of origin story on the WP Engine side. But let’s kind of shift gears if we could kind of start talking about wound performance. So I mean, obviously there are a lot of people that have spoken to some of the challenges that you can face with Wu as you’re trying to optimize for speed and I think it’s important to also underline that was the most dominant e commerce platform on Earth. And, you know, there’s so many tremendous advantages there. But I think as people start to really refine for speed, they can start to face some challenges. And so I’m just trying to understand like from your perspective what are the main challenges facing builders or developers or as they’re optimizing WooCommerce for page?
JD: Yeah, once you guys think’s important to note about WooCommerce and speed is that it is a solid platform. You know, WordPress is solid and it’s fast and it’s when you start adding stuff on top of it and working with it. And so the current challenges right now are a far cry from what they used to be skip. It’s gotten a lot better, but posting has also gotten a lot better. And so the pain points that we’ve identified at the current state is the at a structural level, custom order tables. So that’s something that WooCommerce is working on. And we’re participating in in that but essentially, right now WooCommerce just uses the same database tables that WordPress uses, and there’s no custom order tables for things like products, but But what they’re doing is expanding that out so that it’s going to be more scalable and perform a whole lot better than just piling everything into the same space. And so we’re participating in the beta work of that but you can as well if you’re listening and you want to participate in the testing of the migration, because that’s going to take a migration away from the current process. You can do that by going on to developer.woocommerce.com and finding the blog post there about that. That’s custom order tables. But from another perspective, is cache. Because WooCommerce content is dynamic. Cache becomes an issue. And because if you cache the wrong page, you might break functionality if you cache the wrong thing, you’re gonna bring functionality, or you’re going to expose data. And so that’s a tension point that we see a lot of developers struggling with with dynamic content. And then finally would be the cart fragments issue if you go on to any forum around WooCommerce. Talk to any developer around speed and getting a Google page speed test done, and you see all the sudden that there’s this card fragment script. And so those are kind of the three.
DV: Can you explain what cart fragments are for people that did not read those articles?
DV: You know, it’s funny when I think of speed optimization, and I think of things like how many elements I’m going to have on a page or not. I often call that the balance of suffering and joy. And what I mean by that is the you know the the joy of adding a new experience or content but then the suffering of additional pages. And it sounds like maybe this notion of the balance of suffering. And joy is also kind of being experienced as we think about dynamic content. And how uncatchable that is and of course we know that the more cashable Our site is, it has it feels like it has a dual effect where it’s like the page that’s cached is faster, and the more pages you cache the more server resources you open up for the pages that aren’t and so, you know, there’s this force, it seems woo where it’s like it’s doing all of these really important jobs like keeping your card up to date. But the trade off for that is performance trade off and it seems like in some cases, particularly like for the updating card, maybe the performance trade off is too much. Maybe it isn’t and I want to talk to you about like the ways y’all are kind of approaching it, but we’re going to take our first break. We’ll be right back.
DV: Everyone welcome back to Press This WordPress community podcast WMR. This is your host David Vogelpohl. I’m talking to Josh Dailey about how WP Engine is making WooCommerce faster. Josh right before the break, we shared that the three primary areas of focus that you see as opportunities within WooCommerce performance optimizations customer order tables. Happy to hear that would calm team is working on that. Thanks for the shout out to get people testing into that super important the cache ability of the site and then in particular the cache ability is affected by current practice and that’s consistent with we’ve I’ve personally heard and seen and focused on over the years. So I’m just curious. Like again, like we mentioned before, like people talked about this and blogs, even I know about it. How do builders developers address these challenges outside of hosting a WP agenda here and tell me what like WP Engine is doing? And I’m just curious like how it fits DIY. Both fixes or optimizations for these challenges.
JD: Yeah, I think first of all important to note because you had a great call out at the end of that last segment. But essentially, when you think about PageSpeed and performance, because I’ve spent a lot of time in that space. It’s not a science. It’s more of an art form. And it is a lot of give and take. And that’s where a lot of this stuff comes into play is that there’s not really you know, if you want a big video to play on your site, you got to know that it’s just going to suffer your speed and that but that might be worth it to us what you’re doing. And so with with the E commerce space, specifically the way a lot of DIY folks address their these optimization steps is manually is one way you got to go in and manage it. yourself and figure out cash implementation implementations. There’s there’s also some great plugins if you’re new to the space, but I would encourage you to go in and play around with those plugins and then test test tests. You got to get in there and make sure that you’re turning a switch on see how it performs on the front end, make sure it’s not breaking some functionality and then go back and kind of play around with it. That’s another way that people do this from a DIY perspective. And then finally, I think there’s some 10 fixes speed and performance or an ongoing work. You don’t just set something and forget it. You got to constantly be thinking about the implications of that because of the value that it adds to your store when there’s speed more people convert. And so things like clearing transients are tips that commerce are clearing sessions. And then as a bonus, you can also block bots from creating sessions when they’re logging in. So those are kinds of some of the steps that people take when doing performance on their own or if they’re a developer working on it.
DV: Yeah, so I’m just kind of thinking back and then also thinking about what you just said, but it’s like, okay, I know there’s these challenges for performance that I can take advantage of as an opportunity. I might think of this as I start to scale and I’m going to make a list and cash ability and card fragments and my caching rules and all of that play a role. So I’m gonna lay out this project plan and I’m gonna choose a solution for kind of each slice along the way. And then I’m gonna go and basically configure and implement it in things like caching rules, like what do I cache? What do I not cache? Am I exposing data like the kinds of points you’re making earlier? And then I’m gonna go execute against that. And then not just once, but over time. We share that as my deploying new code or putting new features and new content, but I’m also optimizing as I go, Is that about right?
JD: Yeah, and as you can hear, and kind of the explanation of that you go through and it can take up a lot of time. It ends up being quite a bit of work, especially if you don’t have a dedicated person to it or you’re running your own store. The performance optimization, it kind of feels like there’s never enough time and inside of that, so just take it in bite sized chunks. If you can. But then obviously, there’s other solutions out there where it’s managed for you it’s just as a cost of value. Proposal.
DV: Yeah, it’s really interesting, you know, the value proposition that I feel like we delivers ultimately is own your store. Don’t rent it for Miss ass. And have independent flexibility start out low or new code, but, you know, grow into something more powerful, but with that comes this kind of responsibility of kind of consistent and persistent performance optimization. So you know, obviously the title of shows talking about WP Engine’s, new offering or improvements to its e commerce operator. I’m just curious though, when did WP Engine launch whoo specific hosting like, and what did it originally?
DV: Awesome. So it sounds like generally it’s it’s basically a hosting plan with elastic press essentially instant Store search, Genesis Pro, which is the block building and custom block building tools, and then an automated plugin update service called SPM. It does visual regression testing and so these are kind of like coming together that like a toolkit for people building e commerce stores with WooCommerce enabling some some kind of even on page content which I think is kind of interesting from a platform perspective. But I’m just curious like it’d be PHRC recently announced improvements cities plans, specifically around EverCache for WooCommerce and I know that in the past accommodated with it feels like there’s more about that now and we have about a minute for our next break. But just can’t seem to get started on the journey like what is EverCache for WooCommerce that is available in these plans now and how does it work?
JD: Oh yeah, definitely can tease that up for you real quick but EverCache is WP Engine’s proprietary smart caching functionality, that’s managed cache for you. But EverCache for WooCommerce extends that functionality past WordPress or into WooCommerce account shop pages and the rest of WooCommerce pages. And so yeah, we can get into a little bit more about it after the break. But that’s yeah, a starting point.
DV: Okay, so basically, it’s further optimization, so the EverCache proprietary caching solution, and before it was loose, specific, presumably they started taking advantage of making way more cacheable I want to dig into how we’re going to take our last break and we’ll be right back.
DV: Hello everyone. Welcome back to Press This the WordPress community podcasts WMR. We’re talking about how WP Engine is making WooCommerce faster with Josh Dailey. Josh right before the break you were telling us a little bit about EverCache from WooCommerce the new caching capabilities and WP engines e commerce plans. They’re just curious if you could go into more detail on exactly how this works like how is it different than like a default caching convict somewhere like like company understand what’s going on?
JD: Right. So WooCommerce has a set of recommended exclusions that you can apply and most hosts and plugins already do. This. If you’re using a performance optimization plugin, it will apply those exclusions. But what we noticed with EverCache or when we were looking at cash was that after someone interacts with the cart if they’re using WooCommerce even if they removed that product from the cart, those exclusions use a cookie to tell those pages to no longer serve as cached. And so the first visits you may have to the site until the point that you use the cart cache will work. Fine and then all of a sudden the pages will cut in half and load time. And so the reason for that is because you know cache in general will make a site page load up to two times faster and after we’re trying to surf those cache pages because of the dynamic content. So what we did was we looked at at those pages and we realized that not all of them. Some of these are still have a lot of static content or all static content that could still be served as cached like the blog posts stop being cached. So those pages should continue to be cached. And with EverCache it knows to bypass the cart the checkout authenticated shoppers, but it ignores the key cookies used by WooCommerce to optimize cash delivery for the static pages. And that means that you get the benefits of cache without losing functionality. And we were surprised by the results ourselves because what ended up happening is that we were able to cache up to 90% more of the pages actually it’s it can even be more than that, depending on the number of pages you have. And if you have a huge blog, then that could go up to 99%. You know, but the beauty of that is it means that the customer gets the benefits all the way through and the performance benefits the further down the buyer journey they go. And so with WooCommerce if you’re following just the recommended cash exclusions, the pages start to slow as the customer continues down the buyer journey with EverCache, you get to continue to have the same level of performance throughout the whole shopping experience.
DV: Excellent. Well, thank you for sharing that. I know just in general, EverCache for WooCommerce is like a collection of optimizations that the how it sounds really meaty and that’s amazing to increase. The number of cache pages by up to 90%. Now you had also mentioned that WP Engine is planning some things around cart fragments what can you share about that?
JD: Yes, so cart fragments were doing a similar integration and it will be another further extension of EverCache essentially. But it will be a plugin that allows you to continue to use the cart fragments features so that the cart stays up to date and is able to update but it won’t run on pages that don’t utilize the cart. So the real pain point of CART fragments is that it runs or checks on every page that little script is running on every page even if our functionality is not there. And so we’re able to determine when current functionality is being used and then to apply the appropriate rules to those pages based on that. So that should really free up even more resources or across the site.
DV: Yeah, I like that word automated, obviously install, configure and repeat. It’s a lot of work sometimes especially when you stitch it all together. But that sounds incredible. This was awesome. I really appreciate you going to this level of depth Josh, and I really enjoyed having you on the show today.
JD: And I said it was my privilege. David, I enjoyed working with you but I also enjoy the work that you’ve done in the WordPress community.
DV: Thank you so much fun, and you get to meet so many cool people during this show and talk about really interesting things. It’s one of the highlights of my week for sure. But again, thanks so much for joining us today, Josh. Right on. Awesome. If you’d like to learn more about what Josh is up to, you can visit wpengine.com/ecommerce. Thanks everyone for listening to press this WordPress community podcast on WMR. Again, this has been your host David Vogelpohl. I support the WordPress community through my role at WP Engine. And I love to bring the best in the community to you here every week and Press This.