20 Commits

Author SHA1 Message Date
mintlify[bot] aeee4d4eb1 Apply SEO and metadata best practices (#6489)
* docs: improve SEO title and descriptions for custom domain and Vercel pages

* Apply suggestion from @ethanpalm

* Apply suggestion from @ethanpalm

---------

Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
2026-07-10 09:15:57 -07:00
mintlify[bot] 9540ae22d9 docs: fix grammar and formatting in custom domain guides (#6488)
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
2026-07-10 01:07:39 +00:00
Ethan Palm be7a1371ac Custom domain updates (#6465)
* docs: update custom domain setup for new dashboard flow

Reflect the new custom domain UI: hosting mode selector (domain/subdomain
vs subpath), traffic routing options (Mintlify-managed vs proxy-only),
arbitrary base paths with reserved-path list, and base path changes that
redeploy with rollback on failure. Replace references to the removed
Host at /docs toggle in the Vercel and reverse proxy guides.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* copy edit

* update images

* docs: update subpath proxy guides for dashboard base paths

Custom subpaths no longer require documentation files to live in a
directory matching the subpath. The base path set in the dashboard is
applied at build time, so the custom subpath reverse proxy setup now
uses the same routing configuration as /docs with the path substituted.
Add dashboard base path setup steps to the Vercel, Cloudflare Worker,
and Route 53/CloudFront guides.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* 💅

* add plan gate

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* update vercel generator

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* remove gate

* remove gate

* Fix review findings: shared subpath setup snippet, generalize /docs framing, clarify Host header and script guidance

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Align hosting mode and traffic routing labels with dashboard UI, update screenshot alt text

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Fix root-only special file routing: path-preserving nginx destinations, restore sitemap/robots/mcp rewrites, sanitize generator input

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Add apex domain DNS provider requirements

Apex domains get the same CNAME instruction as subdomains, but a CNAME
at the apex requires provider support for CNAME flattening or ALIAS
records. Document the requirement and supported providers, and link to
it from the hosting mode section.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Correct special-file routing to base-path destinations per live verification, remove stale toggle images, generalize propagation snippet

Verified against mintlify.mintlify.site: all special files (sitemap.xml,
robots.txt, mcp, skill.md, llms.txt) serve under the base path and 404 at
root, so root-mapping rewrites are reverted and optional root routes now
proxy to base-path destinations. Broken links in es/fr/zh from image
deletion resolve via post-merge translation automation.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* remove outdated images

* Update dashboard instructions for Host at toggle UI (mint #8979)

The hosting mode selector and traffic routing options were replaced with
a Host at toggle and inline base path input; routing is now inferred from
DNS. Verified against mint origin/main commit 6fb20b1789.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* 💅

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 18:04:01 -07:00
Ethan Palm 017d7c7377 Fix Vale warnings (#6378)
* fix: reduce Vale false positives via vocab and config updates

- Make English-word vocab entries case-insensitive so sentence-start
  capitalization and normal prose usage stop flagging (agents, rest,
  cursor, setup, endpoints, etc.)
- Add vocab entries for filenames and code identifiers that appear in
  frontmatter and JSX contexts (docs.json, llms.txt, CLAUDE.md, etc.)
- Ignore openapi frontmatter lines, filenames, JSX attributes, email
  addresses, and internal link targets via TokenIgnores
- Skip inline code scope and indented code fences
- Add Headings exceptions for proper nouns (Claude Code, GitHub
  Actions, Route 53, GA4, etc.)
- Disable linting for the all-code vercel-json-generator snippet

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: resolve all Vale warnings and errors across docs

Content fixes:
- Reword sentences using 'will', first person, spaced em dashes,
  'e.g.', Latin abbreviations, and hyphenated adverbs
- Sentence-case headings that started with dotted filenames
- Backtick literal API values instead of bolding them
- Move periods inside quotation marks
- Fix Oxford comma rule misfires by restructuring sentences

False-positive suppression:
- Vale toggles around example user questions, keyboard shortcut keys
  (Cmd+I), UI labels, and code samples in JSX contexts that Vale
  misparses
- Exclude vale toggle comments from the brace Token/BlockIgnores so
  in-document commands actually reach Vale (the greedy brace pattern
  was also silently swallowing large regions; now lazy)
- Vocab entries for code identifiers (internal_id, handleSubmit, etc.)
- Per-file rule disables for component docs with dotted JSX names and
  files where link-target linting ignores in-document toggles

Result: vale --minAlertLevel warning is clean repo-wide; only
suggestion-level items (Passive, Semicolons, Acronyms) remain.
mint broken-links passes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: correct WordList rule instead of degrading prose

- Restore sentence-start "Email" in advanced-support; the rule now
  only flags hyphenated e-mail/E-mail forms
- Restore the idiom "above all else"; the above->preceding swap now
  exempts "above all"

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: restore deliberate prose flagged by blunt rules

- Restore spatial 'above the navbar' / 'above a page title' in
  custom-scripts; the above->preceding swap now exempts 'above
  the/a/an'
- Restore the '= ...' in the react-components named-export example
  (the ellipsis is inside inline code) with an Ellipses toggle
- Restore SLA phrasing 'will use commercially reasonable efforts'
  with a Will toggle
- Restore the quoted developer question in the GEO guide intro with a
  FirstPerson toggle, matching the file's other example questions

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: remove WordList swaps that flag legitimate English

- Drop tablet->device and firewalls->firewall rules; both words are
  correct in ordinary prose
- Narrow touch->tap to UI-instruction phrasing (touch the/a) so
  'keep in touch' and 'touch devices' stop flagging

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: reposition vale toggles to wrap whole blocks

Toggle comments placed between list items split the lists (restarting
ol numbering in deployments) and comments flush against tables risked
breaking GFM table parsing. Wrap entire lists/tables with blank-line
separation instead. Verified rendering with mint dev: single ol with
two items, tables intact, no comments in visible DOM.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor: prune accept.txt to load-bearing entries

Empirically removed 166 vocab entries (575 -> 409) whose removal
causes no Vale flags across all 908 English pages: dictionary words
that never needed listing (agents, setup, endpoints, webhooks, yaml),
lowercase entries the speller already accepts, and filename entries
made redundant by inline vale toggles.

Kept every case-enforcing entry (API, JSON, GitHub, ...) so casing
policy is unchanged, plus entries that double as capitalization
exceptions for headings (mcp, md, auth, cursor, txt).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Update ai/mintlify-mcp.mdx

* Update api/agent/v2/create-agent-job.mdx

* chore: alphabetize Headings exceptions and accept.txt

Case-insensitive sort, ignoring the (?i) prefix; also drops a
duplicate Scala entry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: re-apply OxfordComma rewrite lost in branch merge

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: resolve Vale suggestions batch 1 (acronyms, semicolons, passive voice)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: resolve remaining Vale suggestions (passive voice batch 2)

Rewrite ~90 passive constructions to active voice across deploy,
guides, migration-services, and organize docs. Toggle the deliberate
passive examples in the style-and-tone guide ('by zombies' test).
Add axios/lodash vocab entries for a repositioned code example.

vale . is now fully clean: 0 errors, 0 warnings, 0 suggestions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 17:17:56 -07:00
mintlify[bot] 3ca550b188 Update from code changes: switch hosted docs domain to mintlify.site (#6296)
* docs: update hosted docs domain to mintlify.site

* docs: complete mintlify.site migration across remaining pages

Updates 45 files that PR 6282 had originally changed but were
reverted by PR 6285 and not re-addressed in this PR:

- snippets/vercel-json-generator.mdx (all 4 locales): rewrite
  destinations now use mintlify.site, consistent with deploy/vercel.mdx
- assistant/use.mdx: example deep-link URLs
- ai/skillmd.mdx: agent card subdomain reference
- guides/assistant-embed.mdx: docsURL code example
- guides/codex.mdx: MCP URL example
- deploy/authentication-setup.mdx: example Mintlify subdomain
- discovery-openapi.json: domain identifier URL descriptions (4 occurrences)
- integrations/privacy/osano.mdx: managed rule domain
- editor/branching-and-publishing.mdx: branch preview URL format
- customize/themes.mdx: theme demo site links
- guides/help-center.mdx: live example link
- zh/editor/collaborate.mdx: branch preview URL format

All changes mirrored across es, fr, and zh locales.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 10:51:54 -07:00
mintlify[bot] 946977abe5 docs: replace first-person plural with active voice in technical docs (#6286)
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
2026-06-25 15:21:16 -07:00
Ethan Palm 2c99f3c736 Revert "Update from code changes: hosted docs domain is now mintlify.site (#6…" (#6285)
This reverts commit 553e2813ac.
2026-06-25 14:10:23 -07:00
mintlify[bot] 553e2813ac Update from code changes: hosted docs domain is now mintlify.site (#6282)
* docs: update hosted docs domain to mintlify.site

* docs: tighten zh reverse proxy intro for translation parity

---------

Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
2026-06-25 11:58:10 -07:00
Ethan Palm 6bb14aa061 docs: replace dashboard.mintlify.com with app.mintlify.com (#5990)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 15:42:09 -07:00
mintlify[bot] f14cca3b52 Standardize style and tone across docs (#5652)
* Standardize style: 'Click' to 'Select' for Mintlify UI; split long sentences

Generated-By: mintlify-agent

* Revert 'select' back to 'click' for UI interactions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix select→click for UI elements across docs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 15:34:08 -07:00
mintlify[bot] 693dbc361f Fix Vale style warnings from PRs merged in the last week (#5690)
* Fix Vale style warnings across docs from past week of merges

Generated-By: mintlify-agent

* Apply suggestion from @ethanpalm

* Apply suggestion from @ethanpalm

* Apply suggestion from @ethanpalm

* Apply suggestion from @ethanpalm

* Apply suggestion from @ethanpalm

* Apply suggestions from code review

Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>

---------

Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
2026-05-07 10:28:17 -07:00
skeptrune 9200586a3a Boost search ranking for single-word title pages (#5670)
* docs: boost search ranking for single-word title pages

Apply `boost: 3` to English pages whose H1 / frontmatter title is a single word (e.g. "Assistant", "Quickstart", "Cards"). Short titles tend to be canonical landing pages for a topic, so users searching the exact term should land on them first.

* docs: drop boost on websocket-playground stub to keep canonical Playground ranking

`api-playground/websocket-playground.mdx` is an auto-generated AsyncAPI stub with no body content but shares the title "Playground" with `api-playground/overview.mdx`. Boosting both equally diluted the canonical overview page in search for the query "playground". Drop the boost on the stub.
2026-05-05 10:30:58 -07:00
mintlify[bot] f8e015ff62 Improve SEO descriptions across 177 pages (#4993)
* Improve SEO metadata: update descriptions to 130-155 chars across 177 pages

Generated-By: mintlify-agent

* Apply suggestion from @ethanpalm

* Apply suggestions from code review

Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>

* 💅

---------

Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
2026-03-31 16:12:58 -07:00
Ethan Palm 3dc3852b7a SEO descriptions (#4028)
* Improve SEO descriptions across 47 pages

Curated descriptions from two bot-generated PRs (#3908, #3949),
selecting the best approach for each page:
- Added missing title and description frontmatter to 10 API reference pages
- Benefit-focused descriptions for integration pages (not implementation-heavy)
- Accurate REST-aligned titles for API endpoints (Export, List, Trigger, etc.)
- Expanded short descriptions to 50–160 character range throughout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* copyedit

* Update custom-domain.mdx

* Fix analytics API page titles to match spec summaries

"Export" was inaccurate — spec uses "Get" for both endpoints.
Also updated descriptions to use "Retrieve" for consistency.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 16:46:28 -08:00
Leyland Yang 31c847dce4 Remove custom subpath plan restrictions (#2294)
* Update deploy/vercel.mdx

Co-Authored-By: mintlify-development[bot] <109878554+mintlify-development[bot]@users.noreply.github.com>

* Update deploy/docs-subpath.mdx

Co-Authored-By: mintlify-development[bot] <109878554+mintlify-development[bot]@users.noreply.github.com>

---------

Co-authored-by: mintlify-development[bot] <109878554+mintlify-development[bot]@users.noreply.github.com>
2025-12-12 17:41:44 -08:00
mintlify[bot] 8c0886aaf8 Clarify /docs subpath vs custom subpath setup (#1993)
* Update customize/custom-domain.mdx

* Update deploy/vercel.mdx

* Update deploy/cloudflare.mdx

* Update deploy/route53-cloudfront.mdx

* create overview for setting up /docs subpath

* add h3

* update vercel + move non-subpath content to new file

* correct Cloudflare page

* clean up AWS

* reviewer feedback

---------

Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
2025-12-03 09:52:33 -08:00
Ethan Palm 4c31f3683c SEO: add keywords to pages (#1775)
* ai/ keywords

* api/ keywords

* components/ keywords

* create/ keywords

* customize/ keywords

* api-playground/ keywords

* dashboard/ keywords

* deploy/ keywords

* guides/ keywords

* insights/ keywords

* integrations/ keywords

* optimize/ keywords

* organize/ keywords

* root/ keywords

* rm temp files
2025-11-14 14:08:24 -08:00
Ethan Palm 4b68a8e5ec Update descriptions for SEO (#1767)
* add global metatags

* set "indexing": "all"

* update AI group descriptions

* api-playground descriptions

* root level page descriptions

* component descriptions

* create descriptions

* customize descriptions

* dashboard descriptions

* deploy descriptions

* guides descriptions

* insights descriptions

* api-playground

* organize descriptions

* Integrations descriptions
2025-11-13 17:14:39 -08:00
Ethan Palm 20f0434a81 Clarify "Generate rewrites" tool to only be used for custom base paths (#1485)
* clarify rewrite methods

* add images

* copyedits

* move note about repository structure

* add missing `/docs` from rewrites

* update snippet to use `subpath`

* consolidate /docs steps

* copyedit
2025-10-07 13:45:18 -07:00
Ethan Palm 654d533b90 Task based IA (#1353)
* implement task-based IA

* rearrange pages

* tag examples

* add cookbook example

* add a components menu

* rename cookbook to guides

* fix docs.json after adding translations

* prettier docs.json

* move content to Guides

* move GEO page to guides

* draft of ai-native page

* update body with info on reading/distributing

* copy edits

* 💅

* move guides above API reference

* remove CLI sidebarTitle

* update organization

* remove tags

* remove guides icons

* Update ai-native.mdx

* Update ai-native.mdx

* copyedits

* 💅

* even number of cards

* update discovering section

* remove components tab

* remove icons

* remove icon

* add group level icons

* update Get started group

* Update organize group

* update customize group

* update create content group

* shorten URLs

* update API group

* update deploy group

* update optimize and guides groups

* set up redirects

* update links

* add pdf page

* add missing icons

* remove default expanded state

* update docs.json
2025-10-01 11:55:34 -07:00