Prepare for Black Friday traffic spikes – Speed It Up – Episode 5

What are we learning about today?

Joining me again today is performance expert Sabrina Zeidan, she specialises in speeding up WordPress websites. Sabrina will be sharing valuable insights and practical tips to find out what’s slowing your site down, and how to fix it.

In this episode, Sabrina explores how to prepare (at the last minute) for Black Friday traffic spikes.

Black Friday is a crucial period for online businesses. We all know the importance of a fast-loading website, especially during the holiday season when customers are eager to make purchases. Slow performance can lead to lost sales, so it’s essential to address these issues promptly.

But don’t worry, Sabrina’s here to simplify the process and provide you with practical guidance on improving your website’s performance.

We cover topics such as the WordPress memory limit, caching functionality with WP Rocket, managing options in the WP Options table, and optimising the backend performance of your website. Our aim is to equip you with the knowledge and tools to keep your website running smoothly.

Oh, and did we mention that we’ve got some incredible Black Friday deals in the WordPress space? Nathan will share the details about the 348 deals currently available on our Black Friday deals page.

So whether you’re a developer preparing for the holiday rush, or a business owner looking to improve your website’s performance, this episode is packed with valuable insights to help you succeed.

In the future, Sabrina will be analysing user-submitted websites for free during the show, so make sure to visit wpbuilds.com/speed if you’d like her expert evaluation.

As always, remember to share this episode with your colleagues and friends who are interested in improving their website speed. Let’s dive right into our conversation with Sabrina Zeidan on how to ‘Speed It Up.’

Mentioned in the show:

How to Clean up Your wp_options Table and Autoloaded Data

WP Optimize

Overview:

[03:37] Visit WP Builds for website speed optimization.
[09:51] Opportunity to share Black Friday deals page.
[13:40] Privileged position if users are devoted.
[18:45] Slow backend affects cart and checkout pages.
[23:58] Monitor query, check page load times, fix ObjectCache for backend performance.
[27:16] Poorly coded plugins can slow and crash websites.
[32:38] Google for syntaxes and set WP memory limit properly.
[40:52] Plugin developers store plugin work information in WP options table, causing it to grow large.
[43:05] Detailed article on managing database requests for options.
[48:22] WP options table holds transient WP data.
Transient stores info temporarily, then deletes.
Examples: sales promotions, plugin activation notices.
[53:51] Like it a lot. Database shows post revisions.
[01:00:05] Uninstall unnecessary plugins and ask coworkers.

Read Full Transcript

[00:00:04] Nathan Wrigley: This episode of the WPBuilds podcast is brought to you today by Omnisend, the top rated email and SMS marketing platform for WordPress. More than 100, 000 merchants use Omnisend every day to grow their audience and sales. Ready to start building campaigns that really sell? Find out more at www.omnisend.com.

And by GoDaddy Pro, the home of managed WordPress hosting that includes free domain, SSL, and 24x7 support. Bundle that with the Hub by GoDaddy Pro to unlock more free benefits to manage multiple sites in one place, invoice clients, and get 30 percent off new purchases. You can find out more at go.me/wpbuilds.

Hello again. Hello. Hello again. How are you doing? Sabrina?

[00:01:02] Sabrina Zeidan: I'm doing. Good, Nathan. How are you?

[00:01:04] Nathan Wrigley: Yeah, good, thank you. We are back. We're on episode five. We had technical gremlins last week, and so our regular schedule was upset. It was a problem with the platform that we used to create these live shows. They had some glitch, which meant that they couldn't, I don't know, couldn't get connected to the social platforms where it all goes out. But we're back. We're on the fifth show. This, where is she? She's over there. Hang on. Whoa, there. I'm not used to pointing that way. Usually everybody's over there. But it's Sabrina, who is a performance expert. She's a performance engineer, as you can see by her Monica, on her little lozange down there. We're going to talk about WordPress speed and performance and updating your site. And typically, we cover one particular thing. I don't know if that's going to be the case today, but I'm just going to hand it over to Sabrina. First of all, Sabrina, in case somebody's joining us for the first time, we'll do a little bio. Tell us a bit about yourself and then we'll tell people about how to do comments and stuff like that.

[00:02:05] Sabrina Zeidan: All right. Thanks. My name is Sabrinna. I'm Ukrainian. I'm a Performance Engineer. My daily work is to speed up WordPress websites and to repair WordPress websites when something goes wrong there, to look for problems and to try to resolve those problems. This show that we are doing, it's specifically about my work, it's about performance. We decided to do this show because we see a lot of confusion about performance. There is a lot of information available about performance, but I see that there is confusion because there are loads of information. With this show, we are trying to, maybe not to answer all questions, but to tell in simple words what we can do with performance of our WordPress websites. Before we had a few websites submitted to us for audit in life in the show, and if you would like to do so as well, please head over to WP Builds. Com/speed. There is a form there where you can submit your website that we will audit in the next episode. Perfect. And, Nathan is my lovely host of this show. And thank you, Nathan, for having me at the show at WP Builds.

[00:03:37] Nathan Wrigley: You're welcome. So, yeah, the URL is on the screen. If you would like, Sabrina, to have a little bit of a poke around in your site, rummaging around, see what she can find in terms of speeding that website up, head to WP Builds. Com/speed. Over there is a simple form to fill out and it will will alert Sabrine as to the fact that you want that looked at, but also you will be able to give Sabrina a different level of permission. How deep do you want her to go into the audit on the show? Another thing to mention is if you want to catch up with the previous episodes of the show, then you can go here, WP Builds. Com/speeditup archive. The other option, though, is to just go to WP Builds. Com. There's an archive button in the main menu. And if you scroll down in there, one of them is called Speed It Up. So you can go and look for the previous four episodes at some point very soon. This will be added as our episode number five. Let's talk about the bits and pieces of how this platform works just very quickly just so that you know how it works.

We're distributing this into all sorts of different places. It's going over to YouTube, going over to LinkedIn and Facebook and so on. The very, very simplest way to comment is to head to this URL. It's WP Builds. Com/live. Once more, WP Builds. Com/live. You've got two choices if you go there. You can either be logged into YouTube or Google, and you can use the comment box, which is outside of the video player. If you don't want to be logged into that, then you can always click the little black, I think it says something like live chat or something, is inside the actual video. So you're looking at the top right of the video, top right somewhere, I like that, of the video and click that and then you don't need to be logged into anything. If you happen to be watching this on Facebook, and I think Sabrina is sharing it out on her Facebook channel as well, then Wave, which is the platform that we're using, they don't allow us to see your username or avatar unless you give us permission. The way to do that is to go to Wave. Video/lives/facebook. I believe that might be as a link inside the post that's going with this video.

I could be wrong. Wave. Video/lives/facebook. Please do leave us a comment there, if only just to say hi. I know it's a- Yeah, say hi. I know it's an awkward time of the day for some people. It's very early in the US, for example. And also we're on the Black Friday runoff and all of that, which gives you a bit of a flavour as to what we're going to do today. But if you feel like it, give us a comment. But like I said, if you're watching this after the fact on the archive page, no worries. You could drop us an email instead, okay? Right, we're ready. Ready when you are.

[00:06:37] Sabrina Zeidan: We are ready. I was thinking what we can talk about on 23rd of November. My thinking is that we should talk about preparation to Black Friday, but not that type of preparation that you do a month before. You are an organised person. You're preparing your website, auditing, improving performance, fixing all things beforehand. If you're something like me, you do everything in the very last moment. Or maybe you were sleeping and snoring like smoothie.

All. The time. Oh, look. Oh little thing. Now you realise that it's 23rd of November and people are going to come to your website and you need to do something about this thing. What we are going to talk about today is about how to prepare your website for Black Friday in terms of performance, if you don't have time, how to check the very important and very easy things to check that you can fix right away without anyone's help. I will just point them out. Maybe you are lucky and some of that simple things, they might be your bottleneck. That might not be it, but maybe those things will be bottlenecks on your specific website and you will have a chance to do a few things to fix those bottlenecks. So that's what we are going to go through today, what to check if you don't have time to get prepared to Black Friday. Perfect. And anyways, there is new year, there is Christmas and we'll still have someone later.

[00:08:30] Nathan Wrigley: It's a real thing. If you go back 10, 15 years, Black Friday really wasn't a thing. And most people were doing their shopping and all of that in real world bricks and mortar stores. Now that's really changed. It's fairly aggressive out there. The email inbox that I've got has been literally deluged, especially this week. Everybody's gearing up. And so I imagine that most of the internet is being consumed by trying to shop for things and what have you. And so if your site is slow, you're going to lose out. So this is a great topic to cover. Fascinating.

[00:09:06] Sabrina Zeidan: Okay. Right. As much as I don't like all this rush because its like forces. I am super anti-consumerist person. Like all these forces you to buy things that you don't need, sometimes you can get good deals of what you really need it. And I think this year in the WordPress ecosystem, there are quite a few Black Friday offers that are quite generous. So if you are already using some service, there is a chance that you might have a good deal on that service because of Black Friday. I know, Nathan, that you have on WP Builds page devoted to those deals, right?

[00:09:51] Nathan Wrigley: Yeah, we actually truly do. We've got this page. Well, I might as well just to share it because honestly, this is not optimised and we're not going to go through this, but it's a good opportunity to plug something that we do, so why not? Every year we throw out this Black Friday deals page, which is essentially what I do, is I ask people around the WordPress community if they want to get in touch with me and let me know for them where some decent WordPressy deals might be. So I gather them all together. I think at the moment, let me just check my information, but I think at the moment, let me read it off the archive. Actually, forget it. I think there's 348 or something like that deals on this page at the moment. There's a lot. This page really would have been a good one to look at because it's not optimised at all. What you'll notice here is there's literally 350 images, which is never a good idea. So you just scroll down. I mean, it's just nonstop look. It really is a boatload. And if you scroll down, you can search and you can philtre for various different things.

The URL for this, if you are interested in finding this out, it's WP Builds. Com/black. Once more, WP Builds. Com/black. There are a few, and I genuinely mean a few, there's a few affiliate links in there, but honestly, it's like eight or nine of them, something like that. And the rest of them are just good old links that were sent to me. Some of them got UTM. So the people that sent me the links are doing tracking, but the majority of them are just going directly to the page. But yeah, one more time WP Builds. Com/black, use it to search and philtre for your Black Friday deals. You can categorise them by block and all of that stuff. It's pretty neat. I like it.

[00:11:49] Sabrina Zeidan: I would like to take a chance because you shared this. I would like to take a chance and just point attention of everyone who is watching to the question, which businesses should care about performance? Because we tend to generate, I think, a little bit which businesses should care about performance in the first hand. If it's Black Friday and I'm using WordPress products and I know that there is a page like yours where there are a lot of deals of the products that I'm already using and I can save money on going to that page and searching through all this filtering and through all these deals, I would probably cope with the fact that it might be a little bit slow, right?

[00:12:44] Nathan Wrigley: Yeah, that's a really good point. I really want it.

[00:12:48] Sabrina Zeidan: I understand that I will save money by doing this. Once I spent with my mum, she wanted to register for courses for her work. She's a doctor. She wanted to register for courses. I spent with her maybe five hours in a row trying to sign up and pay for those courses.

Those courses, they were fairly unique. Not a lot of people serve those courses, but a lot of people want those courses. They don't really care about their accessibility, about their user experience, about their performance because their users cannot get those courses anywhere else. I think this is such a privileged position when what you serve is very, very wanted by someone else that you don't need to... It would be good if you care about your users, obviously, but you would have those sales anyways. But most of the businesses, they are not like that. I can buy earrings on this website, on that website. If it's slow, if it's not convenient for me to use, I will just go to another website. I think it's important to understand if your business is super unique and people who are buying from you would fight and they would spend hours trying to buy from you, they want that so much, maybe you shouldn't care about performance. You can do other things. I don't know what.

[00:14:33] Nathan Wrigley: Yeah, that's right. I think you're right. I think if you're trying to win in the SEO game, then it matters, right? If you're really trying to be discovered. But if you are already the spot where everybody's going to go, then maybe not.

[00:14:47] Sabrina Zeidan: But if you are so privileged that people would be buying from you anyways, it doesn't really matter. But most of sites, most of businesses are not like that. They compete on regular market. That's why if you compete on regular market, you have to provide service that is better than someone else. And that is performance, that is user experience.

[00:15:10] Nathan Wrigley: Yeah. Just one quick thing. We'll just say hi to Atif because he's made the effort to give us a comment. He's saying, Hello, Sabrina. Just saw this notification, so he thought he'd drop in. Feel free to share it, Atif, if you want to, WP Builds. Com. It's/live. So if you can drag some folk in and give us some commentary. Do you want me to share your screen, Sabrina? Is the things you want to share? Are you ready for that or are we going to get that infinite, recursive camera then?

[00:15:37] Sabrina Zeidan: Sure. Just one second. Let me switch the window. So we'll start today.

Okay, here. We go. You can see my screen now, right?

[00:15:52] Nathan Wrigley: I can, yeah. We can see the pass programme, Premier, USMLE, and complex courses.

[00:15:58] Sabrina Zeidan: It doesn't really matter at this point what the website is. I will start with the overview what we are going to touch today. What I would like us to go through is the list of points that you, as a developer, can check for Black Friday if you are one day away from Black Friday, quick things that you can… At this point, it doesn't matter if you're passing Core Web Vitals, if you're not passing call of vital, it doesn't matter. This doesn't matter. What you really want to check now, we will start with front-end first. So you would need to check front-end performance of such pages. Lending page, if you are redirecting people to the landing page and paying for those visits, if they're coming from Earths. So you want to check landing page speed, landing pages speed, products. I assume that our episode is for people having a book on a store, right? So product page and then archive page, but not necessarily category, but archive. You might have taxonomies, philtres and so on. Those pages you want to check their front-end performance. Also, you want to check checkout page and cart page. So for the front-end performance, product pages, landing pages, archive pages.

You can check those. Now for back-end performance, look, every WooCommerce store that has WooCommerce. Sorry, woo.

Yeah, woo. Yes, that's right. It has a page called Cart that you can access without being logged in. And it would show us now the empty cart page. Let's see how slow or how fast empty cart page is loaded. Let's see, as an example on this website. It wasn't super fast. I am on a very fast Internet right now. It. Let me throw to it. Performance, oh no no no, it's a network. Oh, it was throttling. Hmm, maybe it was caching because I was checking before. And this card page was control five.

[00:18:43] Nathan Wrigley: Oh, yeah, there we go. That was a bit slower.

[00:18:45] Sabrina Zeidan: Yes, this was a bit slow and it feels slow, while this page doesn't have anything, right? This is an empty page that only has header, menu, title, one line and then footer. So this page doesn't have actual content, but this page is connected to it reflects how fast the backend is. Because when we go to cart page, WooCommerce is checking if there is something in the cart and if that process is slow, this page would be slow as well. If you go, for example, on About Us page or some other page having content and it's faster on your website than cart page, it can be an evidence that the backend needs attention that the backend is slow. Makes sense, right?

Yeah. Okay, so for backend performance, you would want to check a cart page, checkout page. It's when you add something to your page. Let me add something. Okay, here is the course. I would like to start in February. I would add to cart, this process. How fast this is, so having or developing the website with e-commerce, you would want to check the steps, adding to the cart and checking out. And then the last bit, when you're paying, you can make a coupon code for testing purposes. You would need to test the last bit when you make the payment and after you make the payment, and before you see the thank you page because there is a lot of thinking happening on that stage. There are a lot of queries happening on that stage after the person is paying and before they're directed to thank you page. If you have one day before Black Friday, this is what you want to do to check these steps. Seeing the product, adding it to the cart, checking out and seeing thank you page to make sure that on every step, it's at least not awfully slow. If it's a little bit slow, you won't have time to fix it very quickly.

But if it's awfully slow, you would need to do something in emergency mode. If you found out that on one of those steps something is slow, the next step that you can take is to install… What I have? I have a query monitor here. You can instal free plugin, query monitor, and you can go to those pages. I don't have on this new website, commerce installed, but you see that query monitor gives you information about this page load.

[00:22:10] Nathan Wrigley: Would you just tell us what that information is there? Because we've obviously got four numbers there. What are they showing us?

[00:22:18] Sabrina Zeidan: This one we can click and we will see this is the 23 queue. This is the number of database queries, right? This is how long the database requests took. This is how many megabytes were loaded. And this is how long the entire page load took.

[00:22:40] Nathan Wrigley: We should just add at this point that this is not the site that we were looking at in a moment ago. This, because you're not logged into that. This is a local vanilla instal of WordPress. So hence why the numbers are fairly.

[00:22:50] Sabrina Zeidan: That site I use just as an example and this site I have an opportunity to instal query monitor on to demonstrate, right? So if you go on your website on these pages, product page, archive page, cart page, checkout, and you do the process with query monitor enabled, if on one of these pages you will see the numbers that are significantly different from what you've seen on other pages, I can't really refer to good and bad numbers here because on some websites, these numbers that we are seeing right now, this is unrealistic. This is clean WordPress instal. You won't see it on your installation, for sure. Some have 100 queries on front page. Are they have 300 queries on front page? They might be fast as well. It doesn't really matter how many. It does matter if you have slow queries.

[00:23:55] Nathan Wrigley: But- It's not always the case that 300 is slower than 100.

[00:23:58] Sabrina Zeidan: Yes, exactly. If you went through that process with a query monitor on, and for example, you see that on checkout page, this number, the first one, the time of loading of the page, is significantly higher than on others. This is the point when you should get worried. While I have query monitor on right now, I want to show an important thing to check that can be fixed easily, quickly, and it will bring a lot of benefit in terms of backend performance to you. There is a thing here called ObjectCache. Objectcache is the, let's call it the software system that memorises requests to database. If one person opened some category page and requested all that information once, it stores those objects in cache. That when another person requests the very same information from database, they don't need to make a request to database directly. They make a request to ObjectCache and they receive it faster. Here you can see a lot of people get confused with this. Persistent ObjectCache plugin not in use. This is not a bad thing. It just tells you that the plugin is not in used. But here there is heat rate.

If you have here low heat rate, it means that requests that are made on your website, that they are going directly to database. If you have high heat rate, it means that object cache on your server is turned on. So you instal Query Monitor plugin, you look at object cache. If you don't see high numbers, higher percentage of heat rate here, the easiest thing you can do, you can just contact your hosting provider and ask them if they can turn on object cache for you. In many hosting panels, you can do it just with one toggle in your user dashboard. Some hosting providers, they would do it for you. But this is something you can go to their support and ask them to do this and it will help in the backend performance of your website. This is very simple thing to do and if this is a miss on your website, you would benefit from it with low effort.

[00:27:02] Nathan Wrigley: Is there any scenario, Sabrina, where putting the object cash or turning on the object cash is not a good idea? Or are there parts of a website where maybe you don't want the object cash to be in place?

[00:27:16] Sabrina Zeidan: Yeah, there are scenarios like this and they're very particular. They're very specific. There is not such group of websites or such set-ups, but sometimes I've seen this quite a few times that object cash might slow down a website and might break down the way the website, break down in terms that server will go down. But this only happens when the plugins or themes used on the website are coded poorly and they are not adjusted. For example, old plugins, they are not adjusted. That haven't been updated to custom plugins, that haven't been updated for a long time, they're not adjusted to these. I've seen this few times that someone would turn it on and something happened, something is not right. But if something is not right, you would know it from the very beginning. You wouldn't need to guess. So you can try it, make backup first. You can do it, but this process is usually just toggle. You can try it. If it goes well, you will see the number of queries here will lower down. It would mean and the time that database is working and the time of loading the page, they would go down.

So if you had, for example, 300 queries on the archive page, you might see 200 queries now instead. That would help.

Okay, thank you. This one thing, another quick thing that you can check with Query Monitor is over here. You see here peak memory usage. Here we see how much memory was used for loading this page from available memory on the server. We see that server limit in PHP is set to 256 megabytes. But it doesn't mean that WordPress is allowed to use those 256 megabytes. And I see this very often, this is such a small thing, but I see this very often, default setting in the new WordPress website, when you create a website and just developers who are creating websites, maybe they just forget to change it. The default setting is WB memory limit is set to 40 megabytes, which is very, very low number. It's very low number. It would be a good idea to go and check, I will show you in a minute, how to go and check to which limit your WordPress memory is set, because the fact that you have 256 megabytes allowed in PHP doesn't mean that it's allowed for WordPress. There is site tools, site health tab.

[00:30:59] Nathan Wrigley: Since a year ago. -the year ago, three or something.

[00:31:06] Sabrina Zeidan: Here you have tab called info. And here you have server database, WordPress constants. And here you can check. So this is how much memory there is available from PHP. It's 256. But this is what is set for in WordPress, and it's set to 40 for new websites. If no one cared to change this limit in WBP config, you might see the same number. You might see 40 megabytes. Believe me or not, I see on old websites, old, like five, six years old, this number, because just no one cared to update it, to change it. This is how you can... And this is super easy fix. This means that WordPress would only be using 40 megabytes from these to 156 megabytes available.

Seems like a waste. This is a waste, of course. Where are the 216 megabytes go? Yeah, I don't know. To fix this, if you found out this is an issue on your website, to fix this, you go to WP Config and you add a line there. You should better google it for syntaxes. Define WP memory limit and you set memory limit there to if you had 40 megabytes, even setting it to 128 would make a difference, would give you a span for WordPress to play around. But remember that if you have 256 megabytes on your server, it's not a good idea to give that all to one WordPress instal, especially if you have dev or staging on the same website or other processes. It's not a good idea. Ideally, ideally, any website should fit into 128 megabyte, any website of majority. I'm not talking right now about Rolling Stone's website. A regular website, they should be sufficient enough, fast enough not to consume that processes that are running there don't consume more than 128 in normal situation. This is another thing that you can check quickly and fix easily. Maybe this is your bottleneck that you can just fix in one minute.

Nice. Yeah. Okay, this was about front-end performance, important pages and backend performance and query monitor. But another thing that we can check. Another thing to keep in mind that when we check our website in incognito mode and we check performance, we usually check it when we are not logged in. If it's a work commerce website and they are selling something, a lot of people would be logged in. For example, product page, archive page, and so on and so forth that were fast for not logged-in users. They might be not fast for logged-in users because page caching might be not.

[00:35:09] Nathan Wrigley: Yeah, enabled.

[00:35:11] Sabrina Zeidan: For those users. I don't know. I don't have anyone from top of my head from hosting companies who would enable caching, not front end caching for not locked in users, but who would enable caching for locked in users. WP Rocket does, WP rocket again?

[00:35:44] Nathan Wrigley: Should I use affiliate links to get some profit from. Them all the time? You can't use affiliate links in a video, but there you go.

[00:35:49] Sabrina Zeidan: Anyways, WP rocket has this functionality and I think this is super cool. They have cash for logged in users. And also they have very sophisticated system for this cash. They would differentiate my cash from your cash. You and me logged in on the same website. I will have my cash and you will have your cash. Isn't it neat?

[00:36:22] Nathan Wrigley: Yeah, that is cool, isn't it? Based upon you use a role or just user ID?

[00:36:30] Sabrina Zeidan: User ID? Every. Every user. Okay, wow. Every user will have. And because the system that they have, they would… Parts that match in… For example, it's two of us, same role, but two of us. Parts that match, they would be stored once. Parts that don't match, they would be stored separately. They have complicated and sophisticated system for storing cookies and such, so that both you and me will have fast websites, fast experience, even though we are logged in, but without travels with a card and so on and so forth. They have very cool system for that. Honestly, if someone knows the system that would do something similar, please share. But I only know WP rocket who does it in a very good way. This is another point. Just keep in mind that before the moments that you tested in incognito mode is not the same that your users on the website are getting when they are logged in, because if you don't have WP rocket on your website or another tool that I'm not aware about that can do this work, create cache for logged-in users. It means that logged-in users are not benefiting from page caching. All good speed that you have in incognito mode might not be the case for logged-in users.

That's the thing. All right, but this is another thing that can be fixed by installing WP Rocket. Okay, memory limit that I said. Another thing. Another thing. There is... I should have said it in the very beginning before Black Friday if you want to do something new to your website, like instal new Slider, instal new plugin, instal change theme. I don't know. Redesign. Don't do this before the major events.

Yeah, good point. Just don't do it. Try to avoid it at all. Like, for example, you saw some cool pop-up plugin or something and you're considering to do this just before Black Friday. Don't do this. It would be better for you and for your night's sleep not to do this and to do this when you have time to roll back to test and so on. So back end performance. There might be a lot of issues with back end performance. But again, I will pinpoint the issue that a lot of websites have, and that can be relatively easily fixed. We have a table in our database. We have a table called WP Options, and that table stores all options of all plugins, of themes that our WordPress website have. Some of those options are auto-loaded on every request to WordPress. They would be loaded on every single visit and on any page and on every request to WordPress, meaning every request, absolutely every request would be loading those options automatically, which might not be needed to be loaded automatically. I will give an example. For example, some plugin is saving. Plugin developers decided that it's a good idea to store information about their plugin work.

I don't know, email log of their marketing emails, like whom they were sent and when and so on. They decided that it's a good idea to store this information in WP options table. When they were writing it down in their plugin, they didn't bother to add an argument to the function because by default options are saved to be loaded automatically. It's plug-ins developers and themes developers responsibility to pointdirect, to points specifically, do not auto-load these options. Many just miss that part and don't do that while they should, but they don't do it. And this is how this WP options table grow large. I mean, 600 kilobytes, it's large for... It's large. Some are three megabytes, some are 20 megabytes, but even 600 kilobytes, it's large enough to be loaded on every request to WordPress.

Absolutely, yeah. It's a lot of megabytes. Absolutely, yeah. This is one of the things that can be checked quickly and fixed quickly. I wouldn't show here right now how to do this, but I will direct to everyone who is watching to Google and to Google, article blog post on Kinster website, ifyou're google, Kinsta, WP options, Autol load, you would get to that article. Maybe I'll do it in a minute and I will put in a URL. They have a very detailed article how to do this. You just do a request to database to see the size of your auto-loaded options. If it's less than 600 kilobytes, let it be. You can deal with it some time later. Look at it. But if it's larger than 600 kilobytes, the next step that you would want to take, and this is described in that article as well, you would want to make another request to database listing those options, sorting them by the size. You can see which options or by which plugin are the main thing I forgot to mention. A lot of plugins, a lot of plugins, they save their stuff in WP options, but when you uninstall their plugin, they don't bother to clean up after themselves.

Yeah, that's not good. The plugin might have been on your website three years ago. You don't even remember you installed it to when you were drunk. I don't know. And now you have leftovers from it slowing down your website. So it's a good idea to use this article by Kinzta.

[00:44:24] Nathan Wrigley: I've got the link on the screen. It's kinsta. Com/knowledgebase/wp-options-autoload-data.

[00:44:35] Sabrina Zeidan: So the first thing you want to do to check auto-loaded data, if it's more than 600 kilobytes, then do another request and check which exactly options are the largest ones. And then if it's plugin that are not used anymore that you don't need it, just delete it. If it's plugin that is in use, look at it and maybe by looking at it, you will understand what it is doing. Maybe you can just switch it to be not auto-loaded. You can switch it to no, and this would be it. This way you can lower the amount of kilobytes needed to be loaded on every WordPress request.

[00:45:27] Nathan Wrigley: This is another. Michelle Hufferke. Hello, Michelle. She says I hate it when I get drunk and instal plug-ins. That's great. Yeah, I've been there. I've done that. Woken up in the morning and thought the heck was I thinking? That's brilliant. Thank you, Michelle.

[00:45:47] Sabrina Zeidan: Sometimes we try that and that and that and that doesn't work. And then we try another plugin for the same thing. We're trying to find the plugin that fits our needs. And some of those plugins, you won't even remember their names. You uninstalled it five minutes after you installed them, but they left their things on your website.

[00:46:08] Nathan Wrigley: It's hard tracking that stuff down as well, I think sometimes, because sometimes the developers don't make it obvious what the names of the things are. And as you said, you may have completely forgotten what the name of that thing was. And so it can be tricky catching that. I just don't understand why... Well, I can understand because it's quicker and easier, but it defies logic if you're a good developer in inverted commas that you don't clean up after yourself. Some plug-ins really do do that. They make a great effort to get rid of themselves in every way. Me and others don't.

[00:46:45] Sabrina Zeidan: I won't be telling name right now, but I've seen a plug-in from a big company, it's a hosting company, and they made a plugin that tracks performance. That plugin was saving performance reports in WP options table. First of all, the idea of saving those reports in WP Options table, this is ridiculous, first. Second, they were auto loaded. And thirdly, when I uninstalled it and I knew that I will see it, I uninstalled it and it was there, it didn't clean up to itself because it's fully coded here.

[00:47:25] Nathan Wrigley: Name no names, but okay, we get the point. That is a really good point. Because obviously, if your website has been around for years and years and years and you really are in the habit of checking things out, it may well be that your OVP options table is huge when it doesn't need to be.

[00:47:42] Sabrina Zeidan: Yeah. Another thing that was this all goes to back end performance because front end performance, it's not so easy to fix. It's not so fast. But these things, though they might seem hard, they're really easy to fix. And if you have limited time until Black Friday, this is what you can go through and check. And another thing that you can check if you don't have time for anything is transience.

[00:48:14] Nathan Wrigley: Oh, yeah. Actually, you should probably explain what that is because I think that's not obvious to everybody. What is a transient?

[00:48:22] Sabrina Zeidan: So we have this WP options table that lives inside our database, right? And the idea of creating transience in WordPress was to store some information in database for a limited period of time and then remove it. This, for example, easiest example, the top new, like for example, it's sale and today's sale promotion or something. It works only today. It's valid only today, only for coupons or something that works certain period of time, something that should be in our database so that we don't go through all products and all their attributes and all users and stuff every time. But instead, we save some information in database for a short period of time and then it will be removed. Another simple example is when you activate the plugin and you can save this information about this action, this event. This plugin has been just activated. Then you can show a notice in admin bar that we love so much to users like, Thank you for installing our beautiful plugin. You probably already love it without testing it. Leave us a good review. That's what plugin do I want us to. Anyways, so for that stuff, you can save information in database for short period of time that is limited in time.

This is the idea of transient, that it's created for certainperiod of time and after a certain period of time and after certain period of time it goes away. But some plugin developers and some theme developers, they don't really get the idea of transient. They define transients, but they use them.

[00:50:58] Nathan Wrigley: It's permanent, not transient.

[00:51:00] Sabrina Zeidan: Yes. That's what is happening. They're using transients, but not as transients. They are defining them, but they're not defining the time when they should be removed. They define the transient, they use it, and this transient has no expiration date. For some transients, I cannot get the example right now, but for some transients, maybe this is a good idea. I don't know, but transients' idea is that they have expiration date, for example, five minutes, for example, 12 hours, something that is stored in database for only 12 hours, for only five minutes, for only one day. But a lot of plugin developers and theme developers, they don't bother to set up expiration date. What happens after some time your website have loads, loads, loads of transients, like thousands of transients saved in your database available ad-hoc and available for you to request anytime, transients that you don't need, that you don't use, that are not actual, that are not relevant anymore. There is a tool that you can use quickly. Wp Rocket has this thing. But if you don't have WP Rocket, there is a free plugin that I like to use specifically for this and another one thing that is called WP Optimise.

May developers of that plugin forgive me that I'm using it only for this because it's not its purpose. Its purpose is often like performance optimisations, but I don't use that plugin for that. I use this plugin specifically to check transients and to check abundant. It also can check size of database tables and abundant postmatter. I use it to check this stuff through admin dashboard without going to php my admin. I don't always have access to php my admin when I'm doing audit and it's faster for me to instal the plugin. I should probably I should probably instal it right now and show and show where we can see it. So the plugin's name is WP optimise.

[00:53:35] Nathan Wrigley: I'm showing on the screen the paid version. There's a free version on the repo, which is what Sabrin is about to show, but they've also got an upgrade as well. It's probably, I'm imagining on Black Friday sale at the minute, although it doesn't... Yeah, 20% off if you want to get it at the minute.

[00:53:51] Sabrina Zeidan: Okay. I never used it's paid version and to be true, I don't know how good it is, but for this purpose I like it very much. WP Optimise, Database. Here, when you check Database, it will show you all post revisions, which can also be a bottleneck because it's growing your database. If you don't have a limit to post revision set in your WordPress installation, it means that every single post revision will be kept. Yes. For those websites that have page builders enabled, every post revision, it means every time that you have changed anything in the template, anything, they all are saved as post-revisions, which is neat. You can roll back to what you've done and it's cool. But not when you have post-revisions from a year ago, you don't needSo using this plugin, you can quickly check how many post revisions you have, how many remove, spam, spam, spam. Wait a second, transients should be here. Tansients...

[00:55:12] Nathan Wrigley: There you go. Remove expired transients.

[00:55:15] Sabrina Zeidan: Yeah. And what I like about it... And all. Yeah, you can do it immediately. Just to explain about transients, don't be afraid to remove expired transients. If they're expired, this is good, you can remove that. Even if they are not expired, you can also remove them because the nature of transients is such that they should be, if they are needed, there.

In the they will regenerate themselves. It would be fine. I use this for these two things. Also, there is these things, postmatter. It checks for orphaned postmatter. It happens when you deleted post, for example, but post-matter related to that post stayed. For example, you had a lot of custom post types posts on your website, and then you deleted that all, but some leftover stayed, and they are growing and growing and growing in your database. This can be a really quick fix for database performance issues.

[00:56:32] Nathan Wrigley: How confident would you be using that on a, especially the PostMeta, on a production website? Would you be advising using this on a dev?

[00:56:42] Sabrina Zeidan: Postmeta? No. Revisions. I would check with client about revisions, and most likely I would set the limit for post revisions. I would set the limit in WP Config. If I set limit there, for example, for five post revisions, it means that WordPress automatically-.

Get rid of it, yeah. it will delete everything that is older than five at some point. I would do that. Transience, that's fine to use here.

Yeah, get rid of those. Postmatter, no. Maybe not. No. Because sometimes I might.

[00:57:26] Nathan Wrigley: You could uninstall something that you then intend to bring back.

[00:57:30] Sabrina Zeidan: I might not know dependencies. I'm looking at it, I'm looking at the name and it seems like, no, we are not using this. I don't recognise this, but this might be just poorly named or it might be... No. I would do it on staging first. And even on staging, I would do backup first. That's what I would do. Yeah. But revisions and transients in terms of Black Friday? Yes. Another thing, not in terms of Black Friday. This shouldn't be done under pressure. But just as we are touching this, you have tables here and you can see here, you can sort here by data size and you can see how large your database tables are. This is fairly uninteresting because this is a clean.

Installation, right?

[00:58:23] Nathan Wrigley: Yeah, but it could be big.

[00:58:25] Sabrina Zeidan: It could be. Yeah, and it might give you an idea from what parts your database consists of. Because you might be surprised to see that your database is huge because of some login plugin, for example, with custom tables.

[00:58:47] Nathan Wrigley: Yeah, just keeping everything.

[00:58:49] Sabrina Zeidan: It was - Keeping everything, keeping everything and in database. We are at five.

[00:58:57] Nathan Wrigley: I know. What the heck. We are now. All right. It's four where I am. So we probably should find one or one or one more tip before we. Call it a day.

[00:59:07] Sabrina Zeidan: Let me look at my list and, all right. Okay. Pop ups. Last tip. Okay. If you found out the web that your website is doing not good today in front of big day or big days, maybe and you don't have a lot of time and you don't have enough knowledge or you can't hire anyone right away or something, maybe the least you can do in front of Black Friday or other high-loaded periods, try to disable what you are not using right now. This is the very least. This is simple. If you think, if you see that there is, for example, a plugin for Slider that you used three years ago for another Black Friday and never used after that, if there are contact forms that you tried, it might sound very simple, but I've seen a lot of websites like this, a stuff gets just abandoned. It was installed for one functionality only, used once, and then it stays active because there are, for example, five people having administrator access to the website and no one of those five knows what other four are doing and they're thinking, Okay, someone activated it, someone is probably using it. I cannot do this. There were a list you can do, if not all these, there were a list you can do.

Just go through your plugin list, see if there is something that doesn't make sense to be active. Ask people who are working with you if they do use it, and if they don't, just deactivate it. Even do it for a few days for these high-pig days, and then you can get back to it in a safe environment and figure it out if you really don't need it.

[01:01:19] Nathan Wrigley: I agree. That all makes perfect sense. So that was great. What a load of fantastic little bitesize and nuggets of things that you can do, be it Black Friday or Christmas or who knows when, but when you're expecting your website to be busy, I guess the real way to do this is to plan it months in advance and do it all slowly. Right. Here we are. We're not doing that today. We're in a rush. Everything got left till the last minute because we're human and this is how it goes. And so that was really helpful. There was absolutely boatloads in there. What I'm going to do is I'm going to put that onto the Speeditup show archive. You're going to be able to find that probably from tomorrow over at WP Builds. Com/speeditup archive. Every word separated by a hyphen. But also if you would like, Sabrina, on an upcoming show to talk about your website and give you some valuable information about your specific use case, remember, there is a form over at WP Builds. Com/speed. Fill out the form. Honestly, it'll take you less time than it's taken for me to say this little bit at the end of the podcast.

It's pretty quick. It won't take you long. And hopefully, Sabrina will line that up on a show in the future. Michelle says, Thank you. And it has been very helpful. You explain these things so well. She does, doesn't she? She does explain these things very well. I completely agree. Anything you want to add just before we call it a day, or should we just say we'll see you next week?

[01:02:53] Sabrina Zeidan: Good luck to everyone with the Black Friday.

[01:02:56] Nathan Wrigley: Oh, yeah, indeed. Yeah, yeah, good luck. That is true. Good luck with Black Friday. I hope it all goes well. In terms of spending, this is quite an interesting time of year. Hopefully, you won't be separated by too much of the contents of your wallet. Have a good week. We'll see you next week, Sabrina. Take care. See you next week.

[01:03:17] Sabrina Zeidan: Thank you take it easy. Bye. Bye.

If you’re here looking for the live show, and the time is right…

JOIN US LIVE

If you’d like your website examined by Sabrina, you can submit it…

Submit your site

Supported by:

GoDaddy Pro

and by:

Omnisend.com

Discover more from WP Builds

Subscribe to get the latest posts sent to your email.

Filter Deals

Filter Deals

Category

Category
  • Plugin (12)
  • WordPress (11)
  • Lifetime Deal (9)
  • Admin (3)
  • SaaS (3)
  • eCommerce (2)
  • Maintenance (2)
  • Training (1)

% discounted

% discounted

Filter Deals

Filter Deals

Category

Category
  • WordPress (44)
  • Plugin (43)
  • Admin (30)
  • Content (20)
  • Design (12)
  • Blocks (6)
  • Maintenance (6)
  • Lifetime Deal (5)
  • Security (5)
  • Theme (5)
  • Hosting (4)
  • WooCommerce (4)
  • SaaS app (2)
  • Not WordPress (1)
  • Training (1)

% discounted

% discounted

SUBSCRIBE TO OUR

NEWSLETTER

WP Builds WordPress Podcast

THANKS.

PLEASE CHECK YOUR EMAIL TO CONFIRM YOUR SUBSCRIPTION.

WP Builds WordPress Podcast