Prioritized Action Plan
39 items, sequenced: fixes that stop active harm come first
39 items
The good news: nothing here requires a rebuild
This is a self-hosted WordPress site the client fully controls — every finding in this audit is a configuration, content, or code fix, not a platform ceiling. The two items that matter most (the stale Google Maps embed and the wrong-address citation campaign) are directly connected to this business's documented GBP suspension history and should not wait behind anything else.Roadmap
Days 1-3: Stop the Bleeding
A few hours of WordPress/Rank Math edits
Fix or remove the Google Maps iframe on the Missouri City pages showing the stale 3400 Bissonnet St address— SUPERSEDED Oct 4, 2026: Bissonnet St is a confirmed real, active second location, not stale. Not an issue.Wrap the top-bar phone number in tel: and fix the hero "CALL US" button to actually dial— DONE, verified liveFix the JSON-LD openingHours (9am-5pm → 6am-9pm) sitewide— DONE, verified livePick one true "years in business" number and fix it everywhere it appears (currently 18/20/22/implied-24)— DONE: client confirmed 24 years (since 2002), fixed sitewide Oct 4, 2026Set /thankyou/ and /sign-up-sms/ to noindex and confirm they drop from the sitemap— DONE, verified liveRemove maximum-scale=1.0, user-scalable=0 from the viewport meta tag— DONE, verified live
Week 1: Consolidate and Correct
Cleanup, then verification
- 301-redirect the 6 duplicate city-page pairs (-2 suffix) into their base URLs; remove the redirected URLs from the sitemap
- Audit and re-claim the 44 directory citations built on the wrong "1415 S Voss Rd" address
- Fix the site-wide soft-404 behavior (invalid URLs currently 301 to the homepage and return 200)
- Publish the corrected LocalBusiness JSON-LD (streetAddress, geo, hours, areaServed, aggregateRating) from the Schema page
- Fix the mobile text-overflow bug (top bar, hero slider, floating CTA clipping at 390px)
- Fix the overlapping "Schedule an Appointment" button on city pages
Weeks 2-6: Rebuild the Content Layer
Where the growth comes from
- Decide/resolve the two out-of-territory Louisiana pages (establish genuine presence or remove/noindex)
- Rewrite the highest-traffic city pages with genuine local content: neighborhoods, species/soil notes, local testimonials and photos
- Build a page targeting the broad "Houston tree removal" head term — currently invisible for the single highest-intent query in the market
- Expand the thin service pages toward the ~800-word floor with real process detail and FAQs
- Add Service + areaServed schema to every service and city page
- Add a real About/Team page linking Daniel Arias's ISA credential to a verification source
- Refresh the on-site reviews display and add AggregateRating schema reflecting the real 5.0/37 GBP rating
Months 2-3: Depth & Authority
Compounding work
- Turn /tree-maintenance-tips/ into real, dated, single-topic blog posts; add FAQPage schema
- Add unique alt text to gallery photos (236 of 260 currently share two generic strings)
- Resize the two oversized portfolio images; fix the HTML caching header; add security headers
- Re-run a competitive SERP check against the three benchmark queries in Local & Maps to measure movement
Critical (fix immediately)
| # | Action | Where | Effort |
|---|---|---|---|
| C1 | Divi page builder, both Missouri City URLs | N/A | |
| C2 | WordPress redirect rule + Rank Math | Done, verified live | |
| C3 | Rank Math Local SEO settings | Done, verified live | |
| C4 | Theme template + city-page content | Done, verified live | |
| C5 | Divi header module | Done, verified live | |
| C6 | Audit and correct the 44 directory citations built against the wrong Voss Rd address — RE-SCOPED: Voss Rd is a real location, not wrong | Citation-by-citation, per the Legitt report | Waiting on confirmed Voss Rd address |
| C7 | Content + indexing decision | Done, verified live |
High (within 1-2 weeks)
| # | Action | Where | Effort |
|---|---|---|---|
| H1 | Set /thankyou/ and /sign-up-sms/ to noindex, follow; confirm sitemap drop | Rank Math per-page SEO panel | 10 min |
| H2 | Fix site-wide soft-404 behavior (invalid URLs currently redirect to homepage as 200) | .htaccess / redirect plugin | 1 hr |
| H3 | Add security headers: HSTS, X-Content-Type-Options, X-Frame-Options/CSP, Referrer-Policy | Server / .htaccess | 1 hr |
| H4 | Publish Service schema on all 11 service pages; areaServed on surviving city pages | Rank Math per-page schema field | 3-4 hr |
| H5 | Add AggregateRating schema (5.0/37) to the reviews page and homepage | Rank Math / custom snippet | 30 min |
| H6 | Refresh the on-site reviews widget — currently stuck at July 2022 | WP Google Places Review Slider settings | 30 min - 2 hr depending on sync method |
| H7 | Fix the mobile text-overflow bug (top bar, hero subtitle, floating CTA clipping at 390px) | Divi responsive CSS | 2-3 hr |
| H8 | Fix the overlapping "Schedule an Appointment" button on city pages | Divi floating-button positioning | 1-2 hr |
| H9 | Remove maximum-scale=1.0, user-scalable=0 from the viewport meta tag | Theme header | 5 min |
| H10 | Add streetAddress + geo coordinates to the LocalBusiness schema | Rank Math Local SEO settings | 15 min |
| H11 | Build a page targeting the broad "Houston tree removal" head term | New page, real content | Medium |
Medium (within 1 month)
| # | Action | Notes |
|---|---|---|
| M1 | Rewrite the highest-traffic city pages with genuine local content | Local landmarks, species/soil notes, local testimonials and photos — 150-250 words minimum per page |
| M2 | Correct the Article→WebPage/Service schema misapplication | Rank Math global schema-type default |
| M3 | Add BreadcrumbList schema across city and service pages | Reflects the real site hierarchy |
| M4 | Upgrade LocalBusiness type to HomeAndConstructionBusiness | Closest valid schema.org subtype for this vertical |
| M5 | Resize/re-compress the two oversized portfolio JPEGs (495KB/475KB) | ~750-900KB off a full homepage load |
| M6 | Fix the HTML no-store cache-control header; preload the hero/LCP image; defer Gravity Forms JS | Server + theme header |
| M7 | Expand the thin service pages toward the 800-word floor | /tree-removal-services/ (383w), /tree-services-cypress-tx/ (247w) |
| M8 | Turn /tree-maintenance-tips/ into real, dated blog posts; add FAQPage schema | Split 11 crammed topics into single-topic posts |
| M9 | Add unique alt text/captions to gallery photos | 236 of 260 currently share two generic strings |
| M10 | Add a real About/Team page; link the ISA credential (TX-4490A) to a verification source | Daniel Arias bio + photo |
| M11 | Add indicative pricing ranges to service/city pages | Currently zero pricing signals anywhere on the site |
| M12 | Fix the schema author entity name ("danny" → "Daniel Arias, ISA Certified Arborist") | WordPress user profile display name |
| M13 | Add YouTube channel to sameAs | Homepage already embeds a VideoObject-marked video from that channel |
| M14 | Publish a real llms.txt file | Business description, services, service area, links to canonical pages |
Low (backlog)
- 301 case-sensitive URL variants to their lowercase canonical instead of relying on the canonical tag alone
- Update the footer's http://www.wabuweb.com link to https://
- Enable Rank Math's IndexNow integration for faster Bing/Yandex re-crawl after the city-page cleanup
- Rename or document local-sitemap.xml's KML-only content so it isn't mistaken for a broken local-page sitemap
- Re-host the hotlinked "five-stars" badge image locally/via ExactDN instead of an unrelated third-party domain
- Fix "isFamilyFriendly": "True" to a proper boolean in the homepage VideoObject schema
Expected Sequence and Outcomes
After Days 1-3 + Week 12-4 weeks
- Stale-address risk resolved; NAP consistent everywhere Google can see it
- Duplicate city pages consolidated; crawl budget and link equity no longer split
- Mobile visitors can actually tap-to-call — the primary conversion path is unblocked
- Schema tells the truth: correct hours, correct address, real rating
After Weeks 2-6 + Months 2-360-120 days
- City pages carry genuine local content instead of a swapped-name template
- First visibility for the broad "Houston tree removal" query
- The real 5.0/37 GBP rating visibly reinforces every money page
- Rich-result eligibility from Service, areaServed, and AggregateRating schema