Most business sites don't have an "SEO problem" — they have five SEO problems, each costing them ranks. The fixes are usually small. Finding them is the hard part.
Below are the mistakes I see on almost every audit. Each one framed as Mistake → Fix.
Mistake: the site isn't mobile-friendly → Fix: ship a real responsive build
Mobile is the default crawl for Google. If your layout breaks, fonts shrink to 9px, or buttons sit on top of each other on a 390px viewport, you're losing both rank and conversions.
Fix:
- Audit with Lighthouse (mobile preset) and the Chrome DevTools device toolbar — not by squinting at your phone.
- Tap targets ≥ 24×24 CSS px (WCAG 2.2 AA), spaced ≥ 8px apart.
- Body text ≥ 16px, line length 45–75 characters.
- No horizontal scroll. Test 320px viewport — that's the floor.
Mistake: page loads in 8 seconds → Fix: chase Core Web Vitals, not myths
Speed is a ranking factor and a conversion lever. The bar:
- LCP < 2.5s
- INP < 200ms
- CLS < 0.1
Fix:
- Serve images as AVIF/WebP via
<picture>. AVIF cuts ~50% vs JPEG. - Lazy-load below-the-fold images, eager-load the hero only.
- Defer non-critical JS. Inline critical CSS, async the rest.
- Put a CDN in front (Cloudflare, Fastly, Vercel Edge). It's the highest-leverage fix you'll do this year.
- Validate with PageSpeed Insights and field data in Google Search Console's Core Web Vitals report — lab scores lie.
Mistake: duplicate or missing meta tags → Fix: every page gets a unique title and description
Half the business sites I audit ship the same <title> across every page (usually "Company Name | Home"). Google then picks its own — usually badly.
Fix:
- Every page: unique
<title>(50–60 chars) andmeta description(140–160 chars). - Title format that works:
Primary keyword | Secondary | Brand. - Run Screaming Frog or Ahrefs Site Audit to find duplicates in 5 minutes.
- For templates (product, blog, category), generate titles dynamically from page content — never hardcode.
Mistake: H1 is the logo → Fix: text H1 with the page's actual topic
I still see business sites where <h1> wraps the logo image. That tells Google "this page is about Company Name" instead of "this page is about industrial coffee machines for hotels."
Fix:
- Exactly one
<h1>per page, plain text, matching the page's primary keyword/topic. - Logo wraps in a
<div>or<a>with anaria-label, not<h1>. - H2/H3 in logical order — no skipping levels for visual styling.
Mistake: thin or duplicated content → Fix: ship something worth ranking
A 120-word page about "Our Services" with a stock photo and a phone number doesn't rank. Neither does the city-page mill where you swap one word and call it 30 unique pages.
Fix:
- Cover the topic well enough that the user doesn't bounce back to Google. Helpful Content > word count.
- Answer the questions a real prospect would ask before buying. Use AlsoAsked, AnswerThePublic, or your sales team's inbox.
- For multi-location sites: write actually different content per city. Local context, not Mad Libs.
- Update old pages — Google rewards freshness when intent demands it.
Mistake: broken canonicals and indexing signals → Fix: audit the technical layer
These are the silent killers — the page looks fine, but Google won't index it.
Common offenders:
- Canonical pointing to a different URL (or
https://vshttps://www.mismatch) noindexleft over from stagingrobots.txtblocking/wp-content/(kills CSS/JS rendering)- 301 chains (A → B → C → D)
- Soft 404s — pages that return 200 but say "Sorry, not found"
Fix:
- Google Search Console → Page Indexing report. Read it weekly.
- Run Screaming Frog on the full site monthly. Filter by status code, canonical, indexability.
- Canonical → self-referential unless you genuinely want to consolidate.
- Robots.txt should block almost nothing. CSS/JS must be crawlable for Google to render the page.
- 404 pages: return real 404 status, link back to home + sitemap, no soft-404s.
Mistake: zero internal linking, zero analytics → Fix: link with intent, measure everything
Internal links spread authority and tell Google your content hierarchy. Most business sites have ~3 nav links and that's it. Meanwhile they're flying blind without GSC or analytics.
Fix:
- Link from related blog posts to service pages with descriptive anchor text — never "click here."
- Hub-and-spoke: one pillar page links out to 8–12 cluster pages, each links back.
- Fix internal 404s monthly (Screaming Frog, GSC).
- Install Google Search Console and GA4 (or Plausible/Fathom). Track impressions, CTR, average position by query.
- Review GSC weekly: which queries are gaining/losing, which pages are losing impressions, which clicks aren't converting.
Bonus: keyword stuffing or no keywords at all
Both extremes hurt. Keyword stuffing reads as spam and gets demoted. Zero keyword research means you're writing about topics nobody searches for.
Fix:
- Research before writing: Ahrefs, Semrush, or Google Keyword Planner.
- Target one primary keyword per page, 2–3 secondary, plus long-tail variants.
- Use them naturally — in titles, H2s, the first 100 words, URL slug, image alt text.
- Optimize for long-tail (4+ word queries). Lower competition, higher intent.
Not sure which of these mistakes your site is making? Get my free SEO audit — I'll find them all.