# Page titles and descriptions

> Set the search title, description, noindex, canonical address, link preview and structured data of any page on your site, from chat or from your own agent.

Last updated: November 9, 2026

Source: https://www.willo.ai/docs/site/page-titles-and-descriptions

Every page on your site sends search engines and link previews a title, a description and a few other settings. You can change them for any page by asking Willo, and your own agent can change them with a [read + act token](https://www.willo.ai/docs/ai-agents/agent-tokens).

## What you can set

| Setting | What it changes |
| --- | --- |
| `title` | The browser tab and the headline of the search result. |
| `description` | The text under the headline in search results. |
| `noindex` | `true` hides the page from search engines; `false` shows it again. |
| `canonical` | The address search engines treat as this page's real one. A path on your site or a full `https://` address. |
| `og_title`, `og_description` | The title and description on link previews in social apps and chat, when they should differ from the search ones. |
| `og_image` | The image on link previews. |
| `jsonld` | Structured data: your FAQ questions and answers, a breadcrumb trail, or the facts of a separate location such as its address, phone and opening hours. |

Send only what you want to change. An empty value (`null`) puts a setting back to the site's default: the business name as the title, the business description, the page's own address as its canonical.

Your site's layout decides which of these each page can show. Title and description work on every Willo site. The others depend on how recent your site's layout is. Reading a page lists what it can set, and a change leaves out anything the page can't show and names it in the reply; the rest goes through.

Structured data takes facts, never raw markup. FAQ pairs must match the questions and answers the page shows; a page that shows your site's FAQ section already carries them, so leave `faq` out there. Breadcrumbs are built from the page's address and title. Local-business facts are for a separate location's page, such as a second office: they need that location's own address or phone, and name, description and logo come from your business details unless you pass them. Your business itself is already described on every page from your [business details](https://www.willo.ai/docs/site/search-and-link-previews#your-business-in-search).

## Change them in chat

Prompts:

- "Give the about page a clearer search title and description."
- "Write search descriptions for every page that doesn't have one."
- "Hide the thank-you page from search engines."

Willo can read the pages' settings first and change up to 25 pages in one go.

## Change them from your agent

`willo_page_meta` lists your pages with their settings, which settings each can show, and which pages are set elsewhere. One call reads up to 60 pages; pass `paths` (up to 25) for the rest.

`willo_page_meta_write` takes `pages`: up to 25 entries, each a `path` plus the settings to change.

```json
{
  "pages": [
    { "path": "/about/", "title": "About Acme Plumbing", "description": "Family plumbers in Portland since 1998." },
    { "path": "/thank-you/", "noindex": true }
  ],
  "summary": "Clearer about page; keep the thank-you page out of search"
}
```

## What needs your approval

Title, description, link-preview and structured-data changes run without a card, like any edit to your site. A change that sets `noindex` or `canonical` on any page always needs your approval: either one can take a page out of search results, and it can take weeks to come back. The card names each page and what happens to it.

> **Needs approval.**
>
> Your agent's first call returns `pending_approval` with a link. Approve the card on the dashboard, then the agent calls `willo_page_meta_write` again with the same arguments.

## When the change goes live

All the pages in one call change in one update. While you are [drafting](https://www.willo.ai/docs/site/drafts-and-publishing), it lands on the draft and goes live when you publish. Otherwise it goes live with the update that follows, within a few minutes.

## Pages set somewhere else

- **Blog posts and other CMS items.** Their search settings are on the item: ask Willo, use the Content tab, or have your agent pass `seo` in [willo_content_write](https://www.willo.ai/docs/ai-agents/edit-cms-content-and-publish). Naming an item's address here returns which item it is.
- **Pages made from one template**, such as each product or each post of a collection. One file builds them all, so one page's settings can't be set on its own.
- **Pages whose title is worked out in their own code**, and pages that write their own head instead of using the site's layout. The reply names the setting; ask Willo to edit the page itself.
- **Markdown pages** (`.md` files in your site's pages). Their title and description are at the top of the file; ask Willo to edit it.

Related: [Search results and link previews](https://www.willo.ai/docs/site/search-and-link-previews), [Approvals](https://www.willo.ai/docs/ai-agents/approvals), [willo_page_meta_write](https://www.willo.ai/docs/reference/mcp-tools/willo-page-meta-write).

## Questions

### Why did Willo ask me to approve a title change?

It didn't ask for the title. The same change hid a page from search engines or changed its canonical address, and those two always need your approval.

### Can I set the title of one blog post here?

Not for a post in Willo's CMS. Its search settings are on the post itself. Ask Willo to edit the post, or open it in the Content tab.
