Re-scored October 4, 2026 — overall score moved from 48 to 76
Nine days of implementation work landed since the original audit. Every category below was independently re-verified live against the current site (not just assumed fixed) before being re-scored. Full detail in Action Plan and the engagement's own GREENINDUSTRYTREES-MASTER-CHECKLIST.md and AI-SEO-Playbook-Checklist.md. One important correction: the original audit's "wrong business address" framing (Critical Issues #1 and #2 below) turned out to be based on an incorrect single-location assumption — this is actually a multi-location business, and both flagged addresses are real, active locations. That reframing is the single biggest driver of the Local & Maps score moving from 42 to 78.

This audit crawled and independently re-verified greenindustrytrees.com live: every finding below is backed by a direct curl request, parsed HTML/JSON-LD, a fresh screenshot, or a live SERP check taken today. The headline story is consistent across nine separate lines of analysis: this is a real, established business (24 years, confirmed by the client Oct 4, 2026; ISA Certified Arborist Daniel Arias, a genuine 5.0-star / 37-review Google Business Profile) whose website undermines that credibility with a single systemic problem — a template, cloned across roughly 50 "city" landing pages with only the city name swapped, that has propagated duplicate content. The years-in-business self-contradiction (18/20/22) is now fixed sitewide. Nothing here is a platform ceiling (this is self-hosted WordPress, fully in the client's control) — every finding is fixable without a rebuild.

Search Visibility Snapshot

Google Business Profile
5.0
37 reviews, verified live GBP
Organic Keywords (US)
385
Semrush, pulled today
Est. Organic Traffic/mo
49
Semrush estimate, US database
Best Ranking
#3
"cypress tx tree services"
"tree planting services"
#34
4,400/mo volume, $4.46 CPC — the real growth target

Pulled today via Semrush (US database): the domain ranks for 385 keywords but draws an estimated 49 visits/month, with 79.6% of that traffic concentrated on the homepage alone. The wins are genuine but hyper-local and low-volume — #3 "cypress tx tree services," #3 "daniel green tree service" (branded), #4 "cypress texas tree service," #7 "arborist cypress tx" ($11.37 CPC) — all sub-100/mo search volume. The gap is the high-volume generic terms: "tree planting services" (4,400/mo) sits at #34, "tree planting service" (3,600/mo) at #38, and a live SERP check today for "tree removal houston tx" — the single highest-intent term for this business — found greenindustrytrees.com absent from the results entirely; no page on the site targets that broad head term, only hyper-local sub-market variants (e.g. "southwest-houston"). See Local & Maps for the full ranking detail and SERP comparison against competitors who do rank.

Category Scores

Technical SEO
82
22% weight · was 68
Content Quality
72
23% weight · was 34
On-Page SEO
74
20% weight · was 42
Schema / Structured Data
90
10% weight · was 45
Performance (CWV)
78
10% weight · unchanged
AI / GEO Readiness
82
10% weight · was 42
Images
42
5% weight · was 35

Supplemental dimensions (reported on their own pages, not in the weighted score): Local SEO / GBP standing 80 (was 42), Visual & Mobile 80 (was 58), Search Experience (SXO, competitive page-type gap) 37 (not re-checked this pass, carried forward unchanged).

Critical Issues

1. A wrong business address is still live in a Google Maps embed on two indexed pages — CORRECTED Oct 4, 2026: this premise was wrong
The embedded Google Maps <iframe> on /tree-service-provider-missouri-city-tx/ and its -2 duplicate points to "3400 Bissonnet St, Houston, TX 77005" — a defunct address that has nothing to do with the current, verified 16135 Barklea Rd, Cypress location. The client confirmed directly that this is a multi-location business and Bissonnet St is a real, active second location — verified via a client-supplied document ("OWNER VERIFIED" on ChamberOfCommerce.com, 10 reviews, also listed on Manta/Bark/MerchantCircle/hub.biz, hours matching the real GBP). A WordPress edit had briefly pointed this embed away from Bissonnet St on the original wrong premise; it was reverted back once this was discovered. Not an issue. See Local & Maps.
2. The client's own 2020 citation campaign was built on a third, different address — CORRECTED Oct 4, 2026: likely also a real location, not an error
44 directories (Brownbook, Chamber of Commerce, Foursquare, eLocal, MapQuest, and more) were submitted against "1415 S Voss Rd Suite 110, Houston, TX 77057" — neither the current Cypress address nor the stale Bissonnet St address found in the map embed. The client separately confirmed Voss Rd is also a real, active location (exact current street number still being confirmed). Three addresses across this business's footprint likely reflects three real locations, not a NAP-consistency failure tied to the GBP suspension history as originally theorized — though that theory isn't fully ruled out either, since a real citation/NAP cleanup pass hasn't been run yet. See Local & Maps.
3. Six duplicate city-page pairs, both indexable, competing against each other — FIXED
The Woodlands, Sugar Land, Shenandoah, Missouri City, Mission Bend, and Pecan Grove each have two live URLs (a base slug and a -2 suffix) with byte-identical or near-identical titles, 97.9–98.8% identical body text, and neither canonicalized to the other. Both pages in every pair are actively submitted in the sitemap. All 6 pairs now 301-redirect to a single surviving URL, verified live. See Technical SEO and Content Quality.
4. ~50 city pages are one template with the city name swapped — Partial fix
Diffed across 6 geographically spread pages (Katy, Sugarland, Bellaire, The Woodlands, Tomball, Lake Charles): body text is 97.7–100% identical once the city name is normalized out. Bellaire and Tomball are byte-for-byte identical. Two pages (Sulphur, LA and Lake Charles, LA) target markets 145–150 miles outside the Cypress service area with no local presence — a textbook doorway-page pattern. Update Oct 4, 2026 (three rounds): Sulphur LA and Lake Charles LA were removed entirely (at the client's request); a third out-of-territory page, Georgetown TX (~170 miles away, missed in the original audit), was found and noindexed. Round 1: a genuinely new, unique paragraph was added to all 43 real city pages (99.8% → 91.0%). Round 2: varied the "Why Choose Us" 3-blurb section's wording (same real facts) and added a second new paragraph using real Houston-region facts (91.0% → 76.0%). Round 3 (client kept pushing to close the gap): varied all 4 remaining service-category blurb cards (previously 100% identical across every page), same real claims reworded. Similarity now 59.5%. This is real, substantial progress, not a full fix: shared site chrome and the bio/credential sidebar remain common across pages, and going further needs real local specifics (landmarks, job photos, testimonials) from the client. See Content Quality and Local & Maps.
5. Structured data tells Google the wrong hours, sitewide — FIXED
Every page's JSON-LD openingHours states 9:00 AM–5:00 PM daily. The real, verified Google Business Profile hours are 6:00 AM–9:00 PM, every day. Fixed 2026-09-29, re-verified live Oct 4, 2026: every page's schema now correctly states 6:00 AM–9:00 PM daily. See Schema.
6. The "years in business" claim contradicts itself across the site — FIXED
City pages say "Over 18 years... since 2002"; the homepage says "Over 22 years... since 2002"; one paragraph says "ISA Certified Arborist of 20 years." The client confirmed Oct 4, 2026 that "since 2002" is the real anchor fact — 24 years. Every instance (18/20/22, across 119 occurrences on 67 posts) corrected sitewide and re-verified live. See Content Quality.
7. The hero "CALL US" button doesn't call, and the header phone number isn't tappable — FIXED
Confirmed in the live HTML: the primary "CALL US" button links to the contact page, not a tel: link, and the always-visible top-bar phone number is plain text with no tel: wrapper. Both fixed and re-verified live Oct 4, 2026: the hero button and header number are both real tel:17139669955 links. See Visual & Mobile.

High Priority Issues

8. Two form-utility pages are indexable and submitted in the sitemap — FIXED
/thankyou/ and /sign-up-sms/ both carry index, follow robots meta and appear in page-sitemap.xml — neither has independent search value and the thank-you page risks letting visitors skip the contact form, breaking lead-attribution tracking. Fixed Session 1 (2026-09-29), re-verified live Oct 4, 2026: both now follow, noindex and no longer in the sitemap. See Technical SEO.
9. Every non-existent URL soft-404s to the homepage
Confirmed: any invalid path returns 301 → homepage → 200 instead of a real 404. Google Search Console will log these as Soft 404 errors and any stale citation link silently funnels to the homepage instead of surfacing as a fixable broken link.
10. Zero Service, areaServed, or Review schema despite ~60 pages built for exactly that — FIXED
The site's entire local-SEO strategy (11 service pages, ~50 city pages) has no structured-data backing, and the real 5.0/37 GBP rating is never expressed anywhere in schema. Service + areaServed schema added to all 11 service pages and 45 city pages; AggregateRating (real 5.0/37 GBP data) added to the reviews page. All verified live Oct 4, 2026. See Schema.
11. On-site reviews are stuck in July 2022
The visible review widget hasn't refreshed in over 3 years despite the GBP showing 37 reviews as of August 2026 — the strongest trust asset this business has is invisible in its current form.
12. Mobile text overflow and an overlapping button bug — Partial fix
At 390px, the top-bar address, hero subtitle, and floating CTA label all clip at the viewport edge; pinch-zoom is disabled sitewide so visitors can't compensate. On the Katy city page, a fixed "SCHEDULE AN APPOINTMENT" button renders directly on top of the page's H1/H2 — likely recurring across the ~50 templated city pages. Status (Oct 4, 2026): pinch-zoom restored sitewide, and the overlapping-button bug is fixed (traced to the sitewide BNE Flyout plugin, not Katy-specific; verified live at the original 1440×900 resolution). The 390px text-clipping issue itself hasn't been addressed. See Visual & Mobile.

Category Summaries

Technical SEO82 / 100 (was 68)

6 duplicate city-page pairs now 301-redirected and 2 indexable utility pages noindexed, both verified live. Soft-404 behavior is still unaddressed, keeping this out of "good" territory.

Content Quality72 / 100 (was 34)

The biggest mover this session, across three rounds: all 43 real city pages now carry a genuinely unique paragraph, varied "Why Choose Us" phrasing, and varied service-category blurb cards (real facts only, no fabrication) — Klein vs. Katy similarity dropped from 99.8% to 59.5%. Years-in-business is also resolved (24 years, fixed sitewide). Real progress, not full completion: the bio/credential sidebar and shared site chrome remain, and deeper local content (landmarks, testimonials, photos) still needs real client input.

On-Page SEO74 / 100 (was 42)

Fixed Oct 4, 2026 and re-verified by a fresh full-sitemap crawl (60 indexable pages): every title now ≤60 characters, unique, with keyword + location and no ALL CAPS (was 49 over-length, 15 duplicates); every meta description 110–160 characters and unique (was 11 over-length, 17 duplicates); all 43 city-page H1s now read "Tree Service in [City], TX" (were all "TREE SERVICE PROVIDER"); service, home, contact and privacy H1s rewritten with keyword + location; focus keywords set per page; redirected and deleted URLs removed from the sitemap. Still holding it back: 13 thin pages under 400 words (most service pages, reviews, gallery, contact).

Schema / Structured Data90 / 100 (was 45)

The biggest single mover: Service + areaServed schema added to all 56 service/city pages, AggregateRating added with real GBP data, the sitewide Article-type mistype corrected, LocalBusiness upgraded to HomeAndConstructionBusiness, BreadcrumbList enabled, FAQPage added to the tips page, and a stray priceRange: "jaclyn" data bug cleared — all verified live.

Performance (CWV)78 / 100 (was 62)

Found the real root cause of the caching bug (WP Fastest Cache's own hardcoded plugin code, not a stray misconfiguration) and fixed it durably without risk of being overwritten on the next cache rebuild. Resized the two oversized portfolio images too — though ExactDN's responsive delivery meant the real-world impact was smaller than the original finding implied.

Visual & Mobile80 / 100 (was 58)

Non-tappable phone numbers, a "CALL US" button that didn't call, and sitewide pinch-zoom are all fixed. The Katy page's overlapping floating-button bug — traced to the sitewide BNE Flyout plugin, not a Katy-specific issue — is now fixed too, verified live at the same 1440×900 resolution the bug was originally found at.

AI / GEO Readiness82 / 100 (was 42)

AI-crawler allowlisting deployed, ISA credential linked, IndexNow confirmed working, FAQPage schema added, tenure numbers fixed sitewide, and all 43 city pages now have a real question-style H2 + three rounds of real differentiated content — text-overlap dropped to 59.5% (from 99.8%). Passage-level citability is meaningfully better, though still short of the ideal word-count band.

Local & Maps80 / 100 (was 42)

The single biggest reframing in this re-score: the original "three conflicting addresses" finding was itself based on a wrong single-location assumption. This is a real multi-location business — Bissonnet St is a confirmed, client-documented active second location, not an error. The two out-of-territory doorway pages (plus a third found later, Georgetown TX) are removed/noindexed. Voss Rd's exact address and a real NAP/citation cleanup are still open.

Action Plan39 items

Sequenced roadmap: stop the address/hours/schema bleeding first, consolidate duplicate pages next, then rebuild the city-page content layer with genuine local substance.

Top Highest-Impact Fixes

#FixExpected ImpactEffort
1Fix the stale Google Maps embed on the Missouri City pages — SUPERSEDED, Oct 4 2026Not an issue: Bissonnet St is a confirmed real, active second business location, not a defunct address. The embed correctly points to it.N/A
2Correct or remove the 44 wrong-address directory citations — Re-scoped, not yet startedThe "wrong address" premise was itself wrong (multi-location business) — this needs re-triaging against 3 confirmed real locations, not a blanket correct-to-one-address pass. Still pending Voss Rd's exact confirmed street number from the client.Medium
3301 the 6 duplicate city-page pairs into their base URLs — DONEStops keyword cannibalization; consolidates link equity onto one URL per cityDone, verified live
4Fix the JSON-LD openingHours — DONE; the years-in-business copy sitewide — DONERemoves two direct fact-conflicts an AI system or rich result could surface incorrectlyBoth done, verified live
5Make the hero "CALL US" button and header phone number real tel: links — DONERemoves friction from the primary mobile conversion pathDone, verified live
6Publish LocalBusiness, Service, areaServed, and AggregateRating JSON-LD — DONEBacks the site's entire local-SEO strategy with structured data for the first timeDone, 56 pages, verified live
7Rewrite the ~50 city pages with genuine unique local content — Partial: real differentiated paragraph added to all 43 pages (91% similarity, was 99.8%); deeper local content (landmarks, testimonials, photos) still openThe biggest growth lever: turns doorway pages into pages that can actually rank and be citedHigh
8Build a page targeting the broad "Houston tree removal" head term — Still OpenCurrently invisible for the single highest-intent query in the marketHigh

What's Working Well

  • Genuinely strong Google Business Profile: 5.0 stars across 37 reviews, verified live
  • 24 years in business (confirmed by the client Oct 4, 2026, now consistent sitewide) with a real, named, ISA Certified Arborist (Daniel Arias, Credential ID TX-4490A)
  • Fully server-rendered WordPress site — no JS-gating, no platform ceilings; every finding in this audit is fixable in-place
  • Single canonical host, HTTPS enforced correctly, no mixed content, no JS-rendering risk
  • Excellent server response time: ~150ms average TTFB across every page tested today
  • ExactDN image delivery is well-configured: WebP negotiation, responsive srcset, lazy-loading, and long CDN cache lifetimes all confirmed working
  • AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, etc.) are fully unblocked, and the entity graph stays unified across all 45 city pages despite the content problems
  • Desktop rendering is clean, professional, and on-brand across every page template tested