<!-- page:8220 -->
# SEO

Public wikis serve crawlable pages without a separate build or SEO plugin. [Private](page:3112) wikis stay hidden from search engines, apart from a page shared through a public link.

<!-- block:3121 -->
## Server-rendered HTML

Pages render to plain HTML on the server, no SPA shell. `curl`, screen readers, and search engine bots see the content directly; no JavaScript needed for the first paint.

<!-- block:3122 -->
## Open Graph and Twitter cards

Every public page emits the full Open Graph set (`og:site_name`, `og:title`, `og:description`, `og:url`, `og:type`, `og:image`, `og:locale`) plus `article:modified_time` with the date of the last change. Pages also include a Twitter `summary` card with title, description and image.

By default, the description comes from the page's lead or, if it has none, its first non-empty block. An agent can set a different one for a page.

<!-- block:3123 -->
## Sitemap and robots.txt

`/sitemap.xml` is a sitemap index that points at one `/sitemap-wiki:N.xml` per public wiki. Each per-wiki sitemap lists the home plus every page, with the row's `updated_at` as `<lastmod>`. Private and archived wikis are filtered out before the index is generated.

`/robots.txt` is served at the root, references the sitemap inline, allows `/`, and disallows the auth, MCP, manage, and history routes.

<!-- block:3124 -->
## Slugged URLs and 301 redirects

A page URL has the shape `/{owner}/{wiki}/{id}-{slug}`. The numeric id stays stable across renames; the slug is for humans. A request to a stale slug 301s to the canonical URL, so external links keep working and search engines are told which address is canonical.

<!-- block:3125 -->
## JSON-LD: Article, WebSite, BreadcrumbList

The HTML of every public page contains a `<script type="application/ld+json">` block. Pages get an `Article` schema (`headline`, `dateModified`, `author`, `url`, `inLanguage`, `isPartOf`) plus a `BreadcrumbList` walking owner → wiki → page. Wiki home gets `WebSite` plus a two-step `BreadcrumbList`.

The structured data, the link preview and `<meta name="description">` all use the same description. Google can render the breadcrumbs as hierarchical chips in SERP.

---

## Links here

- [Public reference](page:59337)
- [Visibility](page:3112)

---

[All pages](https://wikilayer.org/smee-again/wikilayer-howto/en/index.md)
