Pages Tools
Page fields
Section titled “Page fields”| Field | Type | Description |
|---|---|---|
title | string | Page title. Used in nav and as default <title> tag. |
slug | string | URL path. "" = homepage. No leading slash. |
html_content | string | Full page body HTML. |
content_mode | "html" | Always "html" in the current version. |
status | "published" | "draft" | "review" | Only published pages are built into the static site. |
kind | "page" | "article" | "article" enables Article JSON-LD schema. |
seo_title | string | Custom <title> tag. Defaults to title + suffix. |
seo_description | string | <meta name="description">. 150–160 chars recommended. |
og_image | string | Absolute CDN URL for Open Graph image. |
canonical_url | string | Override the canonical URL (e.g. after a migration). |
noindex | boolean | Set true to add <meta name="robots" content="noindex">. |
language | string | Per-page language override (e.g. "en", "sv"). |
author | string | Article author. Used in Article JSON-LD. |
date_published | string | ISO 8601 date. Used in Article JSON-LD. |
json_ld | string | Custom JSON-LD schema as a JSON string. |
Homepage
Section titled “Homepage”The homepage has slug: "" and is stored with id: "home". Claude uses this automatically when you say “the homepage” or “the start page”.
create_page
Section titled “create_page”Creates a new page. Required: title. Defaults: status: "draft", content_mode: "html".
Create a page titled "Tjänster" at slug "tjanster" with three service sections.update_page
Section titled “update_page”Updates one or more fields on an existing page. Pass only the fields you want to change — others are preserved.
Update the Services page: change the seo_description to "..."batch_update_pages
Section titled “batch_update_pages”Updates multiple pages in one call. More efficient than individual updates for bulk changes like SEO fixes.
Write meta descriptions for all pages.Claude uses batch_update_pages automatically for multi-page operations.
list_pages
Section titled “list_pages”Returns all pages with title, slug, status and SEO fields — but not the HTML body (to keep responses small).
Add full: true to include html_content — use sparingly on large sites.
read_page
Section titled “read_page”Returns a single page including its full html_content. Claude uses this before editing a page.
batch_read_pages
Section titled “batch_read_pages”Reads multiple pages by ID in one call. Returns { pages_by_id: { id: page }, not_found: [] }.
search_pages
Section titled “search_pages”Finds pages containing a substring in their HTML content:
search_pages contains="<h1" ← pages with an H1search_pages contains="calendly" ← pages with a Calendly embedsearch_pages contains="/old-path" ← pages with a stale internal linkdelete_page
Section titled “delete_page”Permanently deletes a page. This also removes it from the next deploy.
HTML conventions
Section titled “HTML conventions”All HTML in pages should follow these conventions:
- CSS variables for colours and fonts —
var(--color-primary),var(--font-heading), never hardcoded hex - One
<h1>per page — the page title. Sections use<h2>. - No
<nav>,<header>,<footer>in page HTML — those live in partials - Inline
<style>blocks are allowed — scoped to the page’s classes <iframe>allowed for YouTube, Vimeo, Calendly, Google Maps- No
<script>tags — use site settings for analytics/chat widgets