Nexanexa
Step 5

SEO and schema.org

seo and schema are static literals resolved against data/params — they generate real meta tags, Open Graph and JSON-LD, not a plugin that guesses.

Declaring seo

export const seo = {
    title: `${data.name} | My shop`,
    description: data.description,
    canonical: `/products/${params.slug}`
};

title, description and canonical go straight into <head> — with data/params interpolation already resolved at build time.

Rich results with schema

export const schema = {
    type: "Product",
    name: data.name,
    offers: {
        type: "Offer",
        price: data.price,
        priceCurrency: "USD"
    }
};

schema generates a real <script type="application/ld+json">, valid for Google's Rich Results.

The SEO Analyzer

nexa build
# [NEXA-SEO-001] missing `title` in `seo`
# [NEXA-A11Y-001] <img> with no `alt`

nexa build warns when a title, a description, or an image alt is missing — it never blocks the build, only warns. nexa lint can fail on purpose, for a CI step.