Skip to content
Back to Blog
SEOtechnical SEOweb developmentsmall businessaccessibilityperformanceSEO mistakes small businesscommon SEO errors

Small Business SEO: 5 Real Problems, and 3 Things That Are Not Problems

Joshua R. Gutierrez10 min read

An earlier version of this post was called "7 SEO Mistakes on Every Small Business Website." It listed seven items with percentages attached ("about 30 percent of sites," "about 40 percent"). Those percentages had no published denominator behind them. We are removing them.

It also listed three things as mistakes that are not mistakes. That is the more damaging error, because it sends people off to fix problems they do not have, and it is the reason we are rewriting this instead of updating it.

Below: five problems we can actually document, with numbers where we have them, and three non-problems that the SEO industry keeps charging money to fix.

First, what we are counting

Where we cite a number in this post it comes from one of two datasets we published.

The 292-site study scanned 292 business sites; 191 returned a valid mobile verdict. These are Lighthouse lab measurements, and the sample came from a B2B prospect list, so it is purposive, not random. It tells you about that cohort. It does not tell you the odds that your site fails.

The 368-site AI-visibility study compared the rendered DOM against the raw HTML on 368 analyzable sites.

Anywhere we do not have a denominator, we say so instead of inventing one.

Problem 1: The page takes too long to show anything on a phone

This is the big one, and it is the only one on this list where we have a strong number.

Across the 191 sites with a valid mobile verdict, the median mobile LCP was 10.5 seconds, and 165 of 191 were over Google's 4 second "poor" threshold. Ten and a half seconds is not a slow page. It is a blank screen long enough for a person to leave.

The fix is not "compress your hero image." LCP is a composite of four delays: server response time, the delay before the browser discovers the LCP resource, the time to download it, and the render delay after it arrives. Find your LCP element in the Chrome DevTools performance panel, get the phase breakdown, and fix the largest phase. We wrote the full diagnostic in how to fix LCP on mobile.

Caveat we owe you: those are lab measurements. Google evaluates Core Web Vitals on field data at the 75th percentile of real loads. A bad lab number is a strong signal to go look, not a verdict.

Problem 2: Links and controls with no accessible name

In the 292-site cohort, 191 of 191 sites failed the accessible-link-name rule. That is not a typo. Every single site with a valid verdict had at least one link that announces as nothing useful to a screen reader: an icon with no label, a bare "click here," an image link with an empty alt.

Fix it because people cannot use the site. That is the whole reason. We are not going to tell you that accessibility work lifts your rankings, because Google has not said that and we have not measured it. An earlier version of this post claimed Google "factors accessibility signals into rankings." It does not, and we should not have written that.

The most common cause is a stylesheet that removes focus outlines globally. Use focus-visible instead of removing the outline, and give every icon-only control a real accessible name.

Problem 3: The content only exists after JavaScript runs

In the 368-site study, 92 of 368 sites (25 percent) lost at least one answer-critical element between the rendered DOM and the raw HTML. Body text on 57, links on 51, name-address-phone on 54.

Any crawler that does not execute JavaScript sees an empty shell on those pages. Google renders, on a queue, eventually. Plenty of other crawlers do not, and the behavior varies by crawler. The check takes thirty seconds: fetch your homepage with curl, or view source rather than inspect element, and look for your own phone number and your own headline in the raw response. If they are not there, they are not there for anyone who is not running a browser.

Problem 4: Your business identity is not stated in machine-readable form

Organization or LocalBusiness JSON-LD with your real name, address, phone, hours, and links to your real profiles. Served in the initial HTML, not injected by client-side script.

What this does is narrow: it removes the guesswork. A machine does not have to infer that the number in your footer is a phone rather than a fax. It does not earn you a rich result on its own, it does not earn you the map pack, and it is not lead generation. Do not mark up reviews of your own business, which Google's structured data policy excludes as self-serving. Details in what structured data actually does.

Problem 5: Pages nothing links to

A page with no internal links pointing at it and no sitemap entry can sit unindexed indefinitely. We did this to ourselves: we shipped six city landing pages that nothing on the site linked to and then wondered why they did not rank. They were not penalized. They were undiscovered.

Publish a sitemap, reference it from robots.txt, and then do the thing that actually matters, which is linking to the page from somewhere a human would plausibly click. A sitemap is a hint. An internal link is a path.

Three things that are not mistakes

Multiple H1 tags. Not an SEO failure. Google has said explicitly that multiple H1s are fine and that it can figure out page structure regardless. Our own audit tool used to flag this as an error. That rule was wrong, it inflated our own failure counts, and we downgraded it to a warning.

A missing meta description. Google generates a snippet from the page content anyway, and it rewrites the description you wrote most of the time regardless. Writing one is worth doing, because occasionally you get to control the snippet. Not writing one does not get you buried. An earlier version of this post said Google would auto-generate "whatever random text it finds," implying harm. Google's snippet generation is not random and its absence is not a penalty.

Word count. There is no minimum. There is no 800-word rule, no 300-word rule, no rule at all. A 60-word homepage is not a ranking violation. It is a prompt to go read the page and ask whether it answers what a visitor came to find out, which is a content question and not a technical one. We have used a 300-word threshold in our own audits as a flag to prompt a human review, and we should have been clearer that it is a prompt, not a verdict.

Things worth doing that we are not going to oversell

Open Graph tags control the card that appears when your link is shared. That is their job. They are not a ranking factor and we have not measured a click-through effect, so we will just say: without them the platform picks something for you, and you will not like what it picks.

Valid HTML is a code health signal. Google tolerates broken markup and has for twenty years, so forty validation errors will not sink your rankings. Forty validation errors do tell you something about the state of the codebase, which is a different and still useful thing to know.

Check your own site

Our free audit loads your page in Chromium and inspects the rendered DOM across 60-plus checks in 9 categories. It takes about 60 seconds and requires no signup. It will show you the numbers. What it will not do is tell you your business is failing because of a missing meta description.

Joshua R. Gutierrez, SEO Engineer, Axion Deep Digital

Written by

Joshua R. Gutierrez

SEO Engineer, Axion Deep Digital

SEO strategist and full-stack engineer who builds the audit tooling, then does the work. Technical SEO, Core Web Vitals, and content systems for SaaS and B2B.

View full profile & credentials →

Ready to build a website that performs?

Let us audit your current site, identify the biggest opportunities, and build a plan to grow your traffic and leads.