30 years. 500+ 5-star reviews. Zero on-page schema.
Three H1s. No meta description.
propestcontrol.org says 'family-owned since 1991' on the homepage (verified) and third-party aggregators surface 4.9★ / 500+ Google reviews + BBB A+. The homepage itself emits zero JSON-LD structured data, has no meta description, three H1 tags, and a CLS of 0.206 (the worst layout-stability score in this audit batch).
Domain: propestcontrol.org · Business: Pest control + fertilization · 30 years · Service area: Broward · Miami-Dade · Palm Beach (per body copy)
Read this if nothing else.
Real 30-year authority. 500+ five-star reviews. The on-site work has fallen behind: no SEO plugin emitting schema, no meta description, three H1s, and a CLS that makes the page visibly jump as it loads.
Zero JSON-LD structured data
For a pest control business with 500+ Google reviews and 30 years of history, the absence of LocalBusiness, PestControlService, or AggregateRating schema is the single highest-leverage on-page fix. Currently Google has no structured way to tie your on-site authority to your off-site reviews.
Meta description is empty
<meta name="description"> content is blank. Google fabricates a snippet from page body — typically less clickable than a hand-written description leading with '30 years' and '500+ reviews'.
CLS of 0.206
Worst layout-stability score in this audit batch. Google's threshold for Good is <0.1. Visible page jumps on load are a confirmed ranking factor and a measurable conversion killer. Almost always caused by images missing width/height attributes.
Three <h1> tags on the homepage
'The Neighborhood Choice', 'Pest Control & Fertilization Specialist', 'Why Choose Pro Pest Control?'. Modern best practice: one H1 per page. The other two should be H2s.
No SEO plugin detected
The site uses WordPress core's wp-sitemap.xml, which means no Yoast / Rank Math / All in One is active. Installing a free SEO plugin handles meta + og + schema scaffolding automatically — compounds across every page.
llms.txt returns 204 No Content
Unusual response. Should be either a real file (200) or a 404. The 204 means the endpoint exists but returns nothing.
Eight fixes. The first three address the schema absence — the single biggest issue.
| # | Action | Why it matters | Effort |
|---|---|---|---|
| 1 | Install an SEO plugin (Rank Math is free). This single install scaffolds meta descriptions, og:title/og:description, breadcrumb schema, sitemap optimization, and structured-data templates across every page. | Currently the site has no SEO plugin, so every other fix below is harder than it needs to be. This is the lever that makes everything else 10x faster. | 1-2 hr (incl. configuration) |
| 2 | Add LocalBusiness + PestControlService JSON-LD. Full NAP (1441 Banks Rd, Margate FL), hours, sameAs to GBP + BBB + Facebook + Yelp, aggregateRating (4.9 / 500+). | Currently Google has no structured way to identify this as a pest control local business. Schema unlocks rich results + AI Overview citation + local pack signal. | 1-2 hr (after plugin installed) |
| 3 | Write a meta description. Lead with '30 years' and '500+ Google reviews'. Example: 'Family-owned pest control + fertilization. 30 years serving Broward, Miami-Dade, Palm Beach. 4.9★ on 500+ Google reviews. BBB A+. Free quote.' | Hand-written meta is one of the highest-CTR levers in SEO. Currently leaving 10-20% CTR uplift on the floor. | 15 min |
| 4 | Fix CLS — width/height on every image. Add explicit width and height attributes (or aspect-ratio CSS) to every image. Reserve space for embeds. | CLS 0.206 means the page visibly jumps as it loads. Google flags this as a Core Web Vitals failure and visitors find it disorienting. | 2-4 hr |
| 5 | Collapse to a single <h1>. Keep 'Pest Control & Fertilization Specialist' or similar. Demote the other two to <h2>. | Multi-H1 dilutes topical authority signal. | 15 min |
| 6 | Fix LCP — hero image optimization. WebP, srcset, fetchpriority, preload. | At 8.5s LCP on mobile, you're losing visitors before content renders. | 2-4 hr |
| 7 | Add 14 AI-crawler allows + ship llms.txt. Fix the 204 llms.txt response too — ship a real file or return 404. | Pest control buyers ask 'is it safe for pets/kids', 'how often', 'do you do termites' — exactly the FAQ-style content AI Overviews preferentially cite. | 45 min |
| 8 | Audit /where-we-service/Place schema. | Currently leaving long-tail + local-pack signal on the floor across multiple cities. | 8-16 hr |
What the live HTML actually says.
Live HTML pulled from propestcontrol.org on 2026-06-02. Server: Bluehost shared hosting + Apache + WordPress (no SEO plugin detected — using WordPress core sitemap).
Stack detected
| CMS | WordPress |
| SEO plugin | None detected (using wp core sitemap) |
| Hosting | Bluehost shared (host-header confirmed) |
| Web server | Apache |
| Crawler issue | Mod_Security returns 406 to default UAs |
Zero JSON-LD structured data
No LocalBusiness, PestControlService, PostalAddress, AggregateRating emitted from homepage.
evidence: grep -oE '"@type":"[^"]*"' home.html → empty
Meta description empty
evidence: <meta name="description"> content empty
CLS 0.206
Worst layout-stability score in this audit batch. Visible page jumps on load.
evidence: audit-cwv.sh: CLS=0.206
Three H1 tags
Modern best practice is one H1 per page.
evidence: grep -oE '<h1[^>]*>[^<]*</h1>' home.html returns 3 matches
No SEO plugin
WordPress core wp-sitemap.xml is the only sitemap, indicating no Yoast/Rank Math/AIOSEO active.
evidence: Sitemap at /wp-sitemap.xml (core, not plugin)
llms.txt returns 204
Unusual response — endpoint exists but returns no content.
evidence: curl -I https://propestcontrol.org/llms.txt → 204
Two failing metrics: LCP and CLS.
Lighthouse mobile lab data, captured 2026-06-02. Google's Good zone: LCP <2.5s, FCP <1.8s, CLS <0.1, TBT <200ms.
CLS 0.206 is the worst in this audit batch
Cumulative Layout Shift measures how much content visibly jumps as the page loads. Good zone is under 0.1. At 0.206, the homepage is visibly jumping on every mobile load. Google has documented this as a ranking factor since 2021, and Nielsen Norman Group has documented conversion losses of 20-40% when CLS exceeds 0.15.
Zero structured data on a 30-year business is the biggest miss.
No SEO plugin, no Yoast or Rank Math emitting schema — just WordPress core. This is the lever that makes everything else easier.
What's missing: LocalBusiness, PestControlService, PostalAddress, OpeningHoursSpecification, AggregateRating, Review, Service.
Installing Rank Math (free) handles all of this from the setup wizard. 2-hour total investment scaffolds structured data across every page on the site — compounding across hundreds of organic queries.
Are you findable by ChatGPT, Perplexity, Google AI Overviews?
As of 2026, 22% of all search queries route through an AI surface. Visibility there is now a measurable revenue lever.
robots.txt: AI crawler access
None of 14 AI crawlers explicitly allowed.
llms.txt: citation hygiene file
/llms.txt returns HTTP 204 No Content — unusual. Should be 200 (file present) or 404 (not present). Ship a real file.
How your business appears in local search.
Body copy says 'family-owned since 1991' (verified in HTML). Phone (954) 984-9616 visible. Counties served per body copy: Broward, Miami-Dade, Palm Beach. Third-party listings (Yelp) place the office in Margate at 1441 Banks Rd — not confirmed in the homepage or contact-page HTML. Recommended to surface a full street address on the contact page.
Off-site is excellent. The gap is twofold:
- On-site schema doesn't link to GBP / BBB via
sameAs(compounds the zero-schema finding). /where-we-service/<city>-fl/location pages exist but were not audited for unique copy. Recommended: audit each page for duplicate content vs other location pages. If copy is duplicated, each page is competing with itself for ranking.
The order to do this work in.
Ranked by impact divided by effort. Estimates assume a competent WordPress developer.
| # | Action | Effort | Impact |
|---|---|---|---|
| 1 | Install Rank Math (free SEO plugin) | 1-2 hr | Very high (foundational) |
| 2 | Add LocalBusiness + PestControlService JSON-LD | 1-2 hr | Very high |
| 3 | Write meta description | 15 min | High |
| 4 | Fix CLS — width/height on every image | 2-4 hr | High |
| 5 | Collapse to single H1 | 15 min | Medium-high |
| 6 | Fix LCP — hero image optimization | 2-4 hr | High |
| 7 | Add 14 AI-crawler allows + ship llms.txt | 45 min | Medium-high |
| 8 | Audit /where-we-service/ pages for duplicate copy + add Place schema | 8-16 hr | High (long-tail + local pack) |