Sidekick Strategies
Events
Contact UsSchedule a Strategy Call
Abstract comic-style hero background

Blog Article

AI Equals Slop? I Fixed 529 SEO Issues in One Session. Here's What Actually Happened.

April 4, 2026

Listen to This Article
0:00 / 0:00
AI Equals Slop? I Fixed 529 SEO Issues in One Session. Here's What Actually Happened.

I'm going to say something that might ruffle some feathers in the marketing world right now.

AI does not equal slop.

I know. I know. Every other thought leader on LinkedIn is posting about how AI content is destroying the internet. How AI-generated articles are garbage. How AI is making everything worse. And you know what? Some of them aren't wrong. Bad AI usage does produce bad results. Just like bad HubSpot usage produces bad results. Just like bad marketing produces bad results.

The tool isn't the problem. The human behind it is.

I just spent an entire working session with my AI assistant, Alex (yes, my AI COO has a name, and yes, that's a whole thing), optimizing the Sidekick Strategies website from the ground up. SEO. Performance. Technical infrastructure. The works. And I want to walk you through exactly what happened, because the results speak louder than any hot take on LinkedIn.

Where We Started: 529 Problems and a 59 Performance Score

Let me paint the picture. Our website, sidekickstrategies.com, is what some folks call a "vibe coded" site. Built with Next.js, Tailwind CSS, TypeScript, Sanity CMS. Over 700 pages. Blog articles, podcast episodes, show pages, event listings, offer pages, service pages. The whole nine.

We ran a full site health audit and exported the results to a CSV. 529 issues. That's not a typo. Five hundred and twenty-nine things that needed attention across the entire site.

Here's what was broken:

  • 230 page titles over 60 characters (Google truncates these in search results)
  • 76 images missing alt text (accessibility and SEO both take a hit)
  • 20 duplicate titles (multiple pages competing with each other in search)
  • 20 thin content pages (not enough substance for search engines to index properly)
  • 20 orphan pages (pages that exist but nothing links to them)
  • 15 meta descriptions that were too short

On the performance side, our PageSpeed Insights score was sitting at 59 on mobile. Not terrible for a content-heavy site, but not where we wanted to be. FCP was 3.4 seconds. LCP was 7.9 seconds. Total Blocking Time was 210 milliseconds.

That was the starting line.

How AI Actually Works When You Treat It Like a Partner

Here's where the "AI equals slop" crowd gets it wrong. They're imagining someone typing "write me a blog post about HubSpot" and hitting publish on whatever comes back. That's not what happened here. Not even close.

What actually happened was a conversation. A back and forth. I showed Alex the CSV of 529 issues, explained what I wanted to accomplish, and we built a plan together. Alex categorized every issue by type, identified root causes in the actual code, and proposed fixes ranked by priority.

Then we executed. Together.

Alex identified that our offer pages were missing metadata entirely, which is why they were falling back to the homepage title. That's a code-level bug, not a content problem. A human would need to read the Next.js source code, understand the generateMetadata API, check the Sanity CMS schema for available fields, and write the fix. Alex did all of that. In one shot.

For the 230 long titles? Alex wrote a batch script that pulled every document from Sanity, sent them to Claude in batches of 15, generated shortened versions that preserved the keywords that matter, and patched them back into the CMS. 322 titles updated in one session. Every single one reviewed, every single one under 60 characters.

Try doing that manually. I'll wait.

The SEO Overhaul: What We Actually Fixed

Let me get specific, because specificity is where the "AI is just slop" argument falls apart.

Duplicate Titles (Fixed 20)

Four offer pages were sharing the homepage title because they had no generateMetadata function. Alex added it, pulling from the Sanity CMS fields: seoTitle, metaDescription, coverImage. The blog category pages for "AI Morning Conversations" and "Expert Interviews" were duplicating the show landing page titles. Alex differentiated them in the taxonomy data file. Two blog post pairs had identical titles in the CMS. Alex patched them directly in Sanity.

Orphan Pages (Fixed 20)

Twenty future event pages existed in the CMS but nothing linked to them. Alex added "Upcoming Schedule" sections to the show landing pages, created a new GROQ query to fetch upcoming events by slug prefix, and wired it all together. Every future event is now linked from its parent show page.

Thin Content (Fixed 20)

Daily show events (AI Morning Conversations, HubSpot Updates) were only 114 words each. Alex added an "About This Show" enrichment section that pulls the parent show's description, links to all episodes, and includes the YouTube playlist. No manual work per event. The template handles it automatically.

Missing Alt Text (Fixed 76+)

Hero background images across 15+ page templates had empty alt attributes. Alex swept every template in the codebase and added descriptive alt text. Not generic "image" tags. Actual descriptions like "Abstract comic-style hero background" and "HubSpot updates hero background."

Long Titles (Fixed 322) and Short Descriptions (Fixed 21)

This is where the batch script came in. Every title shortened while preserving keywords. Every description lengthened to the 120 to 160 character sweet spot. All generated by AI, all applied programmatically to Sanity. A reusable script (scripts/fix-seo-titles.ts) that we can run again whenever new content pushes titles over the limit.

The Performance Journey: From 59 to 75 in One Session

After fixing the SEO issues, we turned to raw site speed. I showed Alex my Cloudflare Pro dashboard (I pay $20 a month, nothing fancy) and asked: what else can we squeeze out of this?

What followed was a step-by-step walkthrough of every Cloudflare setting that matters.

Sidekick Strategies Speed Page

The Cloudflare Changes (All Free with Pro)

SSL/TLS: We discovered our encryption was set to "Flexible," which means Cloudflare was talking to our server over plain HTTP. We upgraded to "Full (strict)" so the entire chain is encrypted. This alone eliminates redirect chains and speeds up the connection.

Cache Rules: We created three cache rules. Static assets (JavaScript, CSS, images) get cached at the edge for one year. Font files get the same treatment. ISR pages (blog posts, podcast episodes) get cached for one hour at the edge, matching our revalidation schedule. This means Cloudflare serves cached pages instead of hitting our Vercel origin on every request.

Rocket Loader: OFF. This was the surprise. Rocket Loader defers all JavaScript loading, which sounds good in theory. But Next.js already handles its own code splitting and hydration. Rocket Loader was actually fighting with React, causing slower interactive times. We tested before and after. Total Blocking Time dropped from 210ms to 80ms. A 62% improvement just by turning one setting off.

Other tweaks: Minimum TLS version bumped to 1.2 (dropping ancient protocol support), Automatic HTTPS Rewrites enabled, Smart Hints beta enrolled, Browser Cache TTL set to respect our origin headers.

The Code Changes

On the Next.js side, Alex made three targeted changes:

Cache-Control headers: Added immutable cache headers for static assets, fonts, and images directly in next.config.ts. This tells browsers and Cloudflare exactly how long to hold onto each resource.

Security headers: Added X-Content-Type-Options, X-Frame-Options, Referrer-Policy, and Permissions-Policy on every page. These don't make the site faster, but they improve security scores and protect your humans.

Google Analytics deferred: Moved GA4 from afterInteractive to lazyOnload, meaning it loads after the page is fully interactive instead of competing with your content for bandwidth.

Hero image compressed: The homepage hero image went from 108KB to 55KB. It sits behind a 92% navy overlay, so the quality reduction is invisible to visitors. We also deleted 37 unused PNG hero images that were sitting in the repo, saving 51MB of dead weight.

The Results

Here's the before and after. Same page, same test, same tool.

MetricBeforeAfterChange
Performance Score5975+16 points
First Contentful Paint3.4s1.2s-65% faster
Largest Contentful Paint7.9s4.2s-47% faster
Speed Index6.9s5.4s-22% faster
SEO Score100100Perfect
Best Practices100100Perfect
Accessibility9696Strong
PageSpeed Insights: Homepage Mobile Results

First Contentful Paint dropped 65%. The time it takes for a visitor to see something on your page went from 3.4 seconds to 1.2 seconds. That's the difference between someone bouncing and someone staying.

And this was done in a single working session. No agency engagement. No monthly retainer for a performance consultant. One human, one AI partner, and a couple hours of focused work.

Why "AI Equals Slop" Is Lazy Thinking

Here's what bothers me about the AI backlash.

The humans saying "AI equals slop" are usually looking at the worst examples. They're finding AI-generated content that was published without editing, without strategy, without a human who cares about quality anywhere in the loop. And then they're painting the entire technology with that brush.

That's like saying "HubSpot doesn't work" because you saw a company with a messy CRM, broken workflows, and 40,000 unengaged contacts. The tool isn't the problem. The implementation is.

What I did today wasn't "AI generating slop." It was:

  • AI reading 529 lines of audit data and categorizing issues by root cause
  • AI identifying that a missing generateMetadata function was causing four pages to inherit the wrong title
  • AI writing a reusable batch script that can re-optimize titles whenever we publish new content
  • AI walking me through Cloudflare settings step by step, explaining what each one does and why it matters
  • AI testing whether Rocket Loader was helping or hurting, then recommending we turn it off based on actual data
  • AI compressing images, writing cache headers, and configuring security policies

None of that is slop. All of it required expertise. The AI had it. And it worked alongside a human who knew what good looked like.

A Note on "Vibe Coded" Websites

Our entire site is vibe coded. Over 700 pages, built collaboratively between humans and AI. And it just scored 100 on SEO, 100 on Best Practices, 96 on Accessibility, and 75 on Performance (mobile, the hardest test).

I've been building websites and working with agencies for over a decade. I've seen hand-coded sites score in the 40s. I've seen $50,000 redesigns come back with broken meta tags. I've seen "expert" developers ship sites with no alt text, no structured data, and no cache headers.

This vibe coded site, built by a human and his AI team, is scoring better than most of them.

That's not a coincidence. It's what happens when you treat AI as a partner who brings expertise, speed, and consistency to the table, and you bring the vision, judgment, and quality bar.

Here's the Bottom Line

AI doesn't produce slop. Lazy usage of AI produces slop. Careless implementation produces slop. Publishing without review produces slop.

But AI plus a human who cares? That produces a website with 529 SEO issues fixed in one session. A performance score that jumped 16 points without spending a dime. Cache rules, security headers, compressed images, deferred scripts, and a reusable toolchain for keeping it all optimized going forward.

If you're still telling yourself AI can't produce quality work, I'd encourage you to look at the scoreboard. Because the numbers don't lie.

And if your website is sitting at a 59 with 529 issues? Maybe it's time to stop debating whether AI is "real" and start putting it to work.

George B. Thomas

George B. Thomas

Founder, Sidekick Strategies

George B. Thomas is the founder of Sidekick Strategies, a HubSpot Platinum Partner agency that designs systems around humans, not the other way around. He holds 42+ HubSpot certifications, created the first HubSpot-specific podcast, and has been an INBOUND speaker annually since 2015. When he's not building web systems, he's probably walking barefoot in the grass or talking to himself in the mirror (it's a self-talk practice, not a problem).

More Resources

Related Resources

Stay in the Loop

Get the Good Stuff

Articles, shows, tools, and insights delivered to your inbox.

Comments

Join the conversation. Share what resonated, ask questions, or add your perspective.

Leave a Comment

We'd love to hear your thoughts. Your comment will appear after review.

Never shared publicly.

0/2,000

Related Resources

The Demise of SEO and the Morning I Almost Let Everything BurnArticle

The Demise of SEO and the Morning I Almost Let Everything Burn

SEO isn't dead but keyword hiding is. Get raw insights on AEO, AI search, and what marketers must change for 2026 success.

April 2, 2026

Multiply Value, Stop Extracting Returns: Value First HumansExpert Interview

Multiply Value, Stop Extracting Returns: Value First Humans

Chris Carolan and George B. Thomas discuss the 'Value First Humans' philosophy, focusing on value multiplication over extracting returns and the shift from

January 23, 2026

Is Content Dead? Content Strategy in the Age of AIHubHeroes

Is Content Dead? Content Strategy in the Age of AI

Is content still worth investing in? We break down what’s broken, what still works, and how AI is forcing a total reset on content strategy in 2025...

July 28, 2025

Abstract comic-style background

Ready To Talk?

Want More Insights Like This?

We write about what we know: HubSpot, inbound, AI, and helping humans grow. Book a call if you want to talk strategy.