Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
261 changes: 261 additions & 0 deletions SEO_AUDIT.md
Original file line number Diff line number Diff line change
@@ -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.