# SEO and AI search

Source: https://modulify.ai/docs/grow/seo

Attach the SEO skill so the AI writes metadata, structured data and crawl files as it builds.

There is no SEO tab in Modulify. SEO is a **Skill**: a named set of instructions you attach to a project, which the AI then follows on every message until you detach it. Attach the SEO skill and the search work happens as part of normal building instead of as a separate pass.

## Before you begin

Skills are attached per project, and a new project starts with none attached. You can have up to 10 on one project at a time, and the menu shows the count as `Skills · 3/10 used`.

Anyone in the workspace can attach a skill. There is no separate permission for it.

## Attach the SEO skill from chat

There are two ways in, and both act on the project you have open.

**Type a slash.** In the chat composer, type `/` followed by part of the name, for example `/seo`. A picker appears listing matching skills with their category underneath. Click one to attach it. An attached skill shows a checkmark and its row turns orange. Clicking an attached skill again detaches it.

**Use the plus menu.** Click **+** to the left of the composer and open **Manage skills**. The submenu lists the whole catalog with a checkmark on everything attached, headed by the used count. The **+** button carries a small badge with how many skills and connectors are attached.

Try to attach an eleventh skill and nothing is attached. A toast reads "Skill limit reached" with the line "You can enable up to 10 skills!".

## Browse the catalog first

The full list lives on the **Skills** page in the left dashboard nav.

Two tabs sit at the top, **Explore** and **Favorites**, each with a count. Below them are a search box, a grid or list view toggle, and a category select that starts at **All categories** and shows how many skills sit in each category. The search matches a skill's name, description, category and instructions, so searching `seo` finds the ones that talk about it as well as the one named for it.

Each card shows the skill name, its description, and its category as a small badge. Some skills carry a second **Community** badge. The star in the corner favourites a skill for your whole workspace: favourites get their own tab and sort to the top of the `/` picker.

The star is a bookmark, not a switch. Favouriting a skill does not attach it to anything.

## What the SEO skill asks the AI to do

The skill covers both classic search engines and AI answer engines. With it attached, the AI works to:

- Give every page a unique title and meta description through the framework's own metadata API, set a canonical URL, and fill Open Graph and Twitter tags with an absolute preview image.
- Emit JSON-LD structured data that matches what is actually on the page, choosing a precise type per page rather than one generic block.
- Generate a sitemap and a robots file, and keep the crawlers that produce citations allowed.
- Open pages and sections with a short self-contained answer to the question a visitor is asking, since answer engines quote passages rather than whole pages.
- Use headings that read as real questions, and semantic HTML with descriptive alt text.

Without any skill attached, the AI still gives every page a meaningful title, meta description, Open Graph tags and a favicon. The skill is what turns that baseline into a consistent, structured approach across the whole site.

## Ask for the work

Attaching a skill does not rewrite anything by itself. It shapes what happens next, so ask for the change you want:

```markdown
Go through every page and tighten the titles and meta descriptions.
Add structured data for the services we list on the home page.
```

The AI applies the skill's instructions where they are relevant to the request. The instructions themselves are never shipped to your site.

## Publish before you check

Search engines only ever see the published site. The preview is not a public address. So after metadata work, publish, then check the live pages.

## Next

- [Publish a site](/docs/publish/publish-a-site) puts the changes where crawlers can read them.
- [Visitor analytics](/docs/grow/analytics) shows the traffic that arrives.
- [Build with chat](/docs/build/site-chat) covers the composer the picker lives in.