SEO & Structured Data

VerifiedSafe

Performs SEO audits and implements structured data patterns including meta tags, Open Graph, JSON-LD schemas, and Core Web Vitals optimization. Useful for marketing sites and e-commerce platforms to improve search visibility and rich snippet appearance.

Sby Skills Guide Bot
ContentIntermediate
1506/2/2026
Claude Code
#seo#meta-tags#open-graph#schema#sitemap

Recommended for

Our review

This skill generates SEO meta tags, Open Graph, JSON-LD schemas, and technical elements like sitemaps and robots.txt to optimize search engine optimization for marketing and e-commerce sites.

Strengths

  • Provides ready-to-use snippets for meta tags, Open Graph, and Twitter Cards
  • Covers multiple JSON-LD schema types (Product, Organization, FAQ, etc.)
  • Includes best practices for OG and Twitter images (recommended dimensions)
  • Offers examples of XML sitemap and robots.txt files

Limitations

  • Does not cover advanced SEO aspects like page speed optimization or backlinks
  • Assumes basic knowledge of HTML and site structure
  • Schemas provided may not cover all specific cases (events, recipes, etc.)
When to use it

Use this skill when creating or optimizing a marketing or e-commerce site that needs structured markup to improve search engine visibility.

When not to use it

Avoid this skill if your site already has a robust SEO strategy or if you need more specialized optimizations like advanced technical SEO.

Security analysis

Safe
Quality score95/100

The skill provides educational content and code templates for SEO auditing and structured data implementation. No malicious or destructive actions are instructed; allowed Bash tool is not utilized in the skill body. Purely informative, no risk.

No concerns found

Examples

Product Schema Markup
Generate JSON-LD product schema for a product page with name 'Wireless Headphones', price $79.99, currency USD, in stock, brand 'SoundCo', SKU 'WH-001', and an average rating of 4.3 from 150 reviews.
Open Graph Tags for Blog
Add Open Graph and Twitter Card meta tags for a blog post titled '10 SEO Tips' with description 'Learn essential SEO strategies', image URL 'https://example.com/seo-tips.jpg', and canonical URL 'https://example.com/blog/seo-tips'.
Sitemap and Robots.txt
Create a sitemap.xml and robots.txt for a site at https://example.com, including all pages except /api/ and /admin/, with lastmod date today and priority for homepage as 1.0.

name: seo description: SEO audit and structured data patterns - meta tags, Open Graph, JSON-LD schema, Core Web Vitals. Use for marketing sites and e-commerce. triggers:

  • seo
  • meta tags
  • schema
  • open graph
  • structured data
  • sitemap allowed-tools: Read, Grep, Glob, Edit, Write, Bash model: opus user-invocable: true

SEO & Structured Data

Based on coreyhaines31/marketingskills (MIT). Merged from seo-audit and schema-markup skills.

1. Meta Tags & Open Graph

Title Tags

  • 50-60 characters, primary keyword near the beginning
  • Unique per page, compelling and click-worthy
  • Brand name at end: Primary Keyword | Brand

Meta Descriptions

  • 150-160 characters with primary keyword
  • Clear value proposition and call to action
  • Unique per page (never auto-generated filler)

Open Graph & Twitter Cards

<!-- Open Graph -->
<meta property="og:title" content="Page Title" />
<meta property="og:description" content="Page description" />
<meta property="og:image" content="https://example.com/og-image.jpg" />
<meta property="og:url" content="https://example.com/page" />
<meta property="og:type" content="website" />

<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Page Title" />
<meta name="twitter:description" content="Page description" />
<meta name="twitter:image" content="https://example.com/twitter-image.jpg" />

OG images: 1200x630px. Twitter images: 1200x600px.

2. JSON-LD Schema Markup

Use JSON-LD format (Google recommended). Place in <head> or end of <body>.

Common Schema Types

| Type | Use For | Required Properties | |------|---------|-------------------| | Organization | Company homepage | name, url | | Product | Product pages | name, image, offers | | Article | Blog posts | headline, image, datePublished, author | | FAQPage | FAQ content | mainEntity (Q&A array) | | BreadcrumbList | Any page with breadcrumbs | itemListElement | | LocalBusiness | Local business pages | name, address |

Product Schema (E-commerce)

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Product Name",
  "image": "https://example.com/product.jpg",
  "description": "Product description",
  "sku": "SKU-001",
  "brand": { "@type": "Brand", "name": "Brand Name" },
  "offers": {
    "@type": "Offer",
    "price": "29.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://example.com/product"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": "42"
  }
}

Organization Schema

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Company Name",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png",
  "sameAs": [
    "https://twitter.com/company",
    "https://linkedin.com/company/company"
  ]
}

Multiple Types with @graph

{
  "@context": "https://schema.org",
  "@graph": [
    { "@type": "Organization", "name": "...", "url": "..." },
    { "@type": "WebSite", "name": "...", "url": "..." },
    { "@type": "BreadcrumbList", "itemListElement": [...] }
  ]
}

3. Technical SEO

Sitemap & Robots

<!-- public/sitemap.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-01-15</lastmod>
    <priority>1.0</priority>
  </url>
</urlset>
# public/robots.txt
User-agent: *
Allow: /
Disallow: /api/
Disallow: /admin/
Sitemap: https://example.com/sitemap.xml

Canonical URLs

  • Every page needs a canonical tag (self-referencing for unique pages)
  • Consistent www vs non-www, trailing slash, HTTP vs HTTPS
  • Prevents duplicate content issues

Redirects

  • Use 301 for permanent redirects (passes SEO value)
  • Fix redirect chains (A -> B -> C should be A -> C)
  • Handle trailing slashes consistently

Core Web Vitals

  • LCP (Largest Contentful Paint): < 2.5s
  • INP (Interaction to Next Paint): < 200ms
  • CLS (Cumulative Layout Shift): < 0.1

4. Next.js SEO

Static Metadata

// app/page.tsx
import type { Metadata } from 'next';

export const metadata: Metadata = {
  title: 'Page Title | Brand',
  description: 'Page description for search results',
  openGraph: {
    title: 'Page Title',
    description: 'OG description',
    images: [{ url: '/og-image.jpg', width: 1200, height: 630 }],
  },
  twitter: {
    card: 'summary_large_image',
  },
};

Dynamic Metadata

// app/products/[slug]/page.tsx
export async function generateMetadata({ params }: Props): Promise<Metadata> {
  const product = await getProduct(params.slug);
  return {
    title: `${product.name} | Brand`,
    description: product.description,
    openGraph: {
      images: [{ url: product.image }],
    },
  };
}

JSON-LD in Next.js

export default function ProductPage({ product }: Props) {
  const jsonLd = {
    '@context': 'https://schema.org',
    '@type': 'Product',
    name: product.name,
    image: product.image,
    offers: {
      '@type': 'Offer',
      price: product.price,
      priceCurrency: 'USD',
    },
  };

  return (
    <>
      <script
        type="application/ld+json"
        dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
      />
      {/* Page content */}
    </>
  );
}

5. Audit Checklist

Before Launch

  • [ ] Unique title tags on every page (50-60 chars)
  • [ ] Meta descriptions on every page (150-160 chars)
  • [ ] One H1 per page with primary keyword
  • [ ] Open Graph tags on all shareable pages
  • [ ] JSON-LD schema on key pages (Organization, Product, Article)
  • [ ] Sitemap.xml generated and submitted
  • [ ] Robots.txt allows important pages
  • [ ] Canonical tags on all pages
  • [ ] Alt text on all images
  • [ ] Internal linking between related pages
  • [ ] Core Web Vitals passing (LCP < 2.5s, INP < 200ms, CLS < 0.1)
  • [ ] HTTPS across entire site
  • [ ] Mobile-responsive design

Validation Tools

E-commerce Specifics

  • [ ] Product schema on all product pages
  • [ ] BreadcrumbList schema for navigation
  • [ ] Category pages have unique content (not just product grids)
  • [ ] Out-of-stock pages handled (not 404)
  • [ ] Faceted navigation not creating duplicate URLs
Related skills