SEO starter kitStarving Plumbers← Back to the design preview

Starving Plumbers (starvingplumbers.com): SEO starting-point kit

Prepared 2026-10-27 (CDT). All checks were read-only. Site: Squarespace; https://starvingplumbers.com/ returns a 301 to https://www.starvingplumbers.com/ (checked ~10:35 AM CDT).

(a) Verdict

The site is clear and quick to read: one phone number repeated everywhere, a seven-item service list, a license number, three testimonials and a real service-area list. What it does not do is tell Google any of that in a usable way. The home page has no H1. The structured data that Squarespace generates exists but is broken (empty opening hours ", , , , , , ", an address with no state or ZIP, no telephone or geo, generic LocalBusiness instead of Plumber). The best local content, a 14-town service-area list, sits only on an unlinked draft page titled "General 1" that is in the sitemap. There are no service-specific or town-specific pages, no FAQ and no hours. Off the site the business is well reviewed (Yelp 4.5 from 66 as copied on Yahoo Local; 5.0 from 33 Google reviews as copied on Birdeye, both secondary sources), but none of that appears on the site, and BBB still lists a PO Box in Kentfield and an old Larkspur street address. The prior audit's claim of "no LocalBusiness schema" was wrong: there is one, and it is defective. Fix the headings and schema, publish the service-area content as real pages, then build one page per service and per town the owner already names.

(b) Findings

Lab speed numbers below come from Lighthouse 13.5.0 run locally (headless Chrome, simulated throttling, one run each, 10:20 AM CDT). They are not PageSpeed Insights or field data; PSI returned HTTP 429 (see section e).

# Finding Evidence (URL, checked at CDT 2026-10-27) Why it matters Fix
1 Home page has no H1. The headline "Plumbing experts in Marin County since 1978" is an H2; "License #759372" is also an H2, and so are the three testimonial quotes (Novato customers). https://www.starvingplumbers.com/ and /home, crawled 10:17:32 AM CDT: 0 H1, 7 H2. The unlinked /home-1 does have an H1. The page's main topic and place are not marked as the primary heading. Make the hero headline the H1 (replacement in section c). Make "License #759372" and the testimonial quotes body text or blockquotes, not headings.
2 Squarespace's auto schema is present but defective. LocalBusiness has no telephone, no geo, no url, "openingHours":", , , , , , ", address as a plain string "22 Joseph Ct\nSan Rafael\nUS" (no state, no ZIP), and an image URL that ends in / (not a file). Organization repeats address as a string and has sameAs = Yelp only. WebSite.description is empty. JSON-LD on every page, e.g. https://www.starvingplumbers.com/ 10:17:32 (3 blocks: WebSite, Organization, LocalBusiness). Search engines get no valid hours, no structured address, and no business subtype. Empty hours markup may be ignored or flagged. Fill in hours in Squarespace Business Information (fixes the empty openingHours), and/or inject the Plumber block in section c via Code Injection after removing duplicates. Re-test with Google's Rich Results Test.
3 A draft page is public and in the sitemap: /home-1, title "General 1", no meta description, no inbound links from the site, lastmod 2026-04-28, robots meta none (indexable). /cart is crawlable with no canonical and title "Starving Plumbers". /home duplicates / (canonical points to the root; sitemap lists /home but not /). Sitemap https://www.starvingplumbers.com/sitemap.xml 10:17:32 AM CDT (7 URLs). /home-1 10:17:33: title "General 1", 0 links to it from the other 8 crawled pages. Wasted crawl budget; a page titled "General 1" can appear in results. Disable or password-protect /home-1 after moving its service-area text into a real page. Disable the Squarespace cart/commerce link in the header (/cart is linked from every one of the 9 crawled pages). Make / the sitemap and canonical home URL.
4 The service-area list is hidden. Only /home-1 names the towns: Belvedere, Bolinas, Corte Madera, Fairfax, Larkspur, Marin City, Mill Valley, Novato, Ross, San Anselmo, San Rafael, Sausalito, Stinson Beach, Tiburon, plus Petaluma. Live pages say only "all of Marin County (and Petaluma)". /home-1 10:17:33; /services 10:17:32. Town names are the main local ranking terms and live nowhere on indexed pages. Publish the list on a visible service-area page and in the footer; build town pages (section c).
5 One page for all services. /services has one H1, no H2s, 325 words, and one long list of 25 service lines. No pages for water heaters, drains, gas lines, etc. No FAQ page. https://www.starvingplumbers.com/services 10:17:32. Sitemap has 7 URLs total. One page cannot rank for 10 different services. Split into service pages (section c); keep /services as the hub.
6 Meta descriptions and titles are the wrong length. Descriptions: home 197 chars, /services 231, /about-us 258 (cut off mid-sentence: "...extraordinary, high-touch service for"), /discounts 206. Titles: /services 75 chars, /request-service 64. /home-1 and /cart have no description. Typo "cusotmers" in the /services description and og:description. /about-us 10:17:32 (meta ends "...high-touch service for"); /services title "Residential & Commercial Plumbing Services Marin County - Starving Plumbers". Google truncates around 155-160 chars and about 60 title chars. Use the lengths in section c; fix the typo.
7 Mobile speed is weak; desktop is fine (local Lighthouse). Mobile: performance 62, LCP 5.7 s, FCP 2.8 s, TBT 400 ms, CLS 0, 74 requests, 2,228,944 bytes, 40 script requests = 1,373,630 bytes. Desktop: performance 97, LCP 1.2 s. The home HTML carries 46 <script> tags: Squarespace platform bundles, about 15 Squarespace website.components.* scripts, two Google tags (AW-10937661170, G-HJHLP63ZLF) and Adobe Typekit. Lighthouse counted 40 script requests on mobile (1,373,630 bytes) and estimated 604 KiB of unused JavaScript. HTML itself is small: 34,288 bytes compressed (238,582 decoded). Files: and -desktop.json (Lighthouse run 10:20 AM CDT); script list from the https://www.starvingplumbers.com/ crawl, 10:17:32 AM CDT. Plumbing customers search on phones; LCP over 4 s is in Google's "poor" band. In a rebuild: static HTML, no effect scripts, one analytics tag, system or self-hosted fonts. If Squarespace stays: remove the image-effect sections and unused blocks.
8 Images have no useful alt text. Home page: 10 <img>; 7 have alt="" or none: hero, service-ourwork4.jpeg, service-ourwork3.jpg, photo_eric_portrait.jpg, and 3 of the 4 badges. Only the logo and the "2022 Super Service Award" badge have alt text. Logo <img> has no width/height (flagged by Lighthouse unsized-images). The one good alt text is on /services: "Water Heater Installation in San Rafael - Installed dual 50 gallon water heaters". / 10:17:32 image list; /services 10:17:32. Lighthouse image-alt passes only because alt="" is treated as decorative. Lost image-search traffic and weak accessibility for photos of real work. Write specific alt text for the three job photos and the badges; add width and height to the logo.
9 Hours are not stated anywhere on the site. All 9 crawled pages, 10:17-10:18; no hours text, no hours in valid JSON-LD. Two directories (secondary) show Mon-Fri 8:00 AM-5:00 PM, Sat and Sun closed: https://local.yahoo.com/info-169182402-starving-plumbers-san-rafael/ and https://reviews.birdeye.com/starving-plumbers-166554046102954 (both fetched ~10:24 AM CDT). Neither says whether the owner supplied those hours. Hours are a core local-pack and call-conversion field. Owner confirms hours and any 24/7 or emergency policy; publish them on every page footer and in schema.
10 NAP is consistent on the site but not off it. Site (all 9 pages): 22 Joseph Ct, San Rafael, CA 94903; (415) 925-1234 header / 415-925-1234 footer. BBB's search results list two Starving Plumbers addresses with the same phone: "PO Box 201, Kentfield, CA 94914-0201" and "12 E Sir Francis Drake Blvd Ste G, Larkspur, CA 94939-1718"; both rated A+, bbbMember:false. Yahoo Local and Birdeye list 22 Joseph Ct, San Rafael, 94903 (matches the site). The site's own history says Larkspur Landing 1985-2015, then Terra Linda. BBB: https://www.bbb.org/search?find_country=USA&find_text=Starving%20Plumbers&find_loc=San%20Rafael%2C%20CA, fetched ~10:23 AM CDT (saved ). Conflicting addresses weaken local ranking signals. Owner claims/updates the BBB listing (remove the old Larkspur and PO Box entries or make them match); keep one street address everywhere.
11 Reviews are strong off-site and under-used on-site. On site: 3 quotes on the home page (all "Novato"), 6 on /reviews (Foresight Property Inspections, Martha R., Marie C., Mitchell F., Laura, Marc W.), no count, no dates, no source links. The /reviews page puts each quote in an H2 and shows a broken apostrophe ("can?t"). Off-site, secondary only: Yelp 4.5 from 66 reviews as copied on Yahoo Local (56 five-star, 4 four-star, 0 three-star, 1 two-star, 5 one-star); Birdeye 5.0 from 33 reviews, all labelled "on Google". /reviews 10:17:32. Secondary: Yahoo https://local.yahoo.com/info-169182402-starving-plumbers-san-rafael/ and Birdeye https://reviews.birdeye.com/starving-plumbers-166554046102954, both fetched ~10:24 AM CDT. Yelp itself returned an empty response to the test machine (~10:23 AM CDT). Social proof is a conversion and a ranking factor, and the counts differ by source. Link to the live Yelp and Google review pages; show a few full reviews with name and source. Do not mark up your own reviews as AggregateRating (Google excludes self-served reviews from rich results). Owner should confirm the current counts.
12 Claims with no support on the page: "#1 Plumber in Marin County" (home title and /home-1 H1). No ranking source is cited. Two badge images are labelled 2022 (SSA_2022.png, alt "2022 Super Service Award"; enterprise-2022_300x300.png). Home title, 10:17:32. Unsubstantiated superlatives can be challenged; stale awards look stale. Keep it out of the new title; confirm the awards are current before reuse.
13 Two Google tags (AW-10937661170, a Google Ads ID; G-HJHLP63ZLF, a GA4 ID) and Typekit fonts load on the home page. https://www.starvingplumbers.com/ source, 10:17:32 AM CDT. Not a defect; it shows ads and analytics exist, so a rebuild must keep call and form conversion tracking. Confirm with the owner what the tags track before changing anything.
14 robots.txt is Squarespace's default, includes Sitemap: https://www.starvingplumbers.com/sitemap.xml, and blocks many AI crawlers (GPTBot, ClaudeBot, Google-Extended, CCBot and others) plus /config, /search, /api/ etc. https://www.starvingplumbers.com/robots.txt 10:17:32 AM CDT (1,515 bytes, HTTP 200). Fine for Google search. The AI-crawler block is a business choice to leave or change. Leave unless the owner wants AI visibility.

Page inventory (all crawled pages; full CSV: starving-plumbers-page-inventory.csv)

Sitemap: https://www.starvingplumbers.com/sitemap.xml, fetched 10:17:32 CDT, 7 URLs, lastmod 2026-04-22 to 2026-04-28, with 27 image entries; the oldest image URLs use a different Squarespace content ID (5ec321c2...) from the site's current assets (62f999b9...). Crawl 10:17:32-10:17:33 CDT. HTTP 200 on all 9.

URL (path) Checked (CDT, 2026-10-27) Title (len) Meta desc (len) H1 H2s (count) Words Canonical Robots meta In sitemap JSON-LD
/ 10:17:32 #1 Plumber in Marin County - Starving Plumbers in San Rafael (60) Starving Plumbers has been serving Marin County (and Petaluma) since 1978. With us, you ge... (197) (none) 7 315 www.starvingplumbers.com (none) N WebSite+Organization+LocalBusiness
/home 10:17:32 #1 Plumber in Marin County - Starving Plumbers in San Rafael (60) Starving Plumbers has been serving Marin County (and Petaluma) since 1978. With us, you ge... (197) (none) 7 315 www.starvingplumbers.com (none) Y WebSite+Organization+LocalBusiness
/discounts 10:17:32 Save on Plumbing Services — Starving Plumbers (45) We're plumbers you can trust. And we give back to Marin County. We offer discounts for sen... (206) Discounts 3 196 www.starvingplumbers.com/discounts (none) Y WebSite+Organization+LocalBusiness
/reviews 10:17:32 Customer Reviews — Starving Plumbers (36) Read glowing reviews & testimonials from our plumbing customers in Marin County. Contact u... (131) What people are saying. 6 421 www.starvingplumbers.com/reviews (none) Y WebSite+Organization+LocalBusiness
/services 10:17:32 Residential & Commercial Plumbing Services Marin County - Starving Plumbers (75) Starving Plumbers offers high-touch plumbing services in Marin County (and Petaluma) for b... (231) Plumbing Services Marin County 0 325 www.starvingplumbers.com/services (none) Y WebSite+Organization+LocalBusiness
/about-us 10:17:32 About Starving Plumbers San Rafael - Trusted Since 1978 (55) Starving Plumbers is a locally-owned business, not a franchise. We solve your plumbing pro... (258) About us 0 325 www.starvingplumbers.com/about-us (none) Y WebSite+Organization+LocalBusiness
/request-service 10:17:32 Request Plumber Near Me - San Rafael / Marin - Starving Plumbers (64) Serving Marin County since 1978. Request a plumber near you in San Rafael, Marin County, &... (171) Request Service 0 121 www.starvingplumbers.com/request-service (none) Y WebSite+Organization+LocalBusiness
/home-1 10:17:33 General 1 (9) (none) (0) Since 1978, Trusted as the #1 Plumber in Marin County. 7 301 www.starvingplumbers.com/home-1 (none) Y WebSite+Organization+LocalBusiness
/cart 10:17:33 Starving Plumbers (17) (none) (0) (none) 0 84 (none) (none) N WebSite+Organization+LocalBusiness

Structured data on every page (identical): WebSite, Organization, LocalBusiness (see finding 2). Quoted: - {"@type":"LocalBusiness","address":"22 Joseph Ct\nSan Rafael\nUS","image":".../t/62f9a151f181f76c7c6b9386/1776854537503/","name":"Starving Plumbers","openingHours":", , , , , , "} - {"@type":"Organization","legalName":"Starving Plumbers","address":"22 Joseph Ct\nSan Rafael\nUS","email":"starvingplumbers@gmail.com","telephone":"415-925-1234","sameAs":["https://www.yelp.com/biz/starving-plumbers-san-rafael"]} - Missing: Plumber subtype, structured PostalAddress, geo, valid hours, areaServed, url on the business, sameAs beyond Yelp, license identifier.

Speed and mobile evidence

(c) Ready-to-paste replacements (verified facts only)

Title tag (56 chars): Plumber in San Rafael & Marin County | Starving Plumbers

Meta description (154 chars): Licensed and insured plumbers in Marin County since 1978. Water heaters, gas lines, drains, toilets and sump pumps across Marin County. Call (415) 925-1234.

H1 (owner's words from the current H2, with San Rafael added from the footer address): Plumbing experts in Marin County since 1978

Left out on purpose: "#1 Plumber" (no source), review counts (not owner-confirmed), hours (not on the site).

JSON-LD (Plumber). Fields marked TODO could not be verified; replace or delete them before publishing. TODO values make the block invalid until replaced.

{
  "@context": "https://schema.org",
  "@type": "Plumber",
  "@id": "https://www.starvingplumbers.com/#business",
  "name": "Starving Plumbers",
  "url": "https://www.starvingplumbers.com/",
  "logo": "https://images.squarespace-cdn.com/content/v1/62f999b9c6761b77f1086cad/c7ab4870-48c6-44fd-a347-9a3a1a6956a3/logo_myriad40083.png",
  "image": "https://images.squarespace-cdn.com/content/v1/62f999b9c6761b77f1086cad/c7ab4870-48c6-44fd-a347-9a3a1a6956a3/logo_myriad40083.png",
  "telephone": "+1-415-925-1234",
  "email": "starvingplumbers@gmail.com",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "22 Joseph Ct",
    "addressLocality": "San Rafael",
    "addressRegion": "CA",
    "postalCode": "94903",
    "addressCountry": "US"
  },
  "geo": "TODO: latitude/longitude of 22 Joseph Ct (not published on the site; look up and confirm)",
  "openingHoursSpecification": "TODO: owner to confirm (site states no hours; Yahoo Local and Birdeye show Mon-Fri 08:00-17:00, Sat-Sun closed)",
  "priceRange": "TODO: owner to confirm (not on the site)",
  "foundingDate": "1978",
  "description": "Starving Plumbers is a locally-owned plumbing business in San Rafael serving all of Marin County and Petaluma, residential and commercial.",
  "areaServed": [
    {"@type": "AdministrativeArea", "name": "Marin County, CA"},
    {"@type": "City", "name": "Belvedere"}, {"@type": "City", "name": "Bolinas"},
    {"@type": "City", "name": "Corte Madera"}, {"@type": "City", "name": "Fairfax"},
    {"@type": "City", "name": "Larkspur"}, {"@type": "City", "name": "Marin City"},
    {"@type": "City", "name": "Mill Valley"}, {"@type": "City", "name": "Novato"},
    {"@type": "City", "name": "Ross"}, {"@type": "City", "name": "San Anselmo"},
    {"@type": "City", "name": "San Rafael"}, {"@type": "City", "name": "Sausalito"},
    {"@type": "City", "name": "Stinson Beach"}, {"@type": "City", "name": "Tiburon"},
    {"@type": "City", "name": "Petaluma"}
  ],
  "identifier": {"@type": "PropertyValue", "name": "License #759372", "value": "759372"},
  "sameAs": ["https://www.yelp.com/biz/starving-plumbers-san-rafael"]
}

Sources: name, phone, address, email, license, founding year and the 14 towns plus Petaluma are all on the live site (home footer, /request-service, /about-us, /home-1); Yelp URL is the site's own sameAs. Add a Google Business Profile URL and the BBB/Angi URLs to sameAs only after the owner supplies them.

Internal page plan (every town and service named below is one the owner already lists):

New page Target phrase Built from (owner's own content)
/plumber-san-rafael plumber San Rafael CA footer address; "located in San Rafael" (home-1); history on /about-us (Terra Linda, just off 101)
/service-area plumber Marin County the 14-town list and Petaluma note from /home-1
/service-area/novato, /mill-valley, /larkspur, /corte-madera, /sausalito, /san-anselmo, /fairfax, /tiburon, /ross, /belvedere, /bolinas, /stinson-beach, /marin-city, /petaluma plumber [town] town name from the owner's list + that town's real jobs/reviews once supplied (all three home-page testimonials say Novato; do not invent others)
/water-heater-installation-san-rafael water heater replacement San Rafael; tankless water heater Marin /services bullets (gas, electric, tank-less, strapping, code upgrades, recirculation pumps); the job photo and alt text; $100-off special on /discounts
/drain-cleaning-sewer-repair-marin drain cleaning Marin County "Drain cleaning, line repairs and replacements"; "Sewer and sump pump repair"; 30-day drain warranty
/gas-line-installation-repair gas line repair Marin County gas line repairs/installs, BBQ and fire pit hookups, fireplace gas lines, earthquake safety valves; testimonial about relocating a stove gas line (Robert S., Novato)
/toilet-faucet-fixture-repair toilet repair San Rafael toilets, faucets, tub/shower valves, fixtures, garbage disposals
/water-line-repair-repiping repipe copper PEX Marin; slab leak repair galvanized-to-copper/PEX, slab leaks, water service, pressure regulators
/sump-pump-repair-replacement sump pump replacement Marin listed service
/plumbing-remodels plumbing remodel Marin County "residential or commercial remodels"
/faq (long-tail questions) warranty terms, discounts, what a first call costs ($25 off first call), service area, Petaluma minimums. Questions must come from the owner; do not invent answers.
Keep /reviews, /discounts, /about-us, /request-service fix titles/H1 as above

(d) Local SEO checklist

Item Status Evidence
Google Business Profile exists UNVERIFIED (indirect only): Birdeye shows 33 reviews all labelled "on Google". Google Maps itself returned only a script shell to curl (~10:35 AM CDT). https://reviews.birdeye.com/starving-plumbers-166554046102954;
GBP claimed / owner-verified UNKNOWN Birdeye says its own profile "has not been claimed by the business owner"; that says nothing about Google
GBP category, hours, photos, services, posts UNKNOWN cannot see the profile from here
Site NAP consistent across its own pages PASS 9/9 pages, footer text identical
NAP consistent off-site PARTIAL Yahoo Local and Birdeye match the site; BBB shows PO Box 201 Kentfield and 12 E Sir Francis Drake Blvd Ste G, Larkspur
Phone tap-to-call PASS tel:+14159251234 on every page (header button)
Hours published FAIL none on site
Valid LocalBusiness/Plumber schema FAIL (present but defective) finding 2
Service pages FAIL one /services page
Service-area / town pages FAIL (content exists only on draft /home-1) finding 4
FAQ page FAIL none
Reviews page PARTIAL /reviews has 6 unrated quotes, no source or count
Yelp listing PRESENT (page itself returned nothing to the test machine; Yahoo's copy shows 4.5 from 66 reviews) sameAs link in the site's JSON-LD
BBB listing PRESENT, A+, not a BBB member, two old addresses BBB search page ~10:23 AM CDT
Yahoo Local, Birdeye PRESENT (Birdeye unclaimed) URLs in finding 11
Chamber of Commerce, BestProsInTown and other directories NOT VERIFIED (Chamber page returned a Cloudflare challenge)
HomeAdvisor/Angi Badge images on the site (filenames homeadvisor-50reviews, homeadvisor-10year, enterprise-2022, SSA_2022); listing page not opened home page images
Nextdoor, Facebook, Instagram NOT CHECKED / none linked from the site no social links on the site
Embedded map on a live page FAIL (only a Google My Maps iframe on the draft /home-1) /home-1 iframe mid=1f0Y27UZYC9_ijcnP5vlFJe0KsEMknQU
Title/H1/meta unique and sized PARTIAL finding 6
Image alt text FAIL finding 8
HTTPS, one canonical host PASS non-www 301 to www (~10:35 AM CDT); canonicals use https://www... (home canonical lacks the trailing slash)
Sitemap and robots PASS (sitemap includes the draft page, finding 3) 10:17:32 AM CDT

(e) What I could not verify