The correct parent hub page structure is the Trinidad pattern:
src/app/[jurisdiction]-real-estate-platform/page.tsx
The parent hub route file is the source of truth for that URL. It owns the page metadata, schema, route/path arrays, FAQ copy, workflow copy, and JSX render structure directly.
Family pages remain data-driven:
src/app/[family-page]/page.tsx
-> src/components/marketing/[Jurisdiction]SeoPage.tsx
-> src/lib/marketing/[jurisdiction]SeoMarketingPages.ts
Edit the route file directly:
src/app/trinidad-real-estate-platform/page.tsx
src/app/barbados-real-estate-platform/page.tsx
src/app/bahamas-real-estate-platform/page.tsx
Do not expect parent hub copy to come from src/lib/marketing/*SeoMarketingPages.ts unless that route is intentionally refactored back into a data-driven pattern.
Edit the jurisdiction data file:
src/lib/marketing/[jurisdiction]SeoMarketingPages.ts
Those pages render through:
src/components/marketing/[Jurisdiction]SeoPage.tsx
src/app/trinidad-real-estate-platform/page.tsxsrc/app/barbados-real-estate-platform/page.tsxsrc/app/bahamas-real-estate-platform/page.tsxThese parent hub routes still need to be converted carefully by moving the currently rendered market component content into the route file, preserving copy, metadata, schema, hero, paths, workflow sections, FAQ, and links:
src/app/antigua-and-barbuda-real-estate-platform/page.tsxsrc/app/belize-real-estate-platform/page.tsxsrc/app/bermuda-real-estate-platform/page.tsxsrc/app/british-virgin-islands-real-estate-platform/page.tsxsrc/app/cayman-islands-real-estate-platform/page.tsxsrc/app/dominica-real-estate-platform/page.tsxsrc/app/grenada-real-estate-platform/page.tsxsrc/app/guyana-real-estate-platform/page.tsxsrc/app/saint-kitts-and-nevis-real-estate-platform/page.tsxsrc/app/saint-lucia-real-estate-platform/page.tsxsrc/app/saint-vincent-and-the-grenadines-real-estate-platform/page.tsxJamaica should be audited separately before changing because it may already have a different hand-authored structure.
Do not delete src/components/marketing/[Jurisdiction]SeoPage.tsx; those are family-page render components and are still live.
Only delete parent-only components after confirming they are not imported anywhere else, such as:
src/components/marketing/[Jurisdiction]MarketPage.tsx
Do not remove src/lib/marketing/[jurisdiction]SeoMarketingPages.ts because family pages and sitemap/authored route code still depend on those files.
After each parent route conversion:
[Jurisdiction]MarketPage import.npm run build before merging.Parent hub URL
-> src/app/[jurisdiction]-real-estate-platform/page.tsx
Family page URL
-> src/app/[family-page]/page.tsx
-> src/components/marketing/[Jurisdiction]SeoPage.tsx
-> src/lib/marketing/[jurisdiction]SeoMarketingPages.ts
This prevents the exact confusion where a parent page is edited in src/lib/marketing but rendered from a separate hardcoded route or component file.