CtrlK
BlogDocsLog inGet started
Tessl Logo

seo-patterns

Implements technical SEO: meta tags, JSON-LD structured data, sitemaps, and crawlability fixes. Use when adding schema markup, JSON-LD, robots.txt updates, canonical URLs, Open Graph tags, or improving crawlability.

100

Quality

100%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

SEO Patterns

Core Principles

  • Every public page MUST have a unique <title> and <meta name="description">.
  • Structured data MUST validate against Google's Rich Results Test before shipping.
  • Server-render all content critical for indexing.
  • Canonical URLs are mandatory on every page.

Implementation Workflow

  1. Add meta tags and canonical URLs in server-rendered HTML.
  • Checkpoint: every page has unique <title> and <meta name="description">.
  1. Add structured data (JSON-LD) for the page type and keep blocks server-rendered.
  • Checkpoint: Rich Results Test passes with zero errors.
  1. Generate / update sitemap and reference it from robots.txt.
  • Checkpoint: sitemap URL present in robots.txt and accessible.
  1. Verify robots.txt rules and ensure public pages are allowed.
  • Recovery: remove accidental Disallow: entries and re-submit sitemap.
  1. Monitor Search Console for warnings and enhancement reports post-deploy.

Meta Tags & Open Graph

export const metadata: Metadata = {
  title: 'Product Name — Short Descriptor',
  description: 'Concise 150-160 char description with primary keyword.',
  alternates: { canonical: 'https://example.com/page-slug' },
  openGraph: {
    title: 'Product Name — Short Descriptor',
    description: 'Concise description for social sharing.',
    url: 'https://example.com/page-slug',
    type: 'website',
    images: [{ url: 'https://example.com/og-image.jpg', width: 1200, height: 630 }],
  },
  twitter: { card: 'summary_large_image', title: 'Product Name — Short Descriptor', images: ['https://example.com/og-image.jpg'] },
  robots: { index: true, follow: true },
};

Checklist: unique title (50-60 chars) · unique description (150-160 chars) · canonical URL · og:title/description/image (1200×630 px) · og:type · twitter:card/title/image · noindex only on admin/draft pages.

Structured Data & Crawlability

For structured data reference examples and detailed anti-patterns see REFERENCE.md.

  • Generate XML sitemap dynamically from your data source (CMS, DB, filesystem).
  • Use a sitemap index when >50,000 URLs or >50 MB.
  • Include <lastmod> only if accurate; submit via Google Search Console and reference in robots.txt.
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /api/
Disallow: /preview/
Sitemap: https://example.com/sitemap.xml

Crawlability checklist: robots.txt allows public pages · blocks admin/API/preview · XML sitemap auto-generated · referenced in robots.txt · no orphan pages · primary content in initial HTML · unique <h1> with keyword · structured data in SSR HTML · descriptive alt on images · no stray noindex · page load < 3s.

Anti-Patterns & Structured Data Reference

See REFERENCE.md for detailed structured data examples, validation commands, and a trimmed anti-pattern checklist.

Repository
monkilabs/opencastle
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.