Audit captured 2026-06-02

30-second mobile LCP. Schema declares the wrong city.
Your H1 is the word 'Home'.

amtreliablecleaningservices.com emits a lot of structured data — LocalBusiness, AggregateRating, Review, GeoCircle. The schema type coverage is good. The schema data is wrong: the homepage JSON-LD declares postalCode: 33142 (Hialeah / Miami-Dade) and streetAddress: 'Griffin Rd and, SW 90th Ave', while the body copy and Yelp listing say Cooper City. Lighthouse mobile is 55/100 with a 30-second LCP. H1 is literally the word 'Home'.

Lighthouse Mobile
55Poor — Good = 90+
Largest Contentful Paint
30.4sCatastrophic — 12x Good cutoff
Schema status
Wrong dataDeclares Hialeah ZIP
Off-site authority
5.0★ / 21on-site schema · multi-platform listings

Domain: amtreliablecleaningservices.com · Business: Residential + commercial cleaning, AirBnB/VRBO turnovers, post-construction · Service area: Cooper City, FL · Broward County

Scope: This audit covers your homepage only. Service pages, blog posts, and location pages were not crawled in this pass and may have additional findings. Recommended next step if you engage: a full per-page sweep.
42
Overall SEO Health
Critical — multiple urgent fixes
Technical SEO
55
Content quality
65
On-page SEO
40
Structured data
40
Performance / CWV
15
AI search readiness
35
Local SEO
55
01 · TL;DR

Read this if nothing else.

The schema infrastructure was built, but the data inside it is wrong — it declares Hialeah ZIPs (33142, 33153, 33186) while the business operates in Cooper City. Combined with a 30-second mobile LCP and a placeholder H1, this is undermining the work that's been done.

!

Schema declares the wrong city

The homepage JSON-LD LocalBusiness declares postalCode: 33142 (Hialeah, Miami-Dade) and streetAddress: 'Griffin Rd and, SW 90th Ave'. The body copy says Cooper City 19 times. Hialeah and Cooper City are 25+ miles apart. Google trusts schema over body copy — this is actively telling Google the business is in a different city than it serves.

!

30.4-second mobile LCP

The single most severe performance metric in this audit batch. At 30 seconds, the visitor sees a blank or partially-rendered page for half a minute on mobile. Almost everyone bounces before content appears. This alone explains any conversion shortfall.

!

H1 is the word 'Home'

WordPress theme default. The browser title is correct, but the on-page H1 — Google's primary topical signal — contributes nothing. 5-minute fix worth significant ranking weight on 'cleaning Cooper City' and adjacent terms.

Schema reviewCount = 21

The on-site AggregateRating declares 5.0★ / 21 reviews. Yelp, Nextdoor, Thumbtack, and Facebook all show separate listings. Verify the schema count matches your live Google Business Profile review count — mismatched counts can trigger a Google manual action that strips review stars from SERPs.

Mod_Security blocks default crawlers

Requests with default curl or library user-agents get HTTP 406. Real browsers work fine, but conservative archive bots and AI crawlers that don't spoof a desktop UA are getting rejected. Whitelist legitimate crawlers.

61 script tags on the homepage

High. Page-builder bloat is the likely root cause of the 30-second LCP, not the 10 images (image count is fine).

02 · Top must-do this week

Schema data correction is the #1 fix. Performance is #2.

Priority order. In this sequence.

Fix the schema location data, then fix the LCP. Everything else compounds from those two.

#ActionWhy it mattersEffort
1Correct schema location data. Replace the postalCode: 33142 + streetAddress: 'Griffin Rd and, SW 90th Ave' with the real business address. Update addressLocality, postalCode, and containsPlace ZIP list to match the actual service area (Cooper City + adjacent Broward ZIPs, not Miami-Dade).Schema is the highest-trust signal Google uses for location matching. Currently the site is telling Google it's in Hialeah while the body copy says Cooper City. This conflicts the entity graph and likely suppresses local pack eligibility entirely.30 min
2Fix the 30-second mobile LCP. Diagnose the hero asset — probably a full-page-builder video or background image. Compress to WebP. Generate responsive variants. Add fetchpriority + preload. Audit 61 scripts; deferred/async most.At 30s LCP, almost no mobile visitor sees your page. This single fix should lift conversion 50-100%.8-16 hr
3Rewrite the H1. From 'Home' to something like: 'Home & Commercial Cleaning Services in Cooper City, FL — AMT Reliable Cleaning'.H1 is Google's primary topical signal. Currently empty of meaning. Free ranking lift.5 min
4Verify schema AggregateRating count vs live GBP. Schema declares 21 reviews. If your live GBP shows a different count, reconcile.Mismatched counts can trigger a Google manual action that strips review stars from SERPs.15 min
5Whitelist legitimate crawlers in Mod_Security. Add allow rules for Googlebot, Bingbot, GPTBot, ClaudeBot, PerplexityBot, Google-Extended, etc.Real Google crawlers should never get 406. AI crawlers either.30 min
6Add 14 AI-crawler Allow directives + ship llms.txt. Explicit allows in robots.txt.AI search is a growing query share.30 min
03 · Technical SEO

What the live HTML actually says.

Live HTML pulled from amtreliablecleaningservices.com on 2026-06-02 (using a desktop browser UA — Mod_Security blocks default UAs with HTTP 406). Server: Apache + Mod_Security + WordPress + Rank Math SEO.

Stack detected

CMSWordPress
SEO pluginRank Math (schema graph confirmed)
Web serverApache + Mod_Security
Crawler issueMod_Security returns 406 to default UAs Blocks archive + AI crawlers
01 CRIT

H1 is literally 'Home'

The WordPress theme is rendering the page title from the menu label.

evidence: grep returns: 'Home'

Fix: Either set the page title in WordPress to a descriptive string ('Home & Commercial Cleaning Services in Cooper City, FL'), or hardcode the H1 in the theme.
02 WARN

61 script tags on homepage

Highest script count of any site in this audit batch. Strongly correlates with the 30-second LCP.

evidence: grep -ocE '<script' home.html → 61

Fix: Coverage-tab audit. Defer all non-critical. Most page-builder scripts can be removed once you identify which features you actually use.
03 WARN

Mod_Security UA-based blocking

Default curl, default requests, and many automated crawlers get HTTP 406.

evidence: Direct curl test without -A flag: HTTP/2 406 Not Acceptable

Fix: Add UA-allow rules in Mod_Security config for known good crawlers.
04 CRIT

Schema data declares wrong city

On-site JSON-LD: postalCode 33142 (Hialeah), streetAddress 'Griffin Rd and, SW 90th Ave'. containsPlace lists 33142, 33153, 33186 (Miami-Dade). Body copy says Cooper City.

evidence: grep on home.html: postalCode + streetAddress + containsPlace

Fix: Correct schema to the real business address (Cooper City + adjacent Broward ZIPs). The schema TYPES are right (LocalBusiness, AggregateRating); the DATA is wrong.
04 · Performance / Core Web Vitals

30.4 seconds is far beyond anything normal.

Lighthouse mobile lab data, captured 2026-06-02. Google's Good zone: LCP <2.5s, FCP <1.8s, CLS <0.1, TBT <200ms.

55
Lighthouse Score
30.4s
LCP
0.000
CLS
!

LCP is 12x the Google 'Good' threshold

At 30s LCP on mobile, the site is essentially unusable for first-time visitors. CLS is 0 and TBT is 9ms — so once the page does render, it works fine. The blocking issue is purely how slowly assets load. Almost certainly a giant unoptimized hero asset plus render-blocking page-builder JS.

05 · Structured data (Schema.org)

Schema types are right. Schema data is wrong.

Strong type coverage (LocalBusiness + AggregateRating + Review). But the location data inside the schema does not match the real business location.

Detected types: LocalBusiness, AggregateRating, Review, Offer, GeoCircle, GeoCoordinates, PostalAddress, Rating, Person, City. The type coverage is rare and good.

The data problem: PostalAddress declares postalCode: 33142 (Hialeah, Miami-Dade) and streetAddress: 'Griffin Rd and, SW 90th Ave'. containsPlace lists ZIPs 33142 / 33153 / 33186 (all Miami-Dade). The body copy says Cooper City 19 times. Hialeah and Cooper City are 25+ miles apart in different counties.

Why this matters: Google trusts JSON-LD over body copy for entity location matching. Right now the schema is telling Google the business is in Miami-Dade, suppressing local-pack eligibility for the Broward / Cooper City queries the site is built around.

AggregateRating: schema declares 5.0★ / 21 reviews. Confirm this matches the live GBP count.

07 · Local SEO

How your business appears in local search.

Multi-platform listings exist on Yelp, Nextdoor, Thumbtack, Yahoo Local, Facebook (@amtreliablecleaning), Instagram (per third-party directories). Phone (754) 227-9395 confirmed in HTML. Business per body copy + Yelp is in Cooper City; on-site schema declares Hialeah ZIP.

The most urgent local-SEO issue is the schema/body conflict above. Until the schema declares the correct city, no other local-SEO work compounds.

Once corrected, the on-site GeoCircle declaring a service-area radius is the right structural choice for a service-area business (SAB) without a storefront.

Opportunity (after schema fix): dedicated landing pages for each major service-area city in Broward (Cooper City, Davie, Pembroke Pines, Weston, Fort Lauderdale).

08 · Prioritized roadmap

The order to do this work in.

Ranked by impact divided by effort. Estimates assume a competent WordPress developer.

#ActionEffortImpact
1Correct schema location data (postalCode + streetAddress + containsPlace)30 minCritical
2Fix mobile LCP — diagnose hero + audit 61 scripts8-16 hrExtreme
3Rewrite H15 minHigh
4Verify schema AggregateRating count vs live GBP15 minRisk reduction
5Whitelist legitimate crawlers in Mod_Security30 minMedium-high
6Add 14 AI-crawler allows + llms.txt30 minMedium
7Per-service pages (AirBnB turnover, post-construction, etc.)12-20 hrHigh
8Service-area landing pages for adjacent Broward cities16-24 hrHigh