Skip to main content
Glama

pages_update_page_settings

Modify Webflow page settings such as SEO, openGraph, visibility, and access. Update page properties like slug, title, or locale for improved site management and customization.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes
localeIdNo
page_idYes

Implementation Reference

  • The handler function that calls the Webflow API to update page settings using the provided page_id, optional localeId, and body payload.
    async ({ page_id, localeId, body }) => { try { const response = await getClient().pages.updatePageSettings( page_id, { localeId, body, }, requestOptions ); return formatResponse(response); } catch (error) { return formatErrorResponse(error); } }
  • Zod schema defining the input body for updating page settings, including SEO, Open Graph, and other page metadata.
    export const WebflowPageSchema = z.object({ id: z.string().describe("Unique identifier for a Page."), siteId: z.string().optional().describe("Unique identifier for the Site."), title: z.string().optional().describe("Title of the page."), slug: z .string() .optional() .describe("Slug of the page (derived from title)."), parentId: z .string() .optional() .describe("Unique identifier for the parent folder."), collectionId: z .string() .optional() .describe( "Unique identifier for the linked collection, NULL id the Page is not part of a collection." ), createdOn: z.date().optional().describe("Date when the page was created."), lastUpdated: z .date() .optional() .describe("Date when the page was last updated."), archived: z .boolean() .optional() .describe("Indicates if the page is archived."), draft: z.boolean().optional().describe("Indicates if the page is a draft."), canBranch: z .boolean() .optional() .describe("Indicates if the page can be branched."), isBranch: z .boolean() .optional() .describe("Indicates if the page is Branch of another page."), isMembersOnly: z .boolean() .optional() .describe( "Indicates whether the Page is restricted by Memberships Controls." ), seo: z .object({ title: z .string() .optional() .describe("The Page title shown in search engine results."), description: z .string() .optional() .describe("The Page description shown in search engine results."), }) .optional() .describe("SEO-related fields for the page."), openGraph: z .object({ title: z .string() .optional() .describe("The title supplied to Open Graph annotations."), titleCopied: z .boolean() .optional() .describe( "Indicates the Open Graph title was copied from the SEO title." ), description: z .string() .optional() .describe("The description supplied to Open Graph annotations."), descriptionCopied: z .boolean() .optional() .describe( "Indicates the Open Graph description was copied from the SEO description." ), }) .optional(), localeId: z .string() .optional() .describe( "Unique identifier for the page locale. Applicable when using localization." ), publishedPath: z .string() .optional() .describe("Relative path of the published page."), });
  • Registers the pages_update_page_settings tool with the MCP server inside the registerPagesTools function.
    server.tool( "pages_update_page_settings", "Update page settings including SEO metadata, Open Graph data, slug, and publishing status.", { page_id: z.string().describe("Unique identifier for the page."), localeId: z .string() .optional() .describe( "Unique identifier for a specific locale. Applicable when using localization." ), body: WebflowPageSchema, }, async ({ page_id, localeId, body }) => { try { const response = await getClient().pages.updatePageSettings( page_id, { localeId, body, }, requestOptions ); return formatResponse(response); } catch (error) { return formatErrorResponse(error); } } );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/webflow/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server