All Hands Carpet Cleaning logo

SEO & Website Audit

A page-by-page technical, search, and local-presence review of allhandscarpetcleaning.com — what's holding the site back, and exactly how to fix it.

Prepared forAll Hands Carpet Cleaning · Edgewater, MD
Prepared byWattz Web Design and Marketing
DateJuly 14, 2026
Pages reviewed11 of 11

On-Page SEO

1/10

No title tags, no meta descriptions, no schema on any page. Google is guessing what this site is about.

Local Presence

4/10

Excellent reviews, but three different addresses and two business names across the directories Google checks.

Site Health & Content

4/10

Broken sitemap, duplicate www/non-www versions, heavy pages, copy-paste errors, and thin service pages.

The headline: Google can barely see this business.

All Hands has what most competitors would kill for — nearly a hundred 5-star reviews, a genuinely great story, and real photo proof. But the website gives Google almost nothing to work with, and the address confusion across the web splits what trust the business has earned. Fixing the items below is less about "optimization" and more about switching the lights on.

Critical issues

Each of these alone materially suppresses rankings. Together they explain why the site struggles to show up for anything beyond the business name.

CRITICAL · ON-PAGE

Every page is missing its title tag

All 11 pages ship with no <title> element at all. The title tag is the single strongest on-page ranking signal and the blue headline searchers click in results. Right now Google has to invent one from page content — content whose main heading on some pages is literally a phone-number call-to-action.

Fix: unique, keyword-focused titles on every page, e.g. "Carpet Cleaning in Annapolis & Anne Arundel County | All Hands Carpet Cleaning."
CRITICAL · ON-PAGE

No meta descriptions anywhere

Not one page has a meta description, so Google writes its own snippet from random page text. That's a lost opportunity to pitch the guarantee, the hero discount, and same-day service on every single search result.

Fix: hand-written descriptions per page featuring the no-stain-return guarantee and a call to action.
CRITICAL · INDEXING

The sitemap contains one fake test page — and none of the real ones

sitemap.xml lists exactly one URL: /test_path?item=123 — a placeholder left by the website platform. The 11 real pages aren't listed at all, and robots.txt is a completely empty file. The site's official "map for Google" points at a page that doesn't exist.

Fix: a real sitemap listing every page, referenced from a proper robots.txt, submitted in Google Search Console.
CRITICAL · DUPLICATE SITE

The site exists twice — and half of it 404s

www.allhandscarpetcleaning.com and allhandscarpetcleaning.com both load as separate live sites, with no redirect between them and no canonical tags telling Google which is real. Worse: interior pages like /about and /services return 404 Not Found on the non-www version — the very version the homepage sits on — while the menu links jump users over to www. Google sees a duplicated, half-broken website.

Fix: pick one version, 301-redirect the other, and add canonical tags site-wide.
CRITICAL · LOCAL SEO

Three addresses, two business names

Directories that feed Google's local rankings disagree about where — and what — this business is. Consistency of Name / Address / Phone is a core local ranking factor, and right now the citations are split three ways (see table below). Facebook also uses a different name: "All Hands Carpet Cleaning and Restoration."

Fix: choose one canonical NAP, correct Yelp, YellowPages, Superpages, Houzz, Angi, Birdeye, Facebook & Nextdoor, and align the Google Business Profile and website footer to match.
CRITICAL · STRUCTURED DATA

Zero structured data

There is no LocalBusiness schema, no service schema, and no review markup on any page. The site's 98 Facebook reviews and 26 Birdeye reviews are invisible to search engines, and Google can't confirm basics like hours, service area, or phone number from the site itself.

Fix: LocalBusiness + Service schema on every page; aggregate review markup where policy allows.

Where the web thinks All Hands is located

Live listings found during this audit. Any mismatch dilutes local rankings — Google cross-references all of these.

ListingBusiness nameLocation shownStatus
Website footerAll Hands Carpet CleaningNo address shown at allMissing
YelpAll Hands Carpet Cleaning1611 Ruxton Rd, Edgewater, MD 21037Baseline
YellowPages / SuperpagesAll Hands Carpet Cleaning1611 Ruxton Rd, Edgewater, MD 21037Matches
HouzzAll Hands Carpet CleaningDavidsonville, MD (3736 Nile Rd)Conflicts
AngiAll Hands Carpet CleaningDavidsonville, MDConflicts
What's Up? MediaAll Hands Carpet CleaningDavidsonville, MDConflicts
BirdeyeAll Hands Carpet CleaningRiva, MDConflicts
FacebookAll Hands Carpet Cleaning and RestorationEdgewater, MDName differs
NextdoorAll Hands Carpet CleaningEdgewater, MDMatches

Note: for a home-based service business, the address can be hidden on most platforms — but the records still have to agree with each other.

High-priority issues

HIGH · STRUCTURE

Three to four H1 headings per page — including a phone number

Pages carry multiple competing H1s. On the homepage, "Call NOW at410-320-9621" (missing space included) and "OR Fill out the estimate form on this page" are both H1 headings. Google reads H1s as "what this page is about" — and right now, the page is "about" a phone number.

Fix: one keyword-relevant H1 per page with a logical H2–H4 outline beneath it.
HIGH · ACCESSIBILITY / SEO

15 of 16 images have no alt text

The site's best asset — real before-and-after job photos — is invisible to Google Images and to screen readers. Alt text on these photos is free local-SEO ammunition ("carpet cleaning results in Annapolis MD").

Fix: descriptive, location-aware alt text on every image.
HIGH · PERFORMANCE

Every page carries ~400KB of raw HTML

Each page inlines ~165KB of CSS and ~107KB of JavaScript directly into the HTML — so none of it can be cached between pages, and every click re-downloads the whole bundle. Add render-blocking third-party widgets (Elfsight, LeadConnector) and mobile users on cell connections feel it. Server response itself is fast (Cloudflare), which makes the payload the main drag.

Fix: a lean hand-built site: shared cached stylesheet, minimal JS, optimized images. Target under 100KB per page.
HIGH · CONTENT

Service pages are mostly copies of each other

The nine service pages share large identical blocks (guarantee text, process, footer bio). The main Services hub page contains almost no unique content at all. Commercial pages especially are near-duplicates of their residential twins — so they compete with each other instead of ranking.

Fix: unique copy per service, each targeting its own search terms ("tile and grout cleaning Annapolis", "commercial carpet cleaning Anne Arundel County").
HIGH · PLATFORM

The site is a marketing-funnel page builder, not a website platform

The site runs on a funnel-page tool (GoHighLevel/LeadConnector). It's why titles, schema, sitemaps, and redirects are broken or missing — the platform simply isn't built for organic search. Even its default favicon is still in place instead of the All Hands logo.

Fix: move to a proper website stack where every SEO fundamental in this report is controllable.

Details & polish issues

MEDIUM · TRUST

The footer's Calvert County list is… Anne Arundel County

The "Calvert County Area" column is a copy-paste of the Anne Arundel column — heading included: it says "Servicing Anne Arundel County" and lists Annapolis, Glen Burnie, Pasadena, etc. Anyone in Calvert County checking whether you serve their town finds the wrong county. It also means the site never mentions Dunkirk, Owings, Prince Frederick, or any actual Calvert town — towns you'd want to rank in.

MEDIUM · TRUST

The site disagrees with itself on basic facts

Header: "Mon–Fri 8am–6pm." Footer: "Monday 8a.m.–5p.m." About page: "since 2012" in the banner, "Formed in 2011" two paragraphs later. Copyright: "2024." Small things — but they're exactly what a careful customer (and Google) checks.

MEDIUM · POLISH

Typos and formatting glitches in headline text

"gET YOUR ESTIMATE", "Call NOW at410-320-9621" (no space), and "Copyright 2024 ." all appear in large, prominent type. The two-step "WE DO OUR MAGIC" section also repeats the same heading twice in a row.

MEDIUM · SOCIAL

No social sharing tags, no branded favicon

Share the site in a text or on Facebook and you get a bare link — no image, no title, no description (the only Open Graph tag present is og:type). The browser tab shows the page-builder's default icon instead of the All Hands cross.

MEDIUM · BRAND

The design fights the brand

The logo is a distinctive green firefighter's cross — a genuinely great mark with a real story. The site pairs it with an unrelated brick-red (#9e2b25) for buttons and accents, random ALL-CAPS headings, and stock photography next to your excellent real job photos. The brand deserves a consistent, confident green-led design.

What's working — and worth building on

A review profile competitors can't fake98 Facebook reviews at 100% recommended, 26 more on Birdeye, plus organic praise on Nextdoor and Yelp.
A story worth tellingCareer firefighter/paramedic, family-run since 2011, hero discount, community sponsorships — this is rare, genuine differentiation.
Real photo proofThe half-cleaned job photos are dramatic, honest, and better than anything stock — they should headline the site.
Solid foundations to keepValid HTTPS, fast Cloudflare-fronted server response, mobile viewport configured, clean domain name with history since 2011.

Recommended roadmap

In priority order — the first four items alone would put All Hands ahead of most local competitors' websites.