The SEO AI Prompt
What you'll learn
- How m18t generates SEO metadata with a constrained AI prompt.
- What gets injected into that prompt — including the resolved canonical URL.
- Why injecting the canonical keeps generated URLs from being invented.
The concept: a constrained prompt beats a blank one
Writing meta titles and descriptions is the kind of repetitive task an LLM is good at — but only if you constrain it. Ask a general chatbot to "write an SEO description for this article" and you get generic filler that could describe any post. m18t's SEO generation isn't a blank prompt; it's a tightly scoped one that already knows your brand, your content type, and the exact URL the piece will live at.
This runs on your own AI key — BYOK. m18t calls your configured text model through the secret vault; there's no bundled AI. If no AI key is set, the generate buttons are disabled with a tooltip explaining why.
How to generate SEO
- Draft the piece in the content editor.
- Open the SEO tab.
- Click Generate Meta with AI (the sparkles button) next to the meta title or description. There are separate generators for meta title / description, keywords, and JSON-LD (the JSON-LD button reads Generate JSON-LD with AI).
The result lands in the field. It's a draft — edit it before publishing.
What gets injected into the prompt
m18t doesn't just forward your article text. For an SEO-category prompt, it assembles context before calling the model:
- Brand context — the active brand's name and voice signals, so the output matches how the brand sounds.
- The content type's SEO hints — the schema.org
@typeand the seed keywords from the type's SEO defaults. - The resolved canonical URL — m18t computes the canonical from the brand website, path prefix, locale, and slug, and injects that exact string into the prompt.
- The article body — the content the metadata is summarizing.
The canonical injection matters most for JSON-LD generation. The prompt carries an explicit instruction: use only the provided canonical URL, and if no canonical is available, omit the URL field entirely rather than guessing. That instruction is what stops the model from putting a made-up address into your structured data. It constrains the model strongly — it isn't a hard guarantee that a model can never err, but in practice the model is given the correct URL and told not to invent one.
Common variations
Editing the output. Generated metadata is a starting draft, not a final answer. The text goes into the field so you can tweak it before moving the piece toward publishing.
No SEO defaults configured for the type. If the (brand × type) has no defaults yet, the prompt falls back to sensible values (e.g. schema type Article, robots index, follow) and the canonical may be empty — in which case the JSON-LD omits the URL. Configure the type's SEO defaults to get a real canonical injected.
Tuning the prompt. SEO prompts are AI Prompt Configs like any other, editable at /studio/config/prompts. Platform defaults show a Locked badge; overriding them is an advanced move — usually you get better results by setting the brand and type up well rather than rewriting the prompt.
What's next
FAQ
Why is the "Generate Meta with AI" button greyed out? No AI key is configured. SEO generation is BYOK — add an OpenAI, Gemini, or Anthropic key in the vault and the buttons enable.
Can the AI hallucinate a wrong URL into my structured data? m18t injects the resolved canonical URL into the prompt and instructs the model to use only that URL — and to omit the URL field entirely if none is provided. That sharply reduces invented URLs; it isn't an absolute guarantee, so review JSON-LD before publishing.
Do I have to use the AI to fill SEO fields? No. Every SEO field is editable by hand. The AI generators are optional drafting helpers.
Which model does the SEO prompt use? Whichever text model you've configured for the prompt. m18t doesn't bundle a model — you bring your own provider key.
Can I change what the SEO prompt says?
Yes, at /studio/config/prompts, though platform prompts are Locked by default. For most brands, configuring the brand voice and the content type's defaults gives better output than rewriting the prompt.