
5-Keyword Content Audit Checklist for SoCal Brands
A La Jolla med spa client came to us with 187 blog posts and a Google Analytics graph that looked like a flat line with a slight downward tilt. Their content calendar had been full for three years. Their lead form had four submissions last month. When we pulled their Search Console data, we found 34 pages all loosely chasing some version of "botox san diego" and not one of them cracked the top 10. That's not a writing problem. That's an audit problem, and it's the single most common thing we fix for SoCal service businesses before we touch anything else.
By Loren Anderson · October 18, 2026 · 42 min read
Why Most SoCal Sites Need This Audit Right Now
If your site is more than two years old and someone has been publishing blog posts on any kind of schedule, you have overlap. It's not a maybe. We've run this audit on over 40 SoCal sites — med spas in Carlsbad, law firms in the Gaslamp, contractors in Solana Beach — and every single one had at least 15% of pages competing against each other for the same handful of terms.
Here's why it happens. A content writer gets a list of keywords in January: "best photographer san diego," "san diego photographer," "top san diego photographers." Three nearly identical blog posts get written across the year because nobody checked what already existed. Google sees three thin, overlapping pages and has to guess which one to show. Usually it shows none of them past page two.
The fix isn't writing a 188th post. It's going through what you already have, in order, with a checklist. We built ours around five steps because that's the minimum that catches 90% of the damage without turning into a month-long project. Pair this with a technical SEO audit afterward and you've covered both the plumbing and the content — most sites only ever get one of the two.
Step 1: Pull Every URL and Its Ranking Keyword
Open Search Console, go to Performance, and export every URL along with the queries it ranks for. Do this at the page level, not the site level. For a 150-page site this export takes about 20 minutes and gives you the raw material for everything else in the checklist.
Build a spreadsheet with four columns: URL, top ranking query, average position, and monthly impressions. Sort by impressions descending. The pages at the top are already doing work — don't touch those yet. The pages buried at the bottom with near-zero impressions are your first suspects for merging or killing.
What we found on the La Jolla med spa site: 34 URLs, each pulling under 10 monthly impressions, all loosely ranking for some version of the same five words. Individually they looked like failures. Lined up in a spreadsheet, the pattern was obvious in under an hour.
This step alone usually takes two to three hours depending on site size. Don't skip the manual review — automated tools will flag overlap but they won't tell you which page has the better backlink profile or the more relevant conversion path, and that judgment call matters for step three.
Step 2: Flag Keyword Cannibalization Across Pages
Once your spreadsheet is sorted, look for any keyword (or close variant) that appears as the top query for more than one URL. That's cannibalization. On the med spa site, "botox san diego" and its variants showed up as the primary query for 11 separate pages. Google was splitting authority 11 ways instead of concentrating it on one strong page.
Cannibalization isn't always obvious from the URL slugs. A page titled "Our Botox Services" and a blog post titled "Is Botox Right for You?" can both be chasing the exact same commercial-intent query even though they read like different content types. Check the actual ranking query data, not your assumption about what the page is "about."
Ahrefs has a solid breakdown of how cannibalization tanks rankings even when every individual page is decent quality — worth reading if you want the mechanics behind why Google splits rather than boosts. The short version: Google doesn't average your pages together, it picks one winner per query and the rest get buried, and that winner isn't always the page you'd choose.
Mark every cannibalized cluster in a separate tab. For the med spa, this produced six clusters covering 34 pages. Six clusters is a manageable project. Thirty-four individual pages would have felt impossible, which is exactly why clustering matters before you plan fixes.
Step 3: Check Search Intent Match
For every page, ask one question: does this page match what someone searching that term actually wants? A listicle ranking for "botox cost san diego" when the searcher wants a price range, not a 1,500-word history of neurotoxin injections, is an intent mismatch even if the keyword density is perfect.
We sort pages into three intent buckets: informational (someone researching), commercial (someone comparing options), and transactional (someone ready to book). Then we check whether the page's structure matches its bucket. A transactional page buried under 800 words of backstory before the call-to-action is fighting its own intent.
On the Carlsbad contractor site we audited last spring, five pages ranking for "kitchen remodel cost carlsbad" were structured as long-form guides with the pricing table at the very bottom. Average time on page was strong — 4 minutes — but conversion rate was near zero. We moved the pricing table to the top third of each page. Conversion rate on those five pages tripled within six weeks, no new content, no new links.
Intent mismatch is the quiet killer because the traffic numbers can look fine while the business impact is zero. Always check Google Analytics goal completions or form submissions against the page, not just Search Console clicks, before deciding a page is "working."
Step 4: Audit On-Page Keyword Placement
For each page in your cannibalization clusters, check five placements: title tag, H1, first 100 words, at least one H2, and the URL slug. This sounds basic because it is — and it's also the thing that gets skipped first when a junior writer is working off a content brief without SEO context.
We see this constantly on SoCal service sites: a strong page targeting "wedding photographer carlsbad" with a title tag that reads "Our Story" or "About Our Team." The content is good. The page has backlinks. It just never tells Google — or a human scanning a search result — what the page is actually for.
Run through this short list per page:
For the Carlsbad contractor, fixing title tags and H1s across 22 pages — no content rewrite, just metadata — moved 9 of those pages up an average of 6 positions within a month. That's the cheapest win in this entire checklist and it's always worth doing first because it takes an afternoon, not a week.
Step 5: Measure Content Decay and Freshness
Content decay is the slow bleed where a page that used to rank on page one drifts to page two, then three, over 12-18 months, usually because competitors refreshed their content and you didn't. Pull 12 months of impressions for your top 20 pages by traffic and look for a downward trend, not just the current snapshot.
A Solana Beach restaurant client had a "best brunch spots" roundup that peaked at 4,200 monthly impressions in 2023 and had quietly dropped to 1,100 by the time we audited it — nobody noticed because the page still got some traffic, it just got less every month. The content hadn't changed since publication; three competitor sites had refreshed theirs twice in that window.
Flag any page where impressions have dropped more than 30% over a trailing six-month window as a freshness candidate. Not every decaying page needs a rewrite — some just need updated stats, a current year in the title, or new photos. Others genuinely need restructuring because the competitive bar moved.
Check this against Google's own guidance on what makes content worth ranking long-term — the pattern they describe as "people-first" content holding up over time is the same pattern we see break down when pages go stale and nobody revisits them.
What to Do With the Results: Merge, Rewrite, Kill
Once your five steps are done, every flagged page falls into one of four buckets, in order of how often we actually use them: merge, rewrite, redirect, or kill. Resist the urge to write new content to "fix" a cannibalization cluster — that almost always makes the problem worse by adding a 12th competing page.
Merge is for clusters of thin, overlapping pages. Combine the three best ones into a single comprehensive page, 301-redirect the losers to it. For the med spa's 11-page botox cluster, we merged into two pages — one service page, one FAQ-style informational page — and redirected the other nine. Combined traffic to those two pages within 90 days exceeded what all 11 had generated combined.
Rewrite is for a single strong page with the wrong intent match or stale information — update it in place, no redirect needed. Kill is reserved for pages with zero impressions, zero backlinks, and no business relevance — these are rare but they do exist, usually old event posts or outdated promotions.
Document every decision in your spreadsheet with a date and reason. Six months from now when someone asks why a page disappeared, you want the answer on record, not in someone's memory.
Tools That Make This Audit Faster
Google Search Console and Google Analytics are free and non-negotiable — you cannot run this audit without them. Export Performance data by page and by query, and cross-reference with Analytics goal completions before you decide a page is underperforming on traffic alone.
Beyond the free tools, Screaming Frog crawls your full site structure and flags duplicate title tags and H1s in minutes, which speeds up Step 4 considerably on sites over 100 pages. If budget allows, Ahrefs or Semrush will surface cannibalization clusters automatically rather than requiring the manual spreadsheet sort in Step 2 — worth the subscription cost once your site passes 200 URLs.
We've written a full rundown of the low-cost SEO tools we actually use on client accounts, most of which cost less than a single client lunch per month. Don't let tool cost be the excuse — a 150-page audit is fully doable with the free Google tools alone, it just takes a few more hours of manual sorting.
If you want to go deeper on finding competitor gaps while you're in the data anyway, advanced Google search operators let you spot-check indexing issues and competitor overlap directly in the search results, no tool subscription required.
A Real SoCal Walkthrough: The Numbers From Start to Finish
Back to the La Jolla med spa. Full timeline: Step 1 export and spreadsheet build took 2.5 hours. Steps 2 and 3 — clustering and intent review — took 4 hours across two sessions because we cross-checked conversion data in Analytics for each cluster. Step 4 metadata audit on the 34 flagged pages took 2 hours. Step 5 decay check on their remaining 153 pages took 3 hours.
Total time: roughly 11.5 hours spread across five business days, done by one person. Output: six cannibalization clusters merged into six strong pages, nine thin pages redirected, four pages killed outright, title tags fixed on 22 pages that weren't part of any cluster but had the title-tag problem anyway.
Ninety days after implementation: organic clicks to the affected URL set were up 61%, and — this is the number that actually matters to the owner — booking form submissions went from 4 to 17 in the most recent month. Nothing about their services changed. Nothing about their prices changed. We just stopped 11 pages from fighting each other for the same search result.
That's the case for running this audit before you approve another month of new blog content. Compare this to how local rankings actually get built in the first place — our piece on optimizing a SoCal business website for local SEO rankings covers the foundational side, and this audit is the maintenance layer that keeps that foundation from eroding.
Common Mistakes That Undo This Audit
The most common mistake: running the audit, finding the clusters, and then not redirecting the merged pages. If you consolidate content but leave the old URLs live and unredirected, Google still indexes all of them and the cannibalization problem persists even though you "fixed" the content. Always 301-redirect.
Second mistake: treating this as a one-time project instead of a recurring process. A site that gets audited once and never again will be back to 20% overlap within 18 months of regular publishing. Put a recurring calendar reminder — quarterly for active blogs — and budget the 10-14 hours as a standing line item, not a special project.
Third mistake: merging pages based on traffic alone without checking backlinks. If the lower-traffic page in a cluster actually holds more referring domains, redirect toward that URL instead, or you'll lose link equity you already earned. Check backlinks before you pick the surviving URL, not after.
Fourth mistake, and we see this one a lot with SoCal brands that invested heavily in visual content: forgetting that common SEO mistakes compound — a cannibalization problem sitting on top of a slow-loading page or missing schema markup won't fully recover even after the content fix, because the technical issue is capping the ceiling.
Your Next Step This Week
Don't wait for a slow quarter to start this. Open Search Console today, export your Performance data by page, and sort by impressions. Give yourself one hour just to find your first cannibalization cluster — most SoCal sites we've touched have at least one obvious pair of competing pages within the first 50 rows of that spreadsheet.
If you find a cluster, don't rewrite anything yet. Pick the strongest page, note the other candidates, and come back to the merge decision once you've finished all five steps across your highest-traffic 50 pages. Momentum matters less here than sequence — merge before you rewrite, rewrite before you redirect, confirm before you kill.
Block two afternoons on your calendar this week. That's enough time to get through Steps 1 and 2 on a site under 150 pages and walk away with your first real list of what's actually fighting itself on your own domain.
Questions
What is a keyword content audit?
It's a page-by-page review that checks what keyword each URL actually ranks for, whether multiple pages compete for the same term, whether the content matches what searchers want, and whether rankings are climbing or decaying over time. The output is a list of pages to merge, rewrite, redirect, or remove.
How often should a SoCal business run a content audit?
Quarterly for an active blog publishing weekly, twice a year for mostly-static service and location pages. If you just finished a site redesign or migration, run one within 60 days to catch broken intent matches and lost rankings before they compound.
What is keyword cannibalization and why does it hurt rankings?
It's when two or more pages on your site target the same keyword and compete against each other in Google's index. Instead of one strong page ranking on page one, you get two weak pages splitting backlinks and clicks, often stuck on page two.
How many pages should I expect to kill or merge in an audit?
For a site over three years old with regular blogging, expect 20-30% of pages to need merging, rewriting, or removal. A 150-page site commonly has 20-40 pages worth consolidating into 10-15 stronger ones.
Can I run a content audit without paid tools?
Yes. Google Search Console and Google Analytics cover ranking data, click-through rate, and traffic trends for free. You'll move faster with a paid crawler like Screaming Frog or Ahrefs, but a 150-page site is auditable manually with Search Console exports alone.
What's the difference between a content audit and a technical SEO audit?
A content audit judges whether the words on a page still deserve to rank — intent match, keyword overlap, freshness. A technical audit checks the plumbing — site speed, crawlability, schema, mobile rendering. Most sites need both, and they expose different problems.
More from the studio