We Audited 200 US Small Business Websites. Here's What Most Get Wrong.

search engine optimisation Nov 02, 2026

Updated October 2026 · Written by Adrian Prokopiec · 11 min read

In this small business website SEO study, 20 Minute Marketing audited 200 US small business websites across 20 metro areas and 10 trades, and [[ADRIAN: headline % of sites with at least one Fix-first issue]]% had at least one problem Google's own documentation says will cost them visibility. The most common failure was [[ADRIAN: most common failing check]], found on [[ADRIAN: % for that check]]% of sites, and every one of the nine checks can be fixed by the owner in a 20-minute local SEO audit.

Most “state of small business SEO” reports are built from a tool vendor’s customer base. The sites in them already have someone paying for SEO software, which is not what the plumber down the road has. So we did it the other way around. We went to Google Maps, pulled the websites of the businesses that actually show up when a customer searches, and ran the same free check on all 200 of them.

The tool was our own free SEO Lens Chrome extension, which reports what Google can see on a page: the title, the description, the heading outline, the mobile and security basics, the local business details and the tracking code. Nothing here needed a paid account, which matters, because it means every failure below is one the owner could have found themselves in under a minute.

This is the first edition. The numbers will be refreshed every six months with the same method so the trend is readable, and the full dataset is available on request for anyone who wants to check our arithmetic.

Key takeaways

  • [[ADRIAN: % missing or boilerplate title]]% of the 200 US small business sites had a missing or boilerplate page title, the single element Google says every page should have.
  • [[ADRIAN: % missing meta description]]% had no meta description on the home page, leaving Google to write the snippet for them.
  • [[ADRIAN: % without LocalBusiness schema]]% of local service businesses had no LocalBusiness structured data, so Google has to guess their hours, phone and address.
  • [[ADRIAN: % with retired UA code]]% still carried Universal Analytics code that has not recorded a visit since 1 July 2023.
  • The trades with the most issues were [[ADRIAN: worst two categories]]; the fewest were [[ADRIAN: best two categories]].

How did we choose the 200 websites?

We wanted the sites a real customer would land on, not the sites an SEO tool happens to know about. So the sample came from Google Maps. For each of 20 US metro areas we searched 10 local service categories and took the first business in the map results that had a website link, skipping national chains and franchises. That gave 200 independently owned businesses, one per metro per category. [[ADRIAN: confirm sampling]]

Dimension What we used
Metros (20) New York, Los Angeles, Chicago, Houston, Phoenix, Philadelphia, San Antonio, San Diego, Dallas, Austin, Nashville, Portland, Washington DC, Denver, Atlanta, Charlotte, Minneapolis, Kansas City, Salt Lake City, Tampa [[ADRIAN: confirm metro list]]
Categories (10) Plumbing, electrical, HVAC, roofing, landscaping, dental, chiropractic, restaurant, hair salon, auto repair [[ADRIAN: confirm category list]]
Page audited The home page only, as linked from the Google Business Profile
Tool 20 Minute Marketing SEO Lens (free Chrome extension), Copy report output saved per site
Collection window [[ADRIAN: date range of collection]]
Checks Nine, listed below, each with a pass/fail rule stated before collection began

Two rules kept the results honest. The pass/fail definition for every check was written down before the first site was opened, so no threshold moved to make a number look better. And a check that the extension could not evaluate on a given site was recorded as “not assessable” and excluded from that check’s percentage, never counted as a fail.

What did the 200 sites get wrong most often?

Here is the whole study in one table. The failure rate is the share of the 200 home pages that failed the check as defined. Each check gets its own section below with what Google’s documentation says it costs you and how to fix it.

Check Fail rule Sites failing Priority
Page title Missing, or a single generic word such as “Home” [[ADRIAN: % missing or boilerplate title]]% Fix first
Meta description Missing on the home page [[ADRIAN: % missing meta description]]% Worth doing
Heading outline No H1, or more than one H1 [[ADRIAN: % with no H1 or multiple H1]]% Worth doing
Mobile viewport No viewport meta tag [[ADRIAN: % missing viewport]]% Fix first
HTTPS Home page served over plain HTTP [[ADRIAN: % not HTTPS]]% Fix first
Robots directives Home page carries noindex [[ADRIAN: % with noindex]]% Fix first
Canonical URL No canonical tag [[ADRIAN: % missing canonical]]% Nice to have
Local business details No LocalBusiness schema, or NAP not found on the page [[ADRIAN: % without LocalBusiness schema]]% / [[ADRIAN: % with NAP not found]]% Worth doing
Tracking No analytics tag, or retired Universal Analytics code present [[ADRIAN: % with no analytics]]% / [[ADRIAN: % with retired UA code]]% Worth doing
For comparison, SEOmator’s 2026 audit of more than 100,000 mostly B2B and e-commerce sites found missing or duplicate meta descriptions on 52.4% and structured data failures on 64.8%. Our sample is local service businesses with no SEO tooling, so expect the gap to be [[ADRIAN: wider / narrower]] (source: SEOmator, SEO Audit Statistics 2026).

How many small business sites have a missing or generic page title?

[[ADRIAN: % missing or boilerplate title]]% of the 200 home pages either had no <title> element at all or had one that said nothing useful: “Home”, “Welcome”, or the bare business name with no trade and no city. The median title length across the sample was [[ADRIAN: median title length]] characters.

Category Failing (of 20) Most common failure
Plumbing[[ADRIAN: n]][[ADRIAN: pattern]]
Electrical[[ADRIAN: n]][[ADRIAN: pattern]]
HVAC[[ADRIAN: n]][[ADRIAN: pattern]]
Roofing[[ADRIAN: n]][[ADRIAN: pattern]]
Landscaping[[ADRIAN: n]][[ADRIAN: pattern]]
Dental[[ADRIAN: n]][[ADRIAN: pattern]]
Chiropractic[[ADRIAN: n]][[ADRIAN: pattern]]
Restaurant[[ADRIAN: n]][[ADRIAN: pattern]]
Hair salon[[ADRIAN: n]][[ADRIAN: pattern]]
Auto repair[[ADRIAN: n]][[ADRIAN: pattern]]

What it costs you. The title is the blue link in the search result. Google’s title link documentation is blunt about it: “Make sure every page on your site has a title specified in the <title> element.” When the title is missing or generic, Google builds one from your headings, your anchor text or whatever other prominent text it can find, and the result is often worse than anything you would have written. A title that says “Home” also tells a searcher nothing about whether you fix boilers in Denver.

Fix it in 20 minutes. Write one title per page in the form Service in City | Business Name, under about 60 characters, no slogans. Your website builder has a field for it under page settings or SEO settings. The technical SEO checklist for small business sites walks through where that field lives on the common builders. In the accounts I’ve managed, the home page title change alone is the fix that most often shows up in Search Console within a fortnight, because it changes what the result says, not just how it ranks.

How many have no meta description?

[[ADRIAN: % missing meta description]]% of home pages had no meta description. A further [[ADRIAN: % with description under 50 chars]]% had one under 50 characters, which is usually a leftover from the template. The categories with the highest miss rate were [[ADRIAN: worst two categories for meta]].

What it costs you. Less than people think, and more than nothing. Google’s snippet documentation says Google “sometimes uses the meta description HTML element” and otherwise writes the snippet from your page content. So a missing description does not stop you ranking. It does mean the two lines under your blue link are chosen by a machine that has never met a customer. Google also says identical descriptions on every page “aren’t helpful when individual pages appear in search results”, which rules out the copy-paste fix.

Fix it in 20 minutes. Write 140 to 155 characters for the home page and your top three service pages: what you do, where, and one reason to call you rather than the next result. Google’s own advice is to prioritise the home page and the pages people actually land on if you cannot do them all. The 12-step post-publishing SEO checklist has the template we use.

How many have a broken heading outline?

[[ADRIAN: % with no H1 or multiple H1]]% of home pages had either no H1 at all or more than one. The multiple-H1 pattern was more common than the missing one ([[ADRIAN: split]]), and it almost always traced back to a page builder that wraps every section heading in an H1 by default. [[ADRIAN: % with hidden headings]]% had headings hidden by CSS, which the extension shows struck through.

What it costs you. Google’s title link guidance lists “heading elements such as <h1>” as one of the sources it uses when it rewrites your title, and recommends making the main heading “distinctive” and the most prominent on the page. Five H1s is five candidates for a rewrite you did not ask for. Hidden headings are worse, because Google may use text your visitors cannot see.

Fix it in 20 minutes. One H1 that names the service and the city. Every other section heading becomes an H2, and anything under that an H3. In most builders this is a dropdown on the heading block. Delete hidden headings rather than leaving them for Google to find.

How many are not set up for mobile?

[[ADRIAN: % missing viewport]]% of home pages had no viewport meta tag, the one line of code that tells a phone to render the page at phone width instead of shrinking a desktop layout to fit. Every one of those sites was [[ADRIAN: builder or hand-coded pattern]].

What it costs you. This is the one with the clearest cost. Google’s mobile-first indexing documentation states that “Google uses the mobile version of a site’s content, crawled with the smartphone agent, for indexing and ranking.” There is no desktop version in the index to fall back on. A page that renders as a postage stamp on a phone is the page Google is judging, and it is the page the customer with a burst pipe is squinting at.

Fix it in 20 minutes. If the site is on a modern builder, the tag is already there and this is not your problem. If it is hand-built or on an old template, adding <meta name="viewport" content="width=device-width, initial-scale=1"> to the head is a one-line change for whoever hosts it. Google recommends responsive design because it is “the easiest design pattern to implement and maintain”; if the site cannot be made responsive, it is cheaper to rebuild it on a builder than to maintain two versions. The free website speed fixes post covers what to check on mobile once the layout is right.

How many are missing HTTPS or accidentally blocking Google?

[[ADRIAN: % not HTTPS]]% of home pages were still served over plain HTTP. [[ADRIAN: % with noindex]]% carried a noindex directive on the home page, which tells Google to leave the page out of results entirely. That second number is small, but each one is a business that has, in effect, asked not to be found.

A noindex on the home page is almost never deliberate — it is usually the “discourage search engines” checkbox left on from when the site was being built. Open your home page, view the source, and search for the word noindex. If it is there and you did not put it there, turn the setting off today.

What it costs you. Browsers mark HTTP pages as not secure, and the web.dev guidance from Google’s Chrome team is to “always protect all your websites with HTTPS, even if they don’t handle sensitive communications.” For a contact form, that is a customer’s name and phone number going across the internet in plain text. A noindex costs you everything: the page cannot rank because it is not in the index.

Fix it in 20 minutes. HTTPS is a free certificate from your host and a setting to force the secure version; every mainstream host and builder does it in a few clicks now. The noindex is one checkbox. Both are in the technical SEO checklist under the first five minutes.

How many have no canonical tag, and does it matter?

[[ADRIAN: % missing canonical]]% had no canonical tag on the home page. We rank this “nice to have” on purpose. Google’s own guidance on duplicate URLs says specifying a canonical is optional and that most sites do fine without one, because Google will pick the version it considers best. The problem is when www and non-www, or HTTP and HTTPS, both resolve and both get linked, and Google picks a different one from the one on your business cards.

Fix it in 20 minutes. Decide on one address, redirect the others to it, and let the builder set the canonical automatically. If you only do one thing here, do the redirect, which Google treats as the stronger signal anyway.

How many local businesses have no local business markup?

[[ADRIAN: % without LocalBusiness schema]]% of the 200 sites had no LocalBusiness structured data. [[ADRIAN: % with NAP not found]]% did not have their business name, address and phone number readable as text on the home page at all; the details were in an image, a map embed or nowhere. Of the sites that did have the schema, [[ADRIAN: % of schema sites missing opening hours]]% left out opening hours and [[ADRIAN: % with review markup]]% carried review markup.

Local detail Sites with it present Google’s status for the property
Business name and address on page[[ADRIAN: %]]%Required in LocalBusiness schema
Phone number as text[[ADRIAN: %]]%Recommended
LocalBusiness schema[[ADRIAN: %]]%The container for all of it
Opening hours in schema[[ADRIAN: %]]%Recommended
Map coordinates in schema[[ADRIAN: %]]%Recommended
Contact form present[[ADRIAN: %]]%Not a schema property; a conversion check

What it costs you. Google’s LocalBusiness structured data documentation says the markup lets you “tell Google about business hours, different departments within a business” and that results “may display a prominent Google knowledge panel with details about a business”. Only two properties are required, the name and a postal address. Without it, Google is matching your website to your Business Profile on text alone, and when the address on the site is in a JPEG there is no text to match.

Fix it in 20 minutes. Put the name, street address and phone in the footer as real text. Then add a LocalBusiness block with name, address, telephone, url and openingHoursSpecification. The schema markup guide for small business has the copy-and-fill version, and the Google Business Profile optimisation guide covers keeping the profile and the site saying the same thing. Skip review markup unless you display reviews of other businesses, which Google’s guidelines limit it to.

How many are measuring nothing, or measuring with dead code?

[[ADRIAN: % with no analytics]]% of home pages had no analytics tag of any kind. [[ADRIAN: % with retired UA code]]% still carried Universal Analytics code. [[ADRIAN: % with both UA and GA4]]% had both the old and the new tag, which is harmless but tells you nobody has looked since the migration. [[ADRIAN: % with ad tags]]% had a Google Ads or Meta pixel installed, and [[ADRIAN: % with session recording]]% had session-recording tools.

What it costs you. Google’s Universal Analytics sunset notice is explicit: standard properties “stopped processing hits” on 1 July 2023, and from 1 July 2024 owners “won’t be able to access any Universal Analytics properties or the API”. A site with only UA code has recorded nothing for more than three years. The owner may believe they have analytics. They do not. And a site with no analytics at all cannot answer the only question that matters about marketing spend: did anyone who saw the ad end up on the site?

Fix it in 20 minutes. Remove the UA snippet, install a GA4 tag, and set the phone click and form submit as key events. The GA4 setup guide for small business does this in order, and tracking marketing ROI without a data analyst covers what to do with the numbers once they exist.

Which trades had the most problems?

Averaging the nine checks, the categories ranked like this. The score is the mean number of failed checks per site, out of nine.

Rank Category Mean failed checks (of 9) Most common failure
1[[ADRIAN: category]][[ADRIAN: n.n]][[ADRIAN: check]]
2[[ADRIAN: category]][[ADRIAN: n.n]][[ADRIAN: check]]
3[[ADRIAN: category]][[ADRIAN: n.n]][[ADRIAN: check]]
4[[ADRIAN: category]][[ADRIAN: n.n]][[ADRIAN: check]]
5[[ADRIAN: category]][[ADRIAN: n.n]][[ADRIAN: check]]
6[[ADRIAN: category]][[ADRIAN: n.n]][[ADRIAN: check]]
7[[ADRIAN: category]][[ADRIAN: n.n]][[ADRIAN: check]]
8[[ADRIAN: category]][[ADRIAN: n.n]][[ADRIAN: check]]
9[[ADRIAN: category]][[ADRIAN: n.n]][[ADRIAN: check]]
10[[ADRIAN: category]][[ADRIAN: n.n]][[ADRIAN: check]]

[[ADRIAN: one paragraph on the pattern — e.g. whether trades that rely on lead platforms like Angi had worse sites than trades that rely on their own website]]. If you are in one of the trades near the top of this table, the good news is that the bar is low: fixing the first three rows of the summary table puts you ahead of most of your local competitors, and the contractors’ guide to getting more leads online covers what to do once the basics are in place.

Want to fix all nine yourself? take the SEO and AI Visibility Course.

What this study does not tell you

  • It is home pages only: service pages and location pages were not audited, and they are often worse.
  • It is the businesses that already rank in Maps: the sample is biased towards sites good enough to appear, so the true failure rate across all small business sites is probably higher, not lower.
  • It does not measure speed or Core Web Vitals: the extension reports what is in the HTML, not how fast it loads. Our website speed guide covers how to check that separately with Google’s free tools.
  • It does not measure images or alt text: not a field the tool reports, so not a claim we make.
  • Failing a check is not the same as losing rankings: we have tied each check to what Google’s documentation says it affects, but we did not measure ranking outcomes.
  • One auditor, one pass: a sample of 200 gives a margin of error of roughly seven percentage points at a 95% confidence level for a figure near 50%, so treat differences of a few points between categories as noise.

How do you run the same audit on your own website?

The same way we did, in about four minutes a page.

1Install the extension. Our free SEO Chrome extension post has the Chrome Web Store link. No account, no email.
2Open your home page and read the Fixes panel. It sorts everything into Fix first, Worth doing and Nice to have, which is the same priority order as the summary table above.
3Check the Local and Tracking panels. If the Local panel cannot find your address as text, or the Tracking panel shows retired code, you have found the two problems most of the 200 sites shared.
4Copy the report and work down it. The Copy report button gives you a plain-text list to paste into a note or send to whoever manages the site. Then run the 20-minute local SEO audit for the parts no extension can see.

If you would like your site included anonymously in the next edition, or want the full dataset, the contact details are in the author box below.

Frequently Asked Questions

What percentage of small business websites have SEO problems?

In 20 Minute Marketing’s 2026 audit of 200 US small business home pages, [[ADRIAN: headline % of sites with at least one Fix-first issue]]% failed at least one check that Google’s documentation describes as affecting how the page is indexed or displayed. The most common failures were missing or generic page titles and missing LocalBusiness structured data.

What is the most common SEO mistake on small business websites?

In this study it was [[ADRIAN: most common failing check]], found on [[ADRIAN: % for that check]]% of the 200 home pages audited. Across the nine checks, the pattern was that the basics Google explicitly recommends, a unique title, a readable address and current analytics code, were missing far more often than anything technical.

Does a missing meta description hurt SEO?

Not directly. Google’s documentation says it sometimes uses the meta description and otherwise generates the snippet from page content, so a page without one can still rank. What you lose is control over the two lines under your result, which affects whether people click. Write one for the home page and your main service pages first.

How do I check my website for SEO issues for free?

Install a free on-page checker such as the 20 Minute Marketing SEO Lens Chrome extension, open your home page, and read the prioritised Fixes panel. It reports the title, meta description, heading outline, mobile and security tags, local business details and tracking code, which are the nine checks used in this study. Pair it with Google Search Console for indexing and ranking data.

How many websites still use Universal Analytics?

In this sample of 200 US small business home pages, [[ADRIAN: % with retired UA code]]% still carried Universal Analytics code. Google stopped processing data for standard Universal Analytics properties on 1 July 2023 and removed access to them from 1 July 2024, so those sites have recorded no visits for more than three years.

Want to understand every check on this page well enough to fix it yourself?

Our short courses teach the SEO, website and analytics skills behind this audit in 20-minute lessons. Learn it once, use it on every site you ever own.

See the short courses →

Built for busy learners and small business owners.

About the Author

Adrian Prokopiec

Adrian Prokopiec is the founder of 20 Minute Marketing, where he turns 25+ years in digital marketing into practical, no-jargon advice for small business owners and people learning digital marketing. He has held senior digital leadership roles growing some of Australia's largest online brands across travel, property and education, and now helps founders and learners who don't have agency budgets get real results in the time they actually have.

Connect with Adrian on LinkedIn →

Learn digital marketing in 20 minutes a day

Self-paced courses from someone who runs digital for two national brands. Build skills you can show an employer or a client.

Find the right course for you