Skip to main content
seofields
docs

Public vs Pro Features

The public package installs one plugin. Public features work without a license. Pro features unlock when you add a valid root-level licenseKey for the current Sanity project.

Installation Model

Users install sanity-plugin-seofields. They do not install or import seofields-pro manually. The pro package is a runtime dependency used internally for licensed features.

Feature Matrix

AreaPublic versionPro version
Core SEOMeta fields, previews, validation, robots, canonical URL, keywords, Open Graph, X/Twitter Cards.Same public features, plus licensed audit and publishing workflows.
Schema.orgStructured data fields, JSON-LD preview, and frontend script rendering.Same public Schema.org tooling, used by pro audit and GEO checks where relevant.
AI promptsFour prompt variations per field. Five public industries: blog, restaurant, travel, ecommerce, education.Full prompt bank after license validation, including pro industries: healthcare, pharmacy, finance, realestate, saas.
Health auditShared scoring utility and CLI reporting/export commands.Studio SEO Health Dashboard with scores, issue lists, filters, sorting, and CSV/JSON export.
Publish controlsNormal Sanity publish behavior.Optional Publish Gate that blocks or warns when SEO score or required fields fail.

Public Features Included

SEO fields

Meta title, meta description, canonical URL, robots directives, meta image, focus keyword, keywords, and custom meta tags.

Social previews

Open Graph fields, X/Twitter Card fields, live SERP preview, and live HTML meta tags preview inside Studio.

Content checks

Validation messages, character counters, keyword checks, readability feedback, and the base GEO checklist.

Schema.org

Structured data fields, live JSON-LD preview, JSON-LD builders, SchemaOrgScripts, and frontend render helpers.

Configuration

Field visibility, field groups, defaults, per-document type options, API version config, and dashboard disable config.

Frontend and CLI

Next.js, Astro, Nuxt, Vue, SvelteKit, Remix, React meta tag helpers, Schema.org scripts, CLI doctor/report/export/config/init commands.

AI generation

Public prompt bank with generic prompts plus blog, restaurant, travel, ecommerce, and education industries.

Pro Features Unlocked by License

SEO Health Dashboard

Studio-wide 0-100 scoring, issue summaries, health tiers, search, filters, sorting, pagination, and compact stats.

Dashboard exports

Export filtered audit results as CSV or JSON for handoff, reporting, and external workflows.

Publish Gate

Require a minimum SEO score or required SEO fields before publishing. Use block mode or warn mode.

Desk structure pane

Use createSeoHealthPane to embed the SEO health audit inside custom Sanity desk structures.

Pro GEO checks

Additional AI Overview readiness checks for keyword coverage, structured data, and FAQ/HowTo readiness.

Pro AI prompts

Full prompt bank for all industries, including healthcare, pharmacy, finance, realestate, and saas.

Configuration

Use the public package for both public and pro setups. Add licenseKey only when you want licensed features. Full AI provider and prompt configuration is covered in the AI Integration docs.

Public setup

sanity.config.ts
import { defineConfig } from 'sanity'
import seofields from 'sanity-plugin-seofields'

export default defineConfig({
  // ...your Sanity config
  plugins: [
    seofields({
      ai: {
        provider: 'openai',
        apiKey: '<your-openai-api-key>',
        industry: 'blog',
      },
    }),
  ],
})

Pro setup

sanity.config.ts
import { defineConfig } from 'sanity'
import seofields from 'sanity-plugin-seofields'

export default defineConfig({
  // ...your Sanity config
  plugins: [
    seofields({
      licenseKey: 'SEOF-XXXX-XXXX-XXXX',
      ai: {
        provider: 'openai',
        apiKey: '<your-openai-api-key>',
        industry: 'finance',
      },
      publishGate: {
        mode: 'warn',
        minScore: 70,
      },
    }),
  ],
})

Do not set _licenseKey or _projectId yourself. The plugin forwards those internal values from licenseKey and the active Sanity workspace.

How Pro AI Prompts Are Used

The public package keeps only the public prompt bank in its source and build output. Licensed prompt expansion happens through a callback exported by the pro package.

  1. 1

    The public package starts with the public prompt pool: four variations per supported field.

  2. 2

    Studio AI buttons pass the root licenseKey and Sanity projectId internally.

  3. 3

    The public prompt picker asks seofields-pro for a licensed prompt pool.

  4. 4

    If the key validates for the project, pro returns the full industry prompt pool.

  5. 5

    If the key is missing, invalid, or the validation request fails, generation stays on the public prompt pool.

Prompt selection flow
// Internal flow. Users do not call this directly.
const prompt = await pickPrompt(
  field,
  params,
  ai.industry,
  ai._licenseKey,
  ai._projectId,
)

Was this page helpful?