The Quest to Improve Nuketown’s Core Web Vitals

I started publishing Nuketown in 1996. I started using Google Analytics with Nuketown in 2006. In those early days of the site, Nuketown would get hundreds of page views a day, sometimes hitting a thousand. Over time, traffic declined significantly, partly because I posted less (ok, a lot less), and partly because the rules of the search engine game changed.

This change accelerated over the last few years, driven by Google’s own push toward mobile and what it considered to be a “good” web experience. To start, that meant preferring sites that ran securely under HTTPS. Over time, they focused more on the mobile experience by promoting the standards associated with Core Web Vitals.

Those standards were built around fast response times on smartphones as well as an emphasis on usability. Images should load quickly. The page layout shouldn’t change multiple times while it loaded.

In short, the mobile experience shouldn’t suck. It shouldn’t suck on desktop computers either, but ultimately, mobile was key.

Addressing this has been on my to-do list for years, but in 2022 I finally launched a full-on quest to improve Nuketown’s SEO strategy and – hopefully – become a little more relevant on the web. My theory is that by improving Core Web Vitals and Nuketown’s overall performance, the site will be more attractive to Google. That attractiveness will turn into more pages being crawled and served, and – hopefully – increase the page rankings of its content (how high it appears in search results). The end result should be increased web traffic.

Understanding Core Web Vitals

The first thing I did – even before the quest – was to get the site running under HTTPS. In addition to making the site more secure, it was clear that Google was going to severely penalize sites not running under HTTPS. Heck, many browsers won’t even let you visit an HTTP site at this point, warning you about the dangers that might lie there.

That was the easy part. The next part was much harder. Web Vitals, or “Core Web Vitals” is built around six key concepts:

I won’t recap what each of these terms mean; you can follow the links above to learn about it. The key things are:

  • The page should load and respond quickly
  • The page’s contents shouldn’t shift
  • Unseen elements should be deferred (e.g. images that load later)
  • Unused code should be reduced.

Measuring Core Web Vitals

To get a sense of how Nuketown was scoring on all of this, I used two tools:

Nuketown score poorly on all of this, for a couple of reasons:

  • The theme was too heavy. Nuketown’s previous theme looked nice and accomplished what I wanted from a content and presentation perspective, but it was heavy and took too long to load.
  • Shared hosting. Nuketown is a hobby; to keep costs down, I’m self-hosted on a shared web server. It gets the job done … but it doesn’t get it done quickly.
  • Lack of effective caching: I was using WP SuperCache to serve up static versions of the site, but it didn’t do enough as far as code optimization was concerned.
  • Overly-large images: I wasn’t optimizing my images, or sizing them appropriately for the pages they were served on.
  • Google AdSense was stabbing me in the back: Almost everything that Google advocates for with Core Web Vitals is undermined by Google Adsense. The advertising network was generating a small amount of revenue for Nuketown, but it was also greatly increasing its code complexity and playing havoc with the rendering of its content.

How bad was it? To start, Nuketown failed all of the Core Web Vital metrics for mobile and desktop and earned a score of “Poor” in Search Console. Over the summer, I made a few tweaks that let me get to “Needs Improvement” for mobile. Meanwhile, Desktop remained stubbornly “Poor”

As I headed into Fall 2022, it was clear more extreme measures were needed.

Technology Overhaul for Core Web Vitals

Determined to get Nuketown to “Good”, I did a ton of reading about how to improve Core Web Vitals. I settled on the following strategies:

  • Use a ruthlessly fast theme: WordPress, by its very nature, is inefficient when it comes to Core Web Vitals. You can get a plain vanilla WordPress site running pretty quickly, but every plugin you add, every third-party functionality you add, increases its complexity and decreases its speed. To combat this, I needed the theme to be as fast and efficient as possible, so I ditched my old theme in favor of GeneratePress. The new theme has a bunch of additional features I could be using to improve the site’s presentation, but I ignore all of that in favor of a simple, streamlined blog.
  • Ditch AdSense: I’d like to make a few bucks on Nuketown, at least enough to cover hosting and occasionally buy a new book or video game, but time and time again, AdSense proved to be the Nuketown’s web vitals kryptonite. Its dynamic loading of ads, which re-wrote the webpages in flight, hurt the site badly. To get to “Good”, I ripped out the AdSense code. It’s probably not gone for good, but I won’t add it back in unless I know it won’t torpedo my Core Web Vitals score.
  • Use better caching: WP SuperCache is a good plugin, used by millions of sites. But it’s also a complex plugin, and I didn’t have time to get it running perfectly. Instead, I decided to purchase WP Rocket, a competing caching tool that delivered better results for Nuketown. Note – your mileage may vary; what worked for my site may not work as well for yours.
  • Go on an image Diet: For the homepage, new posts, and certain high traffic posts, I went back and optimized all of my images. I resized them so they fit the space they appeared in (there was not point in uploading a 2000×1500 pixel image I was only going to show a 1000×250 pixel image). I signed up for free tier of Imagify, which is an image optimization service that works well with WP Rocket.

The changes worked … but will it help web traffic?

After months of experimentation … Nuketown’s Core Web Vitals are now green across the board. The improvement on mobile is huge:

Metric 10/17/2022 12/11/2022
First Contentful Paint 2.4 seconds 1.1 seconds
Speed Index 10.3 seconds 1.2 seconds
Largest Contentful Paint 7.9 seconds 1.8 seconds
Time to Interactive 21.6 seconds 1.5 seconds
Total Blocking Time 5,290 milliseconds 30 milliseconds
Cumulative Layout Shift .448 0

I didn’t record my starting values for desktop, but looking at it piecemeal over time, I know the improvement is just as good. Now that things are stable – and I’ve got some wiggle room, performance-wise – I’m researching how to best re-enable AdSense without undoing my work.

The question now is … is my hypothesis correct? Will these web vital improvements actually help traffic to the site by boosting search impressions and click throughs?

Maybe.

The good news is:

  • The number of “good” mobile pages increased significantly over the last month, going from 176 pages that “need improvement” to 176 pages that are “Good”.
  • Indexed pages went from 2,259 on 9/12 to 2,943 on 12/11/2022, a 30% increase.
  • Non-indexed pages went from 791 on 9/12 to 491 on 12/11/2022, a 37% degrees.

So Google is finding more pages, and liking more of what it finds. However, it’s not translating into increased clicks and impressions. In Search Console:

  • There were 787 clicks over the last 28 days (11/12 to 12/9/2022); in the previous 28 days, there were 805.
  • There were 38.8K impressions over the last 28 days (11/12 to 12/9/2022); in the previous 28 days, there were 40.1K.
  • The click through rate held steady at 2%.
  • The average position during that time frame increased slightly from 28.3 to 25.2.

However, this needs to be taken with a very large grain of salt because a single page – Random Planet Generators – is responsible for so much of the click traffic (452 clicks) and impressions (6,660 impressions) during that time period. Increases or decreases in queries related to that single page (e.g. “planet map generator” or “fantasy planet generator”) can skew the metrics one way or another. A better measurement would be to compare the traffic without that page and its search terms, but my reporting techniques aren’t quite that robust yet.

On the web traffic side, for the same time period (11/12 to 12/9/2022):

  • Organic search traffic is down 10%
  • Unique page views are down 13.26%
  • Users are down 12.81%
  • Sessions are down -12.92%

It’s even worse year over year, with page views down 41.83%, users down 42.13%, and sessions down 41.86%. That’s not great, but again, a handful of pages tend to drive a lot of traffic. If “Random Planet Generator” is down (and it is) and Starship Links Compendium is down (and it is), then overall traffic will be down as well.

If anything, the numbers show that Nuketown really needed this overhaul to stay even remotely relevant.

Putting aside the short term analytics, ultimately I’m looking to play the long game. I didn’t expect any of these metrics to change radically overnight, or even in a month. Hell, even a quarter probably isn’t enough time to see results. It’ll likely be at least six months before the improvements in performance translate into real traffic growth.

And it should be noted that improving Core Web Vitals isn’t enough to improve Nuketown’s overall search position and web traffic. It provides a missing foundation, but the site also needs thoughtful new content as well as a concerted search engine optimization review of its older content – the content that’s working well, the content that could be working better, the content that’s not working at all.

Don’t worry – I’m not about to turn Nuketown into an endless stream of posts like “Secrets of the ALIENS movie revealed – NUMBER 7 WILL AMAZE YOU!” I’m still going to write about the things I love, regardless of whether it generates traffic. It’s just that I’m going to be a bit more purposeful with my writing – doing a little more research on relevant keywords and optimizing the content a bit. Nuketown’s a hobby, and I’m not expecting traffic to soar to full-time employment levels. But it would be nice to increase the number of visitors to the site, even if that’s just going from 10 people reading a post to 20.

%d bloggers like this: