Set one page's SEO title, description, keywords and structured data
update_page_seoSet the SEO metadata for a SINGLE page: its title (the browser-tab text and search headline for that page), description, target keywords, social image, canonical URL, the noindex/nofollow flags, and its JSON-LD structured_data ({ "schemas": [ { "@type": "…", … } ] }, which replaces the schema Mondovo generates for that page; null goes back to the generated one). Only the fields you supply change; null clears a field. For a blog post or other collection item, pass seo to add_collection_item / update_collection_item instead — those pages are not in the design's files. This is the PER-PAGE half of SEO and it WINS over the site-wide default — use update_site_settings for the site-wide title/description that pages fall back to. Like the site settings, none of this is in the site's code: Mondovo writes it into the page's head at publish, so refine_site cannot set it. Call get_site first if you need the list of page slugs; a wrong slug comes back with the real ones attached. Publish the site for the change to reach visitors.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Slug of the page to update, e.g. "/about" or "/" for the homepage | |
| title | No | This page's browser-tab title and search headline. Aim for 50-60 characters. | |
| site_id | Yes | The site the page belongs to | |
| keywords | No | Target keywords for this page, most important first. | |
| no_index | No | true asks search engines not to index this page. | |
| no_follow | No | true asks search engines not to follow links on this page. | |
| user_goal | No | Optional: the user's goal behind this call, in one short sentence of plain words (e.g. "add a page so customers can book tables"). No names, emails or other personal details. | |
| description | No | This page's meta description. Aim for 150-160 characters. | |
| og_image_url | No | Social sharing image for this page, overriding the site default. | |
| variation_id | No | Design to edit, from list_variations. Defaults to the active design. | |
| canonical_url | No | Canonical URL, when this page duplicates another. | |
| structured_data | No | This page's JSON-LD as { "schemas": [ { "@type": "BlogPosting", … }, { "@type": "BreadcrumbList", … } ] }. Replaces the schema Mondovo would otherwise generate for the page, so include every schema it should carry. "@context" is added when absent. Max 50 KB. null clears it (back to the generated schema). |