Managing SEO Metadata

Strategies for dynamic SEO using Next.js Metadata API. Use to generate social share cards and search-engine-friendly titles for tours.

majiayu000 Updated 567 repo stars

File contents

SEO and Metadata Strategy

When to use this skill

  • Any page intended for public discovery (Tours, Destinations, Blog).
  • Creating dynamic OpenGraph (OG) images for social media sharing.

Workflow

  • Use export const metadata for static pages.
  • Use export async function generateMetadata for dynamic routes (tours/[id]).
  • Fetch the tour data inside generateMetadata to populate tags.

Example (Dynamic Metadata)

export async function generateMetadata({ params }): Promise<Metadata> {
    const { id } = await params;
    const tour = await TourService.getById(id);

    return {
        title: `${tour.title} | Tourly`,
        description: tour.description.substring(0, 160),
        openGraph: {
            images: [tour.images[0]],
        },
    };
}

Instructions

  • Memoization: Next.js automatically deduplicates fetch requests between generateMetadata and your Page component.
  • Defaults: Set a global title.template in root layout.tsx (e.g., %s | Tourly).
  • Canonical: Always include canonical URLs to prevent duplicate content issues.

majiayu000/claude-skill-registry-data/tree/main/data/managing-seo-metadata commit 6bb8998128

Frequently asked questions

npx skillmds@latest add majiayu000/managing-seo-metadata