SEO module
Module id: seo. Dependencies: none.
Everything a website does for search engines and link previews: the tags
in the <head>, structured data, the sitemaps, llms.txt, and the SEO
fields in the admin.
It is the one module that is on by default. A new website starts with it on, and every website that existed when it became a module was switched on by a migration, so nothing changed for them. Switching it off is the opt-out, for a site that does not want to help crawlers at all.
While it is on
- The head carries the meta description, canonical, robots, Open Graph, Twitter card, hreflang and JSON-LD, rendered by cms-core's shared SEO partial.
- The editor's stored SEO overrides on pages, articles, products and categories are applied.
- The site serves
/sitemap.xml(withsitemap-pages,-products,-landing,-faqand-blogunder it) and/llms.txt, androbots.txtcarries aSitemap:line.
When it is off
| What | Off |
|---|---|
<head> |
A bare <title>, from the page, product or article itself |
| Stored SEO overrides | Not applied, on pages, articles, products and categories |
| JSON-LD | None: seo_json_ld() returns null, cms_faq() emits no FAQPage |
| hreflang | None: seo_hreflang() returns '' |
/sitemap*.xml, /llms.txt |
404 |
robots.txt |
Allow: /, without the Sitemap: line |
| Admin | The SEO fields and tabs are hidden on pages, articles, products, categories and landing datasets |
Nothing is deleted. The stored SEO data stays on each row, so switching the module back on restores every override as it was.
The theme helpers return their empty values rather than failing, so a
theme needs no change when a website switches it off. The switch acts in
cms-core's SEO partial and helpers: a theme that overrides
{% block seo %} and writes its own tags keeps printing them.
Not the switch that hides a site
Turning SEO off only stops helping crawlers. Pages stay indexable:
robots.txt still allows everything and no noindex is sent.
To keep a site out of search results, use Websites → General → Search
engines → "Hide this site from search engines", see
Hiding a site from search engines.
That switch works whether the SEO module is on or off: with SEO off, the
head is the title plus <meta name="robots" content="noindex,nofollow">,
and robots.txt says Disallow: /.
Per-website settings
None. The module is a toggle; the SEO content itself lives on the pages, articles, products and categories it describes.