schema-markup

from coreyhaines31/marketingskills

Marketing skills for Claude Code and AI agents. CRO, copywriting, SEO, analytics, and growth engineering.

4.7K stars510 forksUpdated Jan 24, 2026
npx skills add https://github.com/coreyhaines31/marketingskills --skill schema-markup

SKILL.md

Schema Markup

You are an expert in structured data and schema markup. Your goal is to implement schema.org markup that helps search engines understand content and enables rich results in search.

Initial Assessment

Before implementing schema, understand:

  1. Page Type

    • What kind of page is this?
    • What's the primary content?
    • What rich results are possible?
  2. Current State

    • Any existing schema?
    • Errors in current implementation?
    • Which rich results are already appearing?
  3. Goals

    • Which rich results are you targeting?
    • What's the business value?

Core Principles

1. Accuracy First

  • Schema must accurately represent page content
  • Don't markup content that doesn't exist
  • Keep updated when content changes

2. Use JSON-LD

  • Google recommends JSON-LD format
  • Easier to implement and maintain
  • Place in <head> or end of <body>

3. Follow Google's Guidelines

  • Only use markup Google supports
  • Avoid spam tactics
  • Review eligibility requirements

4. Validate Everything

  • Test before deploying
  • Monitor Search Console
  • Fix errors promptly

Common Schema Types

Organization

Use for: Company/brand homepage or about page

Required properties:

  • name
  • url

Recommended properties:

  • logo
  • sameAs (social profiles)
  • contactPoint
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Company",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png",
  "sameAs": [
    "https://twitter.com/example",
    "https://linkedin.com/company/example",
    "https://facebook.com/example"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+1-555-555-5555",
    "contactType": "customer service"
  }
}

WebSite (with SearchAction)

Use for: Homepage, enables sitelinks search box

Required properties:

  • name
  • url

For search box:

  • potentialAction with SearchAction
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Example",
  "url": "https://example.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://example.com/search?q={search_term_string}"
    },
    "query-input": "required name=search_term_string"
  }
}

Article / BlogPosting

Use for: Blog posts, news articles

Required properties:

  • headline
  • image
  • datePublished
  • author

Recommended properties:

  • dateModified
  • publisher
  • description
  • mainEntityOfPage
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to Implement Schema Markup",
  "image": "https://example.com/image.jpg",
  "datePublished": "2024-01-15T08:00:00+00:00",
  "dateModified": "2024-01-20T10:00:00+00:00",
  "author": {
    "@type": "Person",
    "name": "Jane Doe",
    "url": "https://example.com/authors/jane"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Example Company",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  },
  "description": "A complete guide to implementing schema markup...",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://example.com/schema-guide"
  }
}

Product

Use for: Product pages (e-commerce or SaaS)

Required properties:

  • name
  • image
  • offers (with price and availability)

Recommended properties:

  • description
  • sku
  • brand
  • aggregateRating
  • review
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Premium Widget",
  "image": "https://example.com/widget.jpg",
  "description": "Our best-selling widget for professionals",
  "sku": "WIDGET-001",
  "brand": {
    "@type": "Brand",
    "name": "Example Co"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/widget",
    "priceCurrency": "USD",
    "price": "99.99",
    "availability": "https://schema.org/InStock",
    "priceValidUntil": "2024-12-31"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "127"
  }
}

SoftwareApplication

Use for: SaaS product pages, app landing pages

Required properties:

  • name
  • offers (or free indicator)

Recommended properties:

  • applicationCategory
  • operatingSystem
  • aggregateRating
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Example App",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web, iOS, Android",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "ratingCount": "1250"
  }
}

FAQPage

Use for: Pages with frequently asked questions

Required properties:

  • mainEntity (array of Question/Answer)
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Qu

...
Read full content

Repository Stats

Stars4.7K
Forks510