diff --git a/METADATA_README.md b/METADATA_README.md new file mode 100644 index 000000000..c9ac13bcc --- /dev/null +++ b/METADATA_README.md @@ -0,0 +1,275 @@ +# Dynamic Metadata & SEO System + +This document explains how to use the new dynamic metadata and SEO system for the Boundless project. + +## Overview + +The system provides dynamic metadata generation for different pages and blog functionality, ensuring optimal SEO performance across the entire application. + +## Features + +- **Dynamic Page Metadata**: Each page gets unique, SEO-optimized metadata +- **Blog Support**: Specialized metadata handling for blog posts +- **Structured Data**: JSON-LD structured data for better search engine understanding +- **Sitemap Generation**: Automatic sitemap creation +- **Robots.txt**: Proper crawler control +- **Open Graph & Twitter Cards**: Social media optimization + +## File Structure + +``` +lib/ +├── metadata.ts # Core metadata configuration and generation +├── structured-data.ts # JSON-LD structured data utilities +app/ +├── sitemap.ts # Dynamic sitemap generation +├── robots.ts # Robots.txt configuration +└── (landing)/ + ├── layout.tsx # Landing layout with home page metadata + ├── about/page.tsx # About page with dynamic metadata + ├── projects/page.tsx # Projects page with dynamic metadata + ├── blog/ + │ ├── page.tsx # Blog listing with dynamic metadata + │ └── [slug]/page.tsx # Individual blog posts with dynamic metadata + └── ... # Other pages with dynamic metadata +components/ +└── waitlist/ + └── WaitlistForm.tsx # Client Component for interactive form +``` + +## Usage + +### Basic Page Metadata + +For any landing page, simply import and use the `generatePageMetadata` function: + +```tsx +import { Metadata } from 'next'; +import { generatePageMetadata } from '@/lib/metadata'; + +export const metadata: Metadata = generatePageMetadata('about'); + +const AboutPage = () => { + return
- Boundless -
-- We'll let you know when Boundless is ready -
-- By joining, you agree to receive updates from Boundless. Learn more in - our{' '} - - Privacy policy - - . -
-