Update SEO settings
<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Saves SEO settings for the app and returns the settings as they now stand.
This is a partial update. Keys you leave out of settings keep their saved values. The same is true one level deeper for pages. A page absent from your pages object keeps its existing overrides, and within a page you do include, any field you leave out keeps its saved value. For example, sending only a page's title changes that field alone. Its description and every other page stay as they were.
You can't remove a page or a page override through this endpoint. An empty pages object changes nothing, and a null page entry is rejected. To stop a page overriding a tag, send an empty string as that field's value instead.
Saving itself is immediate. The live site is served from a separate copy, which is updated right after, but that update isn't guaranteed to happen in the same moment and can lag. A successful call means the settings are stored, not that the live site has caught up, so confirm with Get SEO settings rather than treating the published pages as proof.
<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time. Send only the fields documented here. Other request fields are not supported and their behavior can change.</Warning>
Path parameters
ID of the app whose SEO settings you want.
ID of the app whose SEO settings you want.
Request body
Example request
{
"settings": {
"platform_meta_injection_enabled": true,
"platform_jsonld_injection_enabled": true,
"robots_txt_enabled": true,
"sitemap_xml_enabled": true,
"ai_crawlers_enabled": true,
"synthesized_breadcrumb_enabled": true,
"canonical_url": "https://acme.com",
"content_query_params": [
"article"
],
"custom_json_ld": [
{
"confidence": "0.85",
"entity_name": "Product",
"field_mapping": {
"name": "title"
},
"json_ld_template": {
"@context": "https://schema.org",
"@type": "Product",
"name": "Acme CRM"
},
"schema_type": "Product"
}
],
"website_schema": {
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Acme CRM",
"url": "https://acme.com"
},
"organization_schema": {
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme",
"url": "https://acme.com"
},
"breadcrumb_schema": {
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": []
},
"faq_schema": {
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": []
},
"pages": {
"Home": {
"description": "Track leads and deals in one place.",
"og_image": "https://cdn.example.com/acme-og.png",
"title": "Acme CRM"
}
}
}
}Response
The settings as they stand after the merge.
Example response
{
"result": {
"platform_meta_injection_enabled": true,
"platform_jsonld_injection_enabled": true,
"robots_txt_enabled": true,
"sitemap_xml_enabled": true,
"ai_crawlers_enabled": true,
"synthesized_breadcrumb_enabled": true,
"canonical_url": "https://acme.com",
"content_query_params": [
"article"
],
"custom_json_ld": [
{
"confidence": "0.85",
"entity_name": "Product",
"field_mapping": {
"name": "title"
},
"json_ld_template": {
"@context": "https://schema.org",
"@type": "Product",
"name": "Acme CRM"
},
"schema_type": "Product"
}
],
"website_schema": {
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Acme CRM",
"url": "https://acme.com"
},
"organization_schema": {
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme",
"url": "https://acme.com"
},
"breadcrumb_schema": {
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": []
},
"faq_schema": {
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": []
},
"pages": {
"Home": {
"description": "Track leads and deals in one place.",
"og_image": "https://cdn.example.com/acme-og.png",
"title": "Acme CRM"
}
}
}
}