Curvea

SEO

SEO

Curvea can generate SEO metadata when the SEO project feature is enabled.

Enable SEO

npx curvea add seo

This sets curvea.features.seo in package.json.

Page metadata

Use one @seo block in a page:

@page

@seo
title = "About Curvea"
description = "A static-first web engine."
image = "/og.jpg"
@end

Supported fields are:

title
description
canonical
image
robots
type

Fallbacks

Curvea resolves fields in this order:

  • title: @seo titlepage.titlesite.name
  • description: @seo descriptionpage.descriptionpage.excerptsite.description
  • canonical: @seo canonicalpage.route → current route
  • image: @seo imagepage.imagepage.coversite.image
  • robots defaults to index, follow
  • type defaults to website

Generated output

When enabled, Curvea can generate the document title, description, canonical URL, robots metadata, Open Graph metadata, and Twitter card metadata.

Existing extracted page <title> markup is removed before Curvea adds the resolved SEO title.

Canonical and image paths are converted to absolute URLs with site.url and site.basePath when possible.