Audit captured 2026-06-02

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).

Lighthouse Mobile
56Poor — Good = 90+
Largest Contentful Paint
8.52sPoor — 3.4x Good cutoff
Schema status
NoneZero JSON-LD types
Off-site authority
4.9★ / 500+per third-party WebSearch

Domain: propestcontrol.org · Business: Pest control + fertilization · 30 years · Service area: Broward · Miami-Dade · Palm Beach (per body copy)

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.
38
Overall SEO Health
Critical — multiple urgent fixes
Technical SEO
40
Content quality
60
On-page SEO
30
Structured data
10
Performance / CWV
25
AI search readiness
35
Local SEO
60
01 · TL;DR

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.

02 · Top must-do this week

Eight fixes. The first three address the schema absence — the single biggest issue.

Priority order. In this sequence.

30 years of trade authority is on the line. Most of the missing infrastructure here is one-time plugin install + 2 hours of configuration.

#ActionWhy it mattersEffort
1Install 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)
2Add 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)
3Write 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
4Fix 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
5Collapse 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
6Fix LCP — hero image optimization. WebP, srcset, fetchpriority, preload.At 8.5s LCP on mobile, you're losing visitors before content renders.2-4 hr
7Add 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
8Audit /where-we-service/-fl/ pages. Each should have unique copy (no copy-paste between Fort Lauderdale, Margate, etc.), unique H1, and its own Place schema.Currently leaving long-tail + local-pack signal on the floor across multiple cities.8-16 hr
03 · Technical SEO

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

CMSWordPress
SEO pluginNone detected (using wp core sitemap)
HostingBluehost shared (host-header confirmed)
Web serverApache
Crawler issueMod_Security returns 406 to default UAs
01 CRIT

Zero JSON-LD structured data

No LocalBusiness, PestControlService, PostalAddress, AggregateRating emitted from homepage.

evidence: grep -oE '"@type":"[^"]*"' home.html → empty

Fix: Install Rank Math (free), enable LocalBusiness + PestControl Service schema templates.
02 CRIT

Meta description empty

evidence: <meta name="description"> content empty

Fix: Write 150-160 chars per page. Lead with '30 years' + '500+ Google reviews' + service area.
03 CRIT

CLS 0.206

Worst layout-stability score in this audit batch. Visible page jumps on load.

evidence: audit-cwv.sh: CLS=0.206

Fix: Add width + height (or aspect-ratio) to every image. Reserve space for embeds and ads.
04 WARN

Three H1 tags

Modern best practice is one H1 per page.

evidence: grep -oE '<h1[^>]*>[^<]*</h1>' home.html returns 3 matches

Fix: Keep the most descriptive. Demote others to h2.
05 WARN

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)

Fix: Install Rank Math (free) and run setup wizard.
06 INFO

llms.txt returns 204

Unusual response — endpoint exists but returns no content.

evidence: curl -I https://propestcontrol.org/llms.txt → 204

Fix: Ship a real llms.txt or return 404.
04 · Performance / Core Web Vitals

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.

56
Lighthouse Score
8.52s
LCP
0.206
CLS
!

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.

05 · Structured data (Schema.org)

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.

07 · Local SEO

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:

  1. On-site schema doesn't link to GBP / BBB via sameAs (compounds the zero-schema finding).
  2. /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.
08 · Prioritized roadmap

The order to do this work in.

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

#ActionEffortImpact
1Install Rank Math (free SEO plugin)1-2 hrVery high (foundational)
2Add LocalBusiness + PestControlService JSON-LD1-2 hrVery high
3Write meta description15 minHigh
4Fix CLS — width/height on every image2-4 hrHigh
5Collapse to single H115 minMedium-high
6Fix LCP — hero image optimization2-4 hrHigh
7Add 14 AI-crawler allows + ship llms.txt45 minMedium-high
8Audit /where-we-service/ pages for duplicate copy + add Place schema8-16 hrHigh (long-tail + local pack)