agentsclimarketplace

Seo metadata

Skill mvstepanek/nextjs-ecommerce-seo-skills/global-skills/seo-metadata

SEO metadata rules for Next.js pages. Use when creating or modifying page metadata, title tags, meta descriptions, Open Graph tags, canonical URLs, or Twitter cards.From its SKILL.md

Install
npx -y skills add mvstepanek/nextjs-ecommerce-seo-skills --skill seo-metadata

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.6 KB, 838 tokens by cl100k_base, as published. Nobody here has run it

SEO Metadata Guidelines (Next.js)

Compatible with Next.js 15.x/16.x, App Router and Pages Router. Code examples use App Router conventions — for Pages Router, use next/head with getStaticProps/getServerSideProps.

Follow these rules when creating or modifying page metadata.

Title Tags

  • Keep concise — Google truncates to fit device width, typically ~50-60 characters on desktop
  • Format: {Page Content} | {Brand Name} — put the most important words first
  • Must be unique per page — no two pages should share the same title
  • Dynamic pages: use generateMetadata (App Router) or next/head with SSR/SSG data (Pages Router) to create titles from data

Meta Description

  • Keep concise — Google may truncate long snippets. No official limit, but focus on making them unique and relevant.
  • Include a call-to-action where relevant ("Buy online", "Learn more", "Get started")
  • Must be unique per page
  • Summarize the page value — what will the user find on this page?

Canonical URLs

  • Every indexable page MUST have a canonical URL
  • Must be absolute — include full protocol + domain
  • Self-referencing — a page's canonical should point to itself
  • Pagination: page 1 canonical has no ?page=1; subsequent pages should have a self-referencing canonical
  • Filter params: set the canonical to the base URL without filters

Open Graph Tags

Required on every page:

TagRule
og:titleSame as or adapted from title tag
og:descriptionSame as meta description
og:urlMust match canonical URL exactly
og:typewebsite (or product, article as appropriate)
og:imageRepresentative image, min 1200x630px
og:site_nameYour site/brand name

Twitter Card Tags

TagRule
twitter:cardsummary_large_image (for pages with images) or summary
twitter:titleSame as og:title
twitter:descriptionSame as og:description

Next.js Implementation

Dynamic pages (App Router: generateMetadata, Pages Router: next/head + SSR):

export async function generateMetadata({ params }: Props): Promise<Metadata> {
  const data = await getData(params.id);
  return {
    title: `${data.name} | Brand`,
    description: data.summary,
    alternates: { canonical: `${siteConfig.url}/page/${data.slug}` },
    openGraph: {
      title: `${data.name} | Brand`,
      description: data.summary,
      url: `${siteConfig.url}/page/${data.slug}`,
      type: 'website',
      images: [{ url: data.imageUrl, width: 1200, height: 630 }],
    },
  };
}

Static pages — use metadata export:

export const metadata: Metadata = {
  title: 'About Us | Brand',
  description: 'Learn about our company and mission.',
};

Rules

  • Never hardcode metadata in JSX — always use the Metadata API
  • Layout metadata cascades — set defaults in root layout, override in pages
  • Never duplicate — if layout sets og:site_name, pages don't need to repeat it

Common Mistakes

  1. Same title on every page — each page needs a unique title
  2. Missing description — every indexable page needs one
  3. No canonical URL — causes duplicate content issues
  4. Missing OG image — results in ugly social media previews
  5. Title too long — check character count

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most marketing audience skills give in 838 tokens

Counted across 690 of the 894 authors here whose files we hold, read 2026-08-07

  • Apply Poppins font to headingsin 41 of 690, across 6 files
  • Apply Lora font to body textin 41 of 690, across 6 files
  • Use Arial fallback for headingsin 39 of 690, across 4 files
  • Use Georgia fallback for body textin 39 of 690, across 4 files
  • Maintain text hierarchy and formattingin 39 of 690, across 4 files
  • Use accent colors for non-text shapesin 38 of 690, across 3 files
  • Use RGB values for precise color matchingin 38 of 690, across 3 files
  • Use brand colors for primary text and backgroundsin 36 of 690, across 1 file
  • Read product marketing context file before asking questions, starting, or auditingin 35 of 690, across 23 files
  • Use active voice instead of passive voicein 26 of 690, across 10 files
  • Implement or generate appropriate JSON-LD structured datain 24 of 690, across 17 files
  • Prioritize clarity over clevernessin 22 of 690, across 8 files

Said here and by no other author read

  • keep titles concise and unique per page
  • put the most important title words first
  • match open graph url to the canonical URL
  • include twitter card tags
  • use the metadata API

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.