docs.json’s seo key controls how this site behaves in search engines and in link previews on other platforms (Slack, LinkedIn, and so on). This page covers what’s configured today. Expect it to grow as more of Mintlify’s seo.* options get used.
Automatic per-page social previews
Every page automatically getsog:title, og:description, og:image, and matching twitter:* meta tags, with no per-page configuration required. Mintlify renders these directly from that page’s own frontmatter title and description. See Metadata for how those fields are written. Improving a page’s link-preview text is a metadata edit, not an seo setting.
This site’s own
style.css hides description from rendering under the page title, so it never shows up as on-page text here; its only jobs are the social-preview tags above and an external search-engine result snippet.Custom background
The auto-generated preview image renders the title and description onto a background image, set once for the whole site:images/og-background.png is a brand-color gradient with the Hugo mascot placed in the bottom-right corner. Mintlify’s title/description text always renders in the top-left, so Hugo stays clear of it regardless of how long a given page’s title or description is.
Canonical URL
canonical is a base domain, not a fixed single URL. Mintlify appends each page’s own path to it automatically.
Structured data and organization
Not yet configured. Mintlify can publish aseo.organization block (name, logo, social profiles) that feeds the site’s structured-data graph, separate from the social-preview thumbnails above.
Indexing controls
Mintlify generates a standardsitemap.xml and robots.txt automatically, listing only pages included in docs.json’s navigation. Either file can be overridden by placing a same-named file at the project root. There is no per-language variant and no filtering hook beyond that: a hidden page (hidden: true frontmatter) is excluded from both by default unless seo.indexing is added to docs.json.
This native sitemap is unrelated to the Userflow sitemap below: one is for search-engine crawling, the other feeds a third-party in-app tool.
The search box is a separate system
Everything above is aboutseo, external search engines, and social platforms. The search bar in this site’s own header is a different, unrelated system, not to be confused with the SuperOffice product’s own “Onsite” (on-premise) deployment option. It has its own two levers, boost and searchable, set in page frontmatter or at the docs.json/config/nav-*.json group level, never under docs.json’s seo key. seo.indexing doesn’t touch it either way. noindex, however, does reach it: the boolean frontmatter field removes a page from this search box’s results entirely, not just from Google. It’s one bundled switch covering external indexing, the sitemap, this site’s own search, and the AI assistant’s context all at once (see Metadata’s noindex row, and its note on the separate robots field for an external-only alternative). Don’t expect boost to affect Google or social-preview behavior either way.
Userflow’s sitemap
Userflow (the in-app onboarding tool built into the CRM product) has a Resource Center knowledge-base search block per language, each configured with a Knowledge base URL pointed atdocs.superoffice.com/learn-<lang>.html. That URL has to keep resolving to a flat list of current help-article links for its language, independent of Mintlify’s own sitemap.
Six hidden pages, learn-<lang>.mdx at the repo root, serve this today. Each is a flat <a href='URL'>URL</a><br /> list, matching the legacy DocFx pipeline’s format. Each lists:
-
Every page under that language’s own
*/learn/*folders -
Every page anywhere in the repo flagged
userflow_index: truein frontmatter (see Metadata): a hand-curated addition for pages outside alearnfolder, such asadmin/how-tos. A flagged page with no language prefix (for exampleintegrations/) is treated as shared and appears in every language’s list.
tools/build-learn-sitemaps.py regenerates all six pages from the current content tree and nav config: no dependency on a built site, so it is safe to re-run any time a learn or userflow_index page changes. The old /learn-<lang>.html URLs redirect to the new pages via config/redirects.json, so nothing needs to change in Userflow’s own settings.
No scheduled automation regenerates these pages yet, unlike the broken-link-detection automation in Automated tests. Re-run the tool by hand for now.
Related content
- Metadata: the frontmatter fields that feed every page’s automatic social preview, and the
userflow_index/hiddenproperties. - Configuring Mintlify: where
seosits insidedocs.json’s overall layout.