Audit Overview — Seaforth Boat Rentals
🔎SEO Health
Technical · Content · On-Page · Schema · Performance
56/100
⚠ Core Web Vitals all failing — LCP 3.0s, CLS 0.40, INP 250ms
⚠ 20+ images missing alt text across location cards and boat listings
→ Fix "frequenly-asked-questions" URL typo and add 301 redirect
✓ HTTPS, robots.txt, sitemap all properly configured
🤖GEO / AI Citability
AI Crawlers · llms.txt · E-E-A-T · Brand Authority
67/100
✓ llms.txt exists — AI crawlers have structured site access (78/100)
✓ AI crawler access open (88/100) — no blocking rules
→ E-E-A-T signals weak (58/100) — no author bios, expertise signals
→ Content citability low (52/100) — thin pages, no structured Q&A
📢Paid Ads
Google · Meta · TikTok
55/100
⚠ Branded campaign capped at $15/day — losing 69% of impressions
⚠ Meta Pixel fires PageView only — zero conversion events tracked
⚠ TikTok Pixel completely absent — cannot run TikTok campaigns
✓ Google Ads active — $2,538/mo, 182 conversions, $13.94 CPA
📍Google Business Profile
Local Visibility · NAP · Reviews · Hours
52/100
⚠ No GBP dashboard access — cannot verify 5 listing configs (#1 blocker)
⚠ Address typo: "Quivara" instead of "Quivira" in schema on all pages
→ No dedicated location landing pages for 5 marina locations
→ Schema hours wrong (9:00–17:00; actual is 9:30am to ~sunset)
📱Social Media
Instagram · Facebook · Twitter/X · YouTube
52/100
✓ Instagram & Facebook active with lifestyle content and UGC campaign
✓ Strong brand voice consistency (8/10) across active channels
⚠ Zero TikTok presence — critical gap for 18-35 San Diego audience
→ Twitter/X effectively abandoned (32 followers, 12 tweets in 15 years)
✍️Content
Blog · Service Pages · Keyword Coverage
2/10
⚠ Only 5 blog posts — all from Apr–Jun 2024 (10+ months stale)
⚠ 404 on /special-occasions/ — active conversion leak
⚠ Zero coverage of "boat rental San Diego" (8,100–18,000/mo searches)
→ Sailing school ($100–$1,450 ASA courses) has zero supporting content
📊Analytics Baseline
GA4 · GSC · KPI Framework · Attribution
✓ Complete
✓ GA4 property G-THB1XP30JN identified, 6 KPIs defined
✓ 6 conversion event definitions (FareHarbor, phone, gift card, etc.)
⚠ FareHarbor cross-domain tracking likely broken — P0 fix required
→ Call tracking gap — CallRail or WhatConverts recommended
Top 10 Priority Actions Across All Channels
P0 · Ads Increase Branded campaign budget from $15/day → $50–75/day — highest ROAS action in the account
P0 · Analytics Fix FareHarbor cross-domain tracking — booking CVR data is materially understated without this
P0 · Ads Tag /thank-you/ and /confirmed-reservation/ with Meta Purchase event to unlock optimization
P0 · GBP Get GBP dashboard access to verify and manage all 5 listings — #1 local SEO blocker
P0 · SEO Fix Core Web Vitals — LCP, CLS, and INP all failing; significant ranking signal impact
P1 · SEO Add alt text to 20+ images — quick 2–3 hour task with immediate accessibility + image SEO boost
P1 · Content Fix 404 on /special-occasions/ — active conversion leak, immediate revenue impact
P1 · Ads Install TikTok Pixel — cannot run TikTok campaigns at all without this
P1 · GBP Fix "Quivara" → "Quivira" typo in schema across all pages
P1 · Content Publish "Boat Rental San Diego" cornerstone page — 8,100–18,000 monthly searches uncaptured
SEO Audit — Seaforth Boat Rentals
Website: seaforthboatrental.com · Platform: WordPress + Rank Math + Elementor · April 15, 2026
50
Schema / Structured Data
Top 5 Critical Issues
Core Web Vitals — all failing — LCP ~3.0s, CLS ~0.40, INP ~250ms. Major ranking signal; must be prioritized in Q1 sprint.
20+ images missing alt text — location cards, boat listings, app badges all invisible to search crawlers and screen readers.
Misspelled FAQ URL — /frequenly-asked-questions/ (missing 'u') is canonicalized as-is; canonical error locks in the mistake.
Missing high-value schemas — No Service, Product, Review/AggregateRating, or FAQPage schema on key conversion pages.
Blog stale since June 2024 — Only 5 posts total; content marketing has halted for 10+ months.
Top 5 Quick Wins
Add alt text to 20+ missing images — 2–3 hours, immediate accessibility + image SEO improvement
Fix "San Deigo" typo in yacht rentals meta description
Create /frequently-asked-questions/ with 301 redirect from misspelled URL
Add loading="lazy" to all below-the-fold images — measurable LCP improvement in 1–2 hours
Implement AggregateRating schema to show star ratings in SERPs
Category Breakdown
| Category | Weight | Score | Status |
| Technical SEO | 25% | 60/100 | HTTPS ✓, sitemap ✓, redirect chain issue ⚠ |
| Content Quality | 25% | 60/100 | Strong service pages, stale blog, 404s ⚠ |
| On-Page SEO | 20% | 70/100 | Good title/meta implementation, one typo ⚠ |
| Schema / Structured Data | 10% | 50/100 | LocalBusiness present, missing 7 schema types |
| Performance (Core Web Vitals) | 10% | 30/100 | LCP 3.0s ✗, CLS 0.40 ✗, INP 250ms ✗ |
| Images | 5% | 30/100 | 20+ missing alt text, no lazy loading |
| AI Search Readiness | 5% | 40/100 | llms.txt present, weak structured Q&A content |
Technical SEO Details
HTTPS & Redirects: HTTP→HTTPS 301 properly configured. HTTP/2 enabled (nginx). ⚠ www. variant creates a 2-hop redirect chain — should consolidate to single hop.
Canonicalization Issues: Homepage (/) has no canonical tag — duplicate content risk. /sailboat-rental/ has no detected canonical. FAQ canonical points to misspelled URL, locking in the error.
Sitemap: https://seaforthboatrental.com/sitemap_index.xml — properly referenced in robots.txt. ✓
Robots.txt: Standard WordPress configuration, properly allows AI crawlers. ✓
GEO & AI Search Audit — Seaforth Boat Rentals
seaforthboatrental.com · AI Visibility for ChatGPT, Claude, Perplexity, Google AI Overviews · April 15, 2026
Key Findings
llms.txt exists — Seaforth has already implemented the emerging AI site structure standard. This is a meaningful head start over competitors.
AI crawlers have full access — No blocking rules in robots.txt or meta tags for GPTBot, ClaudeBot, or PerplexityBot.
Strong local GEO signals — 50-year legacy, multiple San Diego locations, and FareHarbor booking signals give good local AI citability.
E-E-A-T weak (58/100) — No author bios, no staff expertise pages, no awards or certifications prominently displayed.
Content citability low (52/100) — Pages are thin, minimal structured Q&A, no FAQ schema on most pages. AI systems struggle to extract quotable answers.
Schema gaps limiting AI structured data — Missing Review/AggregateRating, FAQPage, and Course schemas. These directly feed AI knowledge panels.
Priority GEO Improvements
Add FAQPage schema to all major service pages — enables direct AI answer extraction for "boat rental San Diego" queries
Create staff expertise page featuring instructors, captains, and the company's 50-year heritage — boosts E-E-A-T significantly
Implement AggregateRating schema pulling from Yelp/TripAdvisor reviews — critical for AI trust signals
Add Course schema for all 6 ASA sailing courses — directly cited by AI for sailing lesson queries
Expand llms.txt to include service descriptions and FAQ section — currently minimal
Paid Ads Audit — Seaforth Boat Rentals
Google Ads CID: 262-617-1421 · Meta Ads · TikTok Ads · Period: Mar 17–Apr 15, 2026
Top 5 Critical Issues
Branded campaign capped at $15/day — losing 69.2% of impressions — highest-converting campaign in the account. Needs $50–75/day immediately.
Meta Pixel fires PageView only — zero conversion events — any Meta campaigns are optimizing on traffic, not bookings. Purchase, Lead, ViewContent, and InitiateCheckout events all absent.
No Conversions API on Meta — iOS 14.5+ signal loss estimated at 20–40%; compounding the event gap above.
TikTok Pixel completely absent — an exceptionally strong-fit platform (9/10 relevance) with zero tracking infrastructure. Cannot run TikTok Ads until resolved.
Active search campaigns have minimal negative keyword coverage — 514 negatives exist but 510+ are on two paused Smart campaigns. Active campaigns are essentially unprotected.
Top 5 Quick Wins (<15 min each)
Increase Branded campaign budget to $50/day — highest ROAS action available, ~5-minute change
Add sitelinks to Branded campaign — sitelinks already exist in account but not attached to Branded
Add negatives: "promo code," "coupon," "sdyc," "junior sailing," "for sale" — stops $52+/month confirmed wasted spend
Add 7 more headlines to the Classes RSA (currently 8 of 15) — expands Google's test combinations
Tag /thank-you/ and /confirmed-reservation/ pages with Meta Purchase event — unlocks campaign optimization and ROAS measurement
Google Ads Breakdown
| Category | Weight | Score | Notes |
| Conversion Tracking | 25% | 60/100 | GA4 linked, but FareHarbor cross-domain gap |
| Wasted Spend | 20% | 65/100 | $52+/mo confirmed waste, minimal negatives on active campaigns |
| Account Structure | 15% | 60/100 | 28 of 32 campaigns paused, Branded severely underfunded |
| Keywords | 15% | 70/100 | Good coverage, broad match concerns on exact-intent queries |
| Ad Copy | 10% | 65/100 | Classes RSA only has 8/15 headlines, some weak copy |
| Landing Pages | 10% | 60/100 | FareHarbor session break loses attribution data |
| Settings | 5% | 70/100 | Good geo targeting, partner search needs review |
Platform Summary
| Platform | Score | Grade | Key Blocker |
| Google Ads | 64/100 | C | Branded campaign budget cap, negative keyword gaps |
| Meta Ads | 36/100 | F | Pixel fires PageView only — no conversion events, no CAPI |
| TikTok Ads | 39/100 | F | Zero pixel — not launch-ready; 9/10 platform fit rating |
Google Business Profile & Local SEO Audit
5 Locations: Mission Bay · Coronado · Downtown SD · Harbor Island · Loews Coronado Bay · April 15, 2026
Critical Issues
No GBP dashboard access — Cannot verify, optimize, or post to any of the 5 listings. This is the single biggest local SEO blocker. Client must grant access immediately.
Address typo in schema — "Quivara" instead of "Quivira" appears across all schema markup and contact pages. Affects NAP consistency.
Schema hours are wrong — Shows 09:00–17:00; actual hours are 9:30am to ~sunset. Incorrect hours are a critical trust signal failure.
No dedicated location landing pages — 5 distinct marina locations with no individual pages. Google cannot associate location-specific content with each GBP listing.
No review widget on website — 4.6 star Yelp and TripAdvisor ratings not displayed. Missing strong trust signal and E-E-A-T indicator.
Location Overview
| Location | Address | Landing Page | Status |
| Mission Bay (Primary) | 1641 Quivira Rd., SD 92109 | None | GBP unverified |
| Coronado – Glorietta Bay | 1715 Strand Way, Coronado | None | GBP unverified |
| Downtown San Diego | 955 Harbor Island Dr. | None | GBP unverified |
| Harbor Island East | Harbor Island area | None | GBP unverified |
| Loews Coronado Bay | 4000 Coronado Bay Rd. | None | GBP unverified |
Quick Wins (Before GBP Access)
Fix "Quivara" → "Quivira" typo in all schema markup — 30-minute fix with outsized NAP impact
Update business hours in schema to actual operating hours (9:30am to ~sunset)
Add review widget to homepage pulling from Yelp/TripAdvisor (4.6★ average)
Build location-specific landing pages for all 5 marinas — each with unique copy, map embed, and LocalBusiness schema
Social Media Audit — Seaforth Boat Rentals
Instagram · Facebook · Twitter/X · YouTube · TikTok (absent) · April 15, 2026
Strengths
Strong brand voice consistency (8/10) — welcoming, accessible, experience-first tone consistent across Instagram and Facebook
Active UGC campaign — customer-generated content feeds the Instagram presence effectively
Facebook Pixel in place — paid social infrastructure exists; needs conversion events added
Strong raw material — 50-year heritage story, beautiful on-water scenery, year-round San Diego operations
Critical Gaps
Zero TikTok presence — critical platform for 18-35 San Diego audience experiencing boat rentals and water activities
Twitter/X abandoned — 32 followers, 12 tweets over 15 years. Should be formally retired or redirected.
YouTube lacks proper channel — no dedicated brand channel; missing long-form and Shorts opportunity
Posting consistency (5/10) — no structured content calendar; posting frequency is irregular
Hashtag strategy poor (3/10) — no systematic discovery strategy; San Diego marine hashtags underutilized
Category Scores
| Category | Score | Notes |
| Profile Completeness | 6/10 | Strong on Instagram/FB; Twitter/X and YouTube incomplete |
| Posting Consistency | 5/10 | No content calendar, irregular frequency |
| Content Quality & Mix | 7/10 | Good lifestyle photography, needs more video |
| Engagement Strategy | 5/10 | No systematic response protocol or engagement goals |
| Platform Coverage | 4/10 | No TikTok, dead Twitter/X, minimal YouTube |
| Brand Voice Consistency | 8/10 | Excellent — welcoming, expert, experience-first |
| Audience Growth Indicators | 4/10 | No growth campaigns, no paid audience building |
| Review & Reputation Channels | 7/10 | Yelp/TripAdvisor active; not embedded on website |
| Hashtag & Discovery Strategy | 3/10 | Minimal, inconsistent, no research-backed approach |
| Paid Social Infrastructure | 7/10 | Pixel present; needs conversion events |
Content Audit — Seaforth Boat Rentals
seaforthboatrental.com · Blog + Service Pages · Keyword Gap Analysis · April 15, 2026
Critical Findings
Only 5 blog posts — all from April–June 2024 — 10+ months of content silence. Blog is the primary tool for capturing informational and long-tail search traffic.
404 on /special-occasions/ — active conversion leak. This page likely receives organic traffic and ad clicks; all bouncing with no fallback.
Zero coverage of "boat rental San Diego" — 8,100–18,000 monthly searches, yet no page directly targets this head term. Leaving top-of-funnel traffic on the table.
Sailing school has zero supporting blog content — ASA courses run $100–$1,450 per booking; potential $10K+/mo revenue channel with no content marketing support.
5 marina locations with zero location-specific editorial content — no "things to do near Mission Bay," no "Coronado boat rentals" — massive local SEO gap.
25+ Uncovered High-Intent Keywords (Sample)
| Keyword | Est. Monthly Volume | Intent | Priority |
| boat rental San Diego | 8,100–18,000 | Transactional | P0 |
| pontoon boat rental San Diego | 1,000–3,000 | Transactional | P0 |
| sailing lessons San Diego | 800–2,400 | Transactional | P0 |
| Mission Bay boat rental | 600–1,800 | Local | P1 |
| sunset cruise San Diego | 600–1,500 | Experiential | P1 |
| fishing charter San Diego | 500–1,200 | Transactional | P1 |
| things to do Mission Bay | 2,000–5,000 | Informational | P1 |
| ASA sailing certification San Diego | 200–600 | Transactional | P2 |
90-Day Content Calendar — Priority Articles
P0 "Best Boat Rentals in San Diego" — cornerstone page targeting head term with 8,100–18,000 monthly searches
P0 Fix 404 on /special-occasions/ — either restore page or create redirect to relevant service page
P1 "Mission Bay Boat Rentals: Complete Guide" — location page targeting local search intent
P1 "Sailing Lessons in San Diego: ASA Course Guide" — targets ASA certification searches, supports high-value course bookings
P1 "San Diego Sunset Cruise: What to Expect" — experiential content for harbor cruise bookings
P1 "Pontoon Boat Rental San Diego: Party & Group Guide" — high-margin group booking target
P2 "Things to Do on Mission Bay — Local Guide" — informational funnel entry, links to all rental services
P2 "San Diego Fishing Charter Guide: Best Spots & What to Bring" — targets fishing charter bookings
Analytics Baseline & KPI Setup — Seaforth Boat Rentals
GA4 Property: G-THB1XP30JN · FareHarbor Booking Platform · April 15, 2026
14
Tracking Checklist Items
What Was Delivered
Traffic baseline framework — Channel benchmarks, methodology, and alert thresholds for GA4 TTM reporting
6 conversion event definitions — FareHarbor booking, phone click, gift card, membership, resume submit, newsletter signup
Organic baseline — GSC query cluster breakdown: brand / rental type / location / experience / informational with health indicators
KPI framework (6 KPIs) — BCR, RPS, CPB, OBS, PLR, ABV with formulas, targets, sources, and monthly review cadence
Tracking health checklist — 14 items across P0–P3 priority tiers
Attribution assessment — DDA recommendation, FareHarbor session-break analysis, UTM hygiene requirements
KPI Framework
| KPI | Name | Source | Review Cadence |
| BCR | Booking Conversion Rate | GA4 + FareHarbor | Weekly |
| RPS | Revenue Per Session | GA4 E-commerce | Monthly |
| CPB | Cost Per Booking | Google Ads + GA4 | Weekly |
| OBS | Organic Booking Share | GA4 Channel Grouping | Monthly |
| PLR | Phone Lead Rate | CallRail / GA4 Events | Monthly |
| ABV | Average Booking Value | FareHarbor Reports | Monthly |
Critical P0 Action: FareHarbor Cross-Domain Tracking
⚠ CRITICAL — Fix Before Trusting Any Booking Data
FareHarbor operates on a separate domain (fareharbor.com). When a user clicks "Book Now" and lands on the FareHarbor checkout, GA4 creates a new session — breaking the attribution chain. Booking confirmations cannot be attributed back to the originating channel (organic, paid, social).
Impact: All booking CVR data is materially understated. Google Ads cannot optimize toward actual bookings. ROAS calculations are unreliable.
Fix: Configure FareHarbor cross-domain tracking with Seaforth's GTM container. This is a P0 item — all KPI baselines will be inaccurate until resolved.
P0–P1 Tracking Actions
P0 Configure FareHarbor cross-domain tracking in GTM — booking attribution is broken without this
P0 Add Meta Purchase conversion event on /thank-you/ and /confirmed-reservation/ pages
P0 Install TikTok Pixel via GTM — required before any TikTok campaigns can launch
P1 Implement CallRail or WhatConverts for phone call tracking — current call tracking has a gap
P1 Audit UTM hygiene across all paid campaigns — inconsistent parameters in Google Ads
P1 Configure GA4 Enhanced Measurement for scroll, file downloads, and video engagement