Skip to main content

Seo

SEO foundation plugin for site, independent-site, tenant, scope, and page-specific head tags, sitemap, robots, structured data, and audits.

Status​

KeyValue
Layerfoundation
TierL0
Statuswip
Version0.9.0
PriceFree (free)
CategoryMonetization

Overview​

Seo is the standard SEO foundation plugin for multi-saas-kit. It supports simple global defaults, independent-site SEO settings, and multi-scope services inside a single site through one context model.

Core Features​

  • Platform / SaaS Product / Tenant / Site / Scope / Page / Entity / Request override merge order
  • Managed <title>, description, canonical, robots, hreflang, Open Graph, Twitter Card, verification meta, and JSON-LD replace/upsert
  • settings.seo.* UI in SaaS Site Settings and Platform SaaS Product screens
  • Scope/page rules through plg_seo_scopes and plg_seo_page_rules
  • /robots.txt and /sitemap.xml routes with provider-based sitemap extension
  • SSRF-safe audit crawler, sanitized snapshots without storing full HTML, issue detector, and SaaS Panel audit UI
  • schema.org structured data registry and default JSON-LD graph provider

Independent Sites / Scopes​

The resolver uses the current host, current.saas_product, current.site, saas_products.settings.domains, and saas_products.settings.site to find the right independent-site SEO settings. Multi-scope sites such as scripture-style Bible, dictionary, commentary, and typing services can use scope/page rules or SeoScopeProviderInterface.

Developer Extension Points​

  • SeoMetaProviderInterface: entity-specific SEO overrides for Board posts, Commerce products, articles, etc.
  • SeoScopeProviderInterface: request path/route based scope and page settings
  • SeoSitemapProviderInterface: sitemap URL providers
  • StructuredDataProviderInterface: SaaS-specific schema.org JSON-LD graph providers

Security / Accessibility​

No raw HTML SEO field is provided. Verification tags are stored as provider tokens, and JSON-LD is encoded by the renderer. The audit crawler is restricted to current or allowlisted hosts and blocks loopback, private, link-local, and metadata IPs. The plugin does not bulk-insert title attributes on every element; semantic HTML, headings, image alt text, link text, and structured data come first.

Docs​

Demos​


View on Plugin Store: store.codebase.how/plugins/seo