A Guest Blog post by David Schneider
I host my site, Fringe Photography, right here at SWCP. They have been good to me, have always been quick to respond when I needed them, and I can’t imagine using anyone else. And as we’ll see, they provide top-notch performance, bar none.
But, my WordPress website, while I thought it looked pretty nice, was a bit slow. And by a “bit slow,” I mean “moving at a snail’s pace.” I should have been suspicious when the theme I was using had a cute little spinner as a loading icon when you moved from page to page. I figured I could live with it but began to realize my users wouldn’t. And besides, I knew better. I really did. My home page took almost twenty seconds to load, but it looked nice, so I lived with it.
I had procrastinated in addressing this and figured that I would put the site on a content delivery network (CDN) to speed it up. I also knew in my heart that this was putting a band-aid on the problem, and although it would make things faster, it wouldn’t solve the underlying problem. My site was slow. It was time to admit that.
The turning point for me came when I saw a posting that Google’s SiteKit was available as a plug-in. I reasoned that I would install it and check it out, and maybe if I were lucky, it would give me a little performance boost before I put it on the CDN. What could it hurt?
The first thing I looked at was the dashboard, and there, at the bottom, a speed indicator. Cool! Let’s see where I rank. And there, in glaring red, was my answer. Four. Yes, four. Surely, I thought, that meant I was a speed demon! Alas, it was quite the opposite. Four out of one hundred meant my site was slow as it could be. Yeah, I had problems I needed to sort out before doing anything else.
Before we dive into what I did, here’s what I was using. My site uses WordPress with WooCommerce, and some plug-ins such as Stripe and an Empty Cart Button. I also use Yoast for my SEO, including WooCommerce. The theme was Wiso, which in turn is built on top of WP Bakery. My home page had a slider above the fold with five large images, and I had a few more images lower on the page. I didn’t have anything super fancy going on in the site, but I did use Essential Grid because I thought it presented my images well. Looking at it from a high level, I reasoned there wasn’t a ton I could do. Looking at it through the lens of SiteKit, I knew I had to do something.
What follows is probably not for the faint of heart. I don’t recommend it. But I figured I had nothing left to lose. Google was undoubtedly punishing me, and it was time to make some changes.
I did a decent amount of research on what themes were the fastest. I knew I had a page loader in between pages for a reason, and that reason couldn’t be beneficial. Therefore, my theme itself had to go. Everyone has an opinion about the fastest themes. The more I read, the more different opinions I found, but a couple was mentioned more than others. I decided to go with GeneratePress which you can install for free, but need to purchase as a plug-in to truly customize. The price, $49, seemed reasonable. It is basic but fast. Getting back to the basics seemed like a good starting point.
I downloaded and installed GeneratePress. As expected, every single page in the site looked horrible because of the extra markup that Wiso and WP Bakery used. Cleaning this up and converting the pages to Gutenburg blocks was remarkably quick. I thought it would take days. It took just a couple of hours. And best of all, SiteKit now told me my page speed was 35, a decent improvement. I was on the right track. I also removed the image slider on the home page because it loaded large images. I replaced the slider with a block of text. Time will tell if that helps or hurts engagement.
I then went back through my plug-ins and removed every single one I didn’t think was critical. “Nice to have” is not vital. Out they went. My brutal surgery brought the site up into the mid-40s. Yea! Progress. At the bottom of SiteKit’s speed panel is a small link for PageSpeed Insights. I followed that link and found a ton of suggestions in the “Opportunities” section. In places, it gives recommendations of plug-ins which might help.
I followed them to the letter. I installed Autoptimize, which moved me up into the high 70s–wow! I installed Imagify, which moved me into the high 90s. Any plug-in that they noted was a problem, or an issue was removed. I was unmerciful and spared nothing. Speed is today’s King, and once I was committed to chasing it, I would stop at nothing.
The site settled in at a page speed of 98 for the desktop, and 91 for mobile, which makes me quite happy. Best of all, it is clear to me that the infrastructure of SWCP is perfect for my needs, and I didn’t need to move to a CDN at all. SWCP provides blazing-fast sites as long as you do the work to let this happen. I have always been more than pleased with their service and support, and today that is even more so. The home page, which used to load in twenty seconds, now loads in under a second. A couple of pages still use Essential Grid, but they are interior pages, and I feel my users will tolerate one or two pages that load slower but have a high visual impact.
Over the next couple of days, I realized I was a little too aggressive in the plug-in removal department. I previously removed Monster Insights, which also removed my ability to use Google Analytics. After some thought, I decided I would have to add something back in to connect to Analytics, so I went ahead and added back Monster Insights. Monster Insights is expensive, for sure, but for me, I think the benefit outweighs the cost. Finally, I’ll be installing a caching plug like WP Rocket in to make the site even faster. It was great of them to help me work through the (as it turns out non-)issue!
In short, I tore my site apart and stripped it to the bare bones. I put in a new theme, GeneratePress, minimized the plug-ins, and added Autoptimize and Imagify, although I will look for a free alternative to this one. Today my site looks close to what it was, and in some cases, better. It took a bit of customization and a bit of time, but I am happy with the results.