diff --git a/SEO_AUDIT.md b/SEO_AUDIT.md new file mode 100644 index 0000000..bda2e04 --- /dev/null +++ b/SEO_AUDIT.md @@ -0,0 +1,261 @@ +# HydroSeal Technical + Local SEO Audit (Repository Crawl Simulation) + +## Overall SEO Score +**6.4 / 10** + +--- + +## 1) Simulated Google Crawl Map (Repository-Based) + +### Crawl assumptions +- Site uses extensionless internal links and Vercel rewrites (`/:path* -> /:path*.html`) with `.html -> clean URL` redirects. +- Primary discoverability should come from rendered HTML links + XML sitemap. + +### Crawl tree (authority flow from homepage) + +``` +/ (home) +├── /paver-sealing/ +│ ├── /paver-sealing/driveways/ +│ ├── /paver-sealing/pool-decks/ +│ └── /paver-sealing/travertine-sealing/ +├── /commercial/hoa-communities/ +├── /commercial/apartment-complexes/ +├── /commercial/builders-new-construction/ +├── /commercial/retail-centers/ +├── /commercial/office-buildings/ +├── /service-areas/st-johns-county/ +│ ├── /service-areas/st-johns-county/nocatee/ +│ ├── ... (other St. Johns neighborhood pages) +├── /service-areas/duval-county/ +│ ├── /service-areas/duval-county/jacksonville-beach/ +│ ├── ... (other Duval neighborhood pages) +├── /service-areas/clay-county/ +│ ├── /service-areas/clay-county/fleming-island/ +│ ├── ... (other Clay neighborhood pages) +├── /care-program/ +├── /warranty/ +└── /get-a-quote/ +``` + +### Orphans / weakly discoverable URLs +- Orphaned from internal link graph (only discoverable by sitemap or direct URL): + - `/about/` + - `/faq/` + - `/paver-sealing/commercial/` + - `/service-areas/wildlight/` + - `/service-areas/yulee/` +- Weak internal authority: many neighborhood pages have only county-hub + global nav/footer inlinks and little contextual cross-linking. + +### Crawl frequency risk +- County hubs and home likely recrawled frequently (many links). +- Orphan pages and weakly linked out-of-market service pages (Yulee/Wildlight) likely recrawled less often. + +--- + +## 2) Site Architecture Analysis (Local Topical Cluster Strength) + +### Strengths +- Clear service-area hierarchy by county (`st-johns-county`, `duval-county`, `clay-county`). +- Strong service-intent pages under `/paver-sealing/`. +- Lots of location-specific long-tail targets in neighborhood pages. + +### Structural weaknesses +- No explicit Jacksonville city hub page (core city intent is spread across homepage + Duval/neighborhood pages). +- Commercial hub page exists but is under-linked and not in sitemap. +- About + FAQ exist but are not in core nav/footer pathways, limiting E-E-A-T signal distribution. +- Cross-county / cross-city lateral linking is thin (silo leakage and weak geo reinforcement). + +--- + +## 3) Technical SEO Audit (Tag-Level) + +### Global positives +- Most pages have title, description, robots, canonical, OG, Twitter, and JSON-LD. +- Robots allows crawl and points to sitemap. + +### Critical mistakes found +1. **`/commercial/` missing canonical, robots, OG, Twitter tags.** +2. **`/paver-sealing/commercial/` missing canonical, robots, OG, Twitter tags.** +3. **`/paver-sealing/travertine-sealing/` canonical points to wrong slug (`/travertine-sealing-ponte-vedra/`) and lacks OG/Twitter.** +4. **Canonical format inconsistency:** many non-index pages use no trailing slash while sitemap uses trailing slash (normalizable, but inconsistent). +5. **Sitemap omits `/commercial/` and `/paver-sealing/commercial/`.** + +### On-page checks summary +- H1 usage: generally one H1 per page. +- Alt text: present on sampled pages and broad scan found no missing `alt` attributes. +- Structured data: high usage (WebPage, Breadcrumb, LocalBusiness/Service/FAQ patterns). + +--- + +## 4) Local SEO Signal Audit + +### Strong signals +- City/service keywords in many titles (`Paver Sealing {City} FL`). +- County pages and neighborhood pages provide strong local relevance. +- LocalBusiness + Service schema present on location pages. + +### Weak local signals +- NAP incompleteness on schema: no full street address in sampled LocalBusiness JSON-LD. +- Footer includes phone/email/hours but no physical address. +- Limited internal links between nearby neighborhoods (e.g., Nocatee ↔ Ponte Vedra ↔ Palm Valley paths not strongly editorial). +- Commercial pages have weak geo modifiers in titles and metadata. + +--- + +## 5) Doorway Page Risk Analysis + +### Risk level: **Moderate (not extreme)** +- Neighborhood pages follow highly repeated template structures (same sectional layout, similar FAQs/bullets). +- Many pages are still differentiated by local references, but some appear lightly localized. +- Risk is higher for pages with minimal unique entities (landmarks, neighborhood characteristics, project references, local proof). + +### Pages with higher risk profile +- Large blocks of county neighborhood pages with similar content framework and similar CTA blocks. +- Yulee/Wildlight are outside core county cluster and weakly integrated internally. + +--- + +## 6) Internal Link Authority Flow + +### Who gets most authority +- Home, county hub pages, quote page, warranty/care pages. + +### Who gets least +- About, FAQ, wildlight/yulee, paver-sealing/commercial. + +### Anchor text quality +- Navigation anchors are clear and intent-based. +- Lacking contextual in-body links from service pages to top location targets and vice versa. + +### Better model (recommended) +- Home → 3 county hubs + Jacksonville hub + core services. +- County hub → top 3-5 money neighborhoods first, then full directory. +- Each neighborhood page → “nearby areas” (3–5 related internal links) + one service link + county hub. + +--- + +## 7) Content Strength Analysis + +### Strengths +- Good breadth of coverage for services and neighborhoods. +- FAQ schema and trust language are consistently present. + +### Gaps suppressing performance +- Commercial vertical content is too thin/under-optimized (titles and metadata are weak). +- Missing “proof” modules on many location pages (project examples, before/after references, named neighborhoods/landmarks). +- Limited county-level topical support content (e.g., “how climate affects pavers in X county”). + +--- + +## 8) Conversion Signal Analysis + +### Strong conversion elements +- Prominent phone CTA in header and mobile callbar. +- Quote page linked globally. +- Trust cues (licensed/insured, certification, warranty) in trustbar/footer. + +### Weak conversion opportunities +- Some location pages could better surface social proof above the fold. +- About/FAQ are not linked prominently, reducing trust reinforcement in conversion path. + +--- + +## 9) Sitemap + Indexing Analysis + +### Findings +- `robots.txt` is open and points to sitemap. +- Sitemap is broad but **missing two live pages**: `/commercial/` and `/paver-sealing/commercial/`. +- URL style consistency issue (trailing slash in sitemap vs mixed canonicals). +- Rewrites in `vercel.json` mitigate extensionless URL risks. + +### Indexing risk summary +- Medium risk for metadata-incomplete pages + sitemap omissions. +- Lower risk for core county/service pages due strong internal links and sitemap presence. + +--- + +## 10) Local Dominance Strategy (Jacksonville, St. Johns, Nocatee, Ponte Vedra, Clay) + +### Authority hubs +1. Homepage (`/`) for brand + broad service region intent. +2. County hubs: + - `/service-areas/duval-county/` + - `/service-areas/st-johns-county/` + - `/service-areas/clay-county/` +3. Service hub: + - `/paver-sealing/` + +### Ranking targets +- Jacksonville-intent pages (build/strengthen dedicated Jacksonville hub). +- Nocatee, Ponte Vedra, Jacksonville Beach, Fleming Island, Orange Park neighborhood pages. +- Core service pages (driveways, pool decks, travertine). + +### Supporting pages +- FAQ, About, Care Program, Warranty, commercial vertical pages. + +### Execution model +1. Fix indexability/meta defects first. +2. Strengthen hub→target→support internal links. +3. Add unique local proof blocks to high-value neighborhood pages. +4. Build Jacksonville-specific authority hub and link it from header/footer + county pages. + +--- + +## Top 10 Ranking Blockers (P0/P1/P2) + +1. **P0:** `/commercial/` missing canonical/robots/OG/Twitter (indexing + sharing quality hit). +2. **P0:** `/paver-sealing/commercial/` missing canonical/robots/OG/Twitter and weak discoverability. +3. **P0:** Wrong canonical on travertine page can consolidate signals to wrong URL. +4. **P1:** Sitemap missing `/commercial/` and `/paver-sealing/commercial/`. +5. **P1:** Orphan pages (`/about/`, `/faq/`, `/wildlight/`, `/yulee/`, `/paver-sealing/commercial/`). +6. **P1:** No Jacksonville city hub despite being primary market. +7. **P1:** Weak internal contextual links between adjacent neighborhoods/cities. +8. **P2:** Canonical trailing-slash inconsistency across many pages. +9. **P2:** LocalBusiness schema lacks full postal address details. +10. **P2:** Commercial titles/meta are weakly geo-targeted and less competitive. + +--- + +## Top 10 Fastest Ranking Improvements + +1. Add missing canonical/robots/OG/Twitter to `/commercial/`. +2. Add missing canonical/robots/OG/Twitter to `/paver-sealing/commercial/`. +3. Correct travertine canonical to actual URL. +4. Add `/commercial/` and `/paver-sealing/commercial/` to sitemap. +5. Add footer/header links to `/about/` and `/faq/`. +6. Add internal links to Yulee/Wildlight from `/service-areas/`. +7. Standardize canonical format (choose trailing slash everywhere). +8. Add Jacksonville hub page and link from nav + county pages. +9. Add “Nearby Areas” link modules on neighborhood pages. +10. Strengthen commercial page titles/metas with Jacksonville + county modifiers. + +--- + +## Pages Most Likely to Rank Soon +- `/` +- `/paver-sealing/driveways/` +- `/paver-sealing/pool-decks/` +- `/service-areas/st-johns-county/` +- `/service-areas/st-johns-county/nocatee/` +- `/service-areas/st-johns-county/ponte-vedra/` +- `/service-areas/duval-county/` +- `/service-areas/clay-county/` + +## Pages at Risk of Not Indexing / Underperforming +- `/commercial/` +- `/paver-sealing/commercial/` +- `/about/` (orphan) +- `/faq/` (orphan) +- `/service-areas/wildlight/` (orphan + weak cluster fit) +- `/service-areas/yulee/` (orphan + weak cluster fit) + +## Doorway-Page Risk Warnings +- Large-scale neighborhood templates need stronger unique local entities/proof to avoid “near-duplicate local doorway” classification. + +## Safe Execution Order (low regression) +1. Metadata/indexing fixes (canonicals, robots, OG/Twitter, sitemap). +2. Internal linking fixes (about/faq + orphan service pages + nearby area modules). +3. Jacksonville hub creation and hub-linking updates. +4. Content uniqueness expansion on top 10 location targets. +5. Commercial vertical content strengthening and local proof insertion.