
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.
No title tags, no meta descriptions, no schema on any page. Google is guessing what this site is about.
Excellent reviews, but three different addresses and two business names across the directories Google checks.
Broken sitemap, duplicate www/non-www versions, heavy pages, copy-paste errors, and thin service pages.
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.
Each of these alone materially suppresses rankings. Together they explain why the site struggles to show up for anything beyond the business name.
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.
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.
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.
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.
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."
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.
Live listings found during this audit. Any mismatch dilutes local rankings — Google cross-references all of these.
| Listing | Business name | Location shown | Status |
|---|---|---|---|
| Website footer | All Hands Carpet Cleaning | No address shown at all | Missing |
| Yelp | All Hands Carpet Cleaning | 1611 Ruxton Rd, Edgewater, MD 21037 | Baseline |
| YellowPages / Superpages | All Hands Carpet Cleaning | 1611 Ruxton Rd, Edgewater, MD 21037 | Matches |
| Houzz | All Hands Carpet Cleaning | Davidsonville, MD (3736 Nile Rd) | Conflicts |
| Angi | All Hands Carpet Cleaning | Davidsonville, MD | Conflicts |
| What's Up? Media | All Hands Carpet Cleaning | Davidsonville, MD | Conflicts |
| Birdeye | All Hands Carpet Cleaning | Riva, MD | Conflicts |
| All Hands Carpet Cleaning and Restoration | Edgewater, MD | Name differs | |
| Nextdoor | All Hands Carpet Cleaning | Edgewater, MD | Matches |
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.
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.
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").
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.
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.
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.
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.
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.
"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.
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.
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.
In priority order — the first four items alone would put All Hands ahead of most local competitors' websites.