Rainbow Watersports

Rainbow Watersports · 07

SEO Preservation

What the business already has, and exactly how each piece survives the rebuild — not general caution, real mechanisms per asset.

ASSETS

What Exists, and How It's Protected

CriticalBacklink profile

185 linking root domains, 15 years accumulated, including press coverage (Washington Post, Smithsonian) that cannot be bought or recreated.

Every old URL that carries real backlink equity gets a 301 redirect to its new equivalent — no exceptions, verified individually, not assumed.

CriticalRedirect map

Every existing URL mapped to its new destination — core pages, all 30 blog posts, all 59 tag pages, plus explicit 410s for confirmed-discontinued content.

The complete core-page table is embedded directly below on this page. Category and date archive pages (noindex, no real backlinks) are confirmed to need no redirect — documented, not assumed.

ImportantTitle tags & meta descriptions

Existing title tags and meta descriptions for every core page, captured verbatim before the rebuild touches anything.

Carried forward as the starting point for the new site’s metadata — refined, not replaced blind.

PositiveReview profiles

Existing TripAdvisor, Yelp, and Google reviews — real accumulated trust signals tied to the business, not the website.

Unaffected by the rebuild itself — these live on the platforms, not the site. Risk is only in broken outbound links to them.

PositiveBlog content

30 real posts, 2013–2024, targeting real tourist search terms (wildlife on the river, what to wear, local events).

Every post preserved with its original slug moved under /blog/ — real titles and URLs already catalogued in Preservation Itemization.

ImportantNAP consistency

Name, Address, Phone must match exactly across the website, GBP, TripAdvisor, Yelp, Viator, and Airbnb — currently doesn’t (two addresses, three phone numbers found).

Locking one canonical version everywhere is a real, open task — not yet resolved, pending client confirmation (see Client Questionnaire).

CriticalAnalytics continuity

GA4 (G-6WXE90X597) and GTM tracking must keep working through the migration — losing historical data or breaking tracking mid-launch is a real, avoidable risk.

Same GA4 property and GTM container carried into the new site, verified firing correctly post-launch before the old site is fully retired.

CriticalFareHarbor booking continuity

The live site currently loads the FareHarbor script redundantly (4x per page) and has no re-bind logic for client-side navigation — a Next.js-specific risk that doesn’t exist on the old static site.

The `FareHarborScriptLoader` component (already built) re-runs autoLightframe() on every route change — confirmed necessary, now implemented, not just documented.

CriticalDNS / hosting migration

The actual cutover from the old host to the new one — the single highest-risk moment in the whole project if done carelessly.

Low TTL set in advance, staged rollback plan ready, done with the client present so any issue is caught immediately — not treated as a routine deploy.

ImportantStaging protection

The build lives on a staging server before launch — if Google indexes the staging URL, that creates duplicate-content risk against the real site.

noindex meta tag + robots.txt disallow on staging, confirmed before any content goes up there.

OpportunityExisting structured data

Real JSON-LD/microdata already lives on every one of the site’s 51 real pages — Organization, WebSite, BreadcrumbList, Article, BlogPosting. An earlier read of a Screaming Frog export said zero schema sitewide; that was a measurement gap (structured-data extraction wasn’t enabled on that crawl tier), not a real finding.

Diffed pre/post-launch and carried forward untouched. New commercial types — LocalBusiness, FAQPage, TouristTrip, Offer — get added on top, not built as if starting from nothing.

REDIRECT MAP

The Complete Core-Page Redirect Table

Every core-page URL, transcribed directly — not referenced out to a separate document. Blog posts (30) and tag pages (59) are catalogued in full in Preservation Itemization; this table is specifically the non-blog core pages.

Old URLNew Destination
//homepage — unchanged, critical
/more.html/lessons
/pricing-and-info/lesson-pricing.html/lessons/paddleboard
/pricing-and-info/rentals.html/rentals
/pricing-and-info/lesson-locations.html/location
/pricing-and-info/photos.html/gallery
/surf-lessons-oahu.html410 Gonesurf lessons discontinued
/surfing-lesson-waikiki.html410 Gonesurf lessons discontinued
/whale-watching-oahu.html410 Gonediscontinued, no equivalent
/dolphin-tours-oahu.html410 Gonediscontinued, no equivalent
/paddleboard-sup-yoga.html410 Gonediscontinued, no equivalent
/oahu-snorkeling-tours.html410 Gonesnorkel tours discontinued
/scuba-diving-oahu.html410 Gonenever an actual offered service
/expand-your-fun-with-kayak-tours.html/rentals/kayakworking-set service — core-page redirect, not a blog post
/testimonials.html (+ trailing-slash variant)/reviews
/frequently-asked-questions.html/faq
/contact.html/contact
/photos.html/gallery
/blog.html/blog
/home.html/
/terms-of-use.html/terms
/privacy-policy.html/privacy-policy
/refund-policy.html/refund-policy
/reservations.html (+ no-.html variant)/pricingno standalone reservations page needed
/pricing-and-info/lesson-descriptions.html/lessons/paddleboardtraced — update link at source
/fareharbor.com/rainbowwatersportsadventure/No redirect neededtraced to paddleboard-sup-yoga.html only, already 410 Gone — resolves itself

Tag pages (59 total, all currently indexable) — every /tag/[keyword] URL redirects to /blog, consolidating minor cumulative value into one place. Category and date-archive pages need no redirect at all — already correctly noindex, nothing to lose.

NOT PRESERVATION

Confirmed Gaps — Fixed, Not Kept

This one item doesn’t belong in the “preserve” category — there’s nothing to preserve here, since it never existed as a functioning signal. Documented so it’s tracked, not silently included as if it fit.

Every page shares one H1

All pages use the same H1 (the header phone number). Google can’t distinguish the SUP page from the kayak page from the homepage.