Audit MDX frontmatter quality and SEO metadata#12
Open
mintlify[bot] wants to merge 1 commit intomainfrom
Open
Conversation
- Replace placeholder/import-string descriptions on GPv2 contract pages - Rewrite descriptions that contained orphan markdown link gaps - Shorten descriptions over 160 characters for better SEO - Lengthen descriptions under 50 characters with CoW Protocol context - Add missing descriptions to 13 pages - Add sidebarTitle to pages with titles longer than 30 characters - Resolve duplicate descriptions on GPv2 reference pages Generated-By: mintlify-agent
Author
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Audited all 373 MDX files for SEO, metadata, style, and structural issues. Applied automatic fixes to frontmatter; remaining items require human judgment and are listed below.
Automatic fixes (90 files)
Replaced broken/placeholder descriptions
Three GPv2 contract reference pages had
description: "import HistoricalFact from './_gpv2.md'"(a stray import that ended up as a duplicate description). Replaced with concise, contract-specific summaries:cow-protocol/reference/contracts/core/allowlist.mdxcow-protocol/reference/contracts/core/settlement.mdxcow-protocol/reference/contracts/core/vault-relayer.mdxRewrote descriptions with orphan link gaps
24 pages had descriptions that were extracted from page bodies during a prior import — markdown link text was stripped leaving telltale double spaces (e.g.
"leveraging the to execute…"). Rewrote each as a concise, SEO-friendly summary that mentions CoW Protocol / CoW Swap / CoW DAO. Notable examples:cow-protocol/explanation/architecture/solver-engine.mdxcow-protocol/explanation/order-types/cow-hooks.mdxcow-protocol/reference/contracts/periphery/eth-flow.mdxcow-protocol/reference/core/auctions.mdxcow-protocol/reference/core/tokens.mdxgovernance/explanation/snapshot.mdxgovernance/reference/multisigs.mdxShortened over-length descriptions (>160 chars)
Trimmed 34 descriptions that exceeded the 160-character SEO limit (some up to 575 chars), keeping the technical meaning intact. Affected directories include
cow-protocol/explanation/,cow-protocol/reference/,cow-protocol/tutorials/,cow-swap/,composable-cow/,bff/, andgovernance/.Lengthened too-short descriptions (<50 chars)
Expanded 12 short or stub descriptions to include CoW Protocol / product context for SEO:
changelog.mdx,mevblocker.mdxcow-py/api/contracts.mdx,cow-py/api/subgraph.mdx,cow-py/installation.mdxhooks-trampoline/api/errors.mdxwatch-tower/advanced/storage.mdx,watch-tower/deployment/dappnode.mdx,watch-tower/deployment/docker.mdxAdded missing descriptions (13 pages)
cow-amm/explanation/how-cow-amms-work.mdxcow-amm/tutorials/cow-amm-for-solvers.mdxcow-protocol/explanation/architecture/autopilot.mdxcow-protocol/howto/solvers/onboard.mdxcow-protocol/howto/solvers/routes_integration.mdxcow-protocol/reference/core/definitions.mdxcow-protocol/reference/sdks/cow-sdk.mdxcow-swap/hooks/hook-dapp.mdxgovernance.mdx,governance/explanation/process.mdxgovernance/reference/cip-template.mdx,governance/reference/fees.mdx,governance/reference/partner-fee.mdxAdded
sidebarTitlefor long page titles (>30 chars)Added concise sidebar titles to 17 pages so navigation labels stay readable, including:
cow-amm.mdx(CoW AMM overview)cow-amm/explanation/the-problem-of-lvr.mdx(The problem of LVR)cow-protocol/explanation/introduction/fair-combinatorial-auction.mdx(FCBA)cow-protocol/howto/solvers/onboard.mdx(Joining the solver competition)cow-protocol/reference/core/auctions/the-problem.mdx(The solving problem)cow-sdk/guides/erc1271-signing.mdx(ERC-1271 signing)cow-swap/tutorials/dca-twap.mdx(DCA with TWAP)Validation
mint validate— passedmint broken-links— passedIssues requiring human judgment
The audit also surfaced findings that are out of scope for automatic remediation. Listing them here for follow-up.
Diataxis compliance / mixed concerns
Several pages mix more than one Diataxis quadrant. Suggested splits / re-classifications:
cow-protocol/howto/integrate/api.mdx— currently a 713-line "guide" that contains tutorial walkthrough, how-to recipes, and reference material. Consider splitting into a tutorial (tutorials/integrate-via-api) plus targeted how-to pages.cow-protocol/howto/solvers/onboard.mdx— mixes explanation ("Why join?") with how-to steps. The explanatory sections could move undercow-protocol/explanation/.cow-protocol/tutorials/cow-amm-deployer.mdx— described as a "tutorial" but reads like a feature overview. Consider moving tocow-protocol/explanation/or rewriting around concrete, hands-on steps.cow-swap/hooks/hook-dapp.mdx— currently a link hub. Either expand into a real explanation/how-to page or replace with a Cards block on a parent index.Verbose introductions / leading with filler
Pages where the opening prose buries the answer:
cow-protocol/howto/cow-explorer.mdx(line 1+) — leads with off-chain/on-chain context before explaining what the explorer does.cow-protocol/tutorials/solvers/local_test.mdx(line 1+) — opens with "CoW Protocol infrastructure is a lot of services running together in herd harmony…" before stating the goal.cow-swap/tutorials/native.mdx— first paragraph defines "native token" generically rather than telling the reader what they will achieve.governance/explanation/token.mdx— opening paragraph is marketing copy; could lead with concrete utility.Component usage
bff/,composable-cow/,cow-protocol/explanation/how-it-works/how-intents-are-formed.mdx,cow-protocol/howto/,cow-sdk/,services/. Many appear to be JSON, JavaScript, or shell snippets — addingjson,js,bash,soliditytags would improve syntax highlighting and accessibility. Sample locations:bff/api-reference/endpoints/accounts.mdx:112,118,125composable-cow/tutorials/custom-order-type.mdx:12,36,348cow-protocol/explanation/how-it-works/how-intents-are-formed.mdx:13,21,220,230,244,252,262,274cow-protocol/howto/integrate/api.mdx,cow-protocol/howto/solvers/onboard.mdx) use bare ordered lists where<Steps>would render more clearly.cow-protocol/explanation/order-types/liquidations.mdxandcow-protocol/howto/cow-explorer.mdxwould benefit from<Note>/<Warning>callouts on key caveats currently rendered as plain text.Other notes
cow-protocol/reference/contracts/core/{allowlist,settlement,vault-relayer}.mdxreference animport HistoricalFact from './_gpv2.md'line in their bodies — left untouched here because it appears to be intentional content reuse, but worth confirming the import resolves correctly.cow-protocol/reference/sdks/cow-sdk.mdxis markedhidden: trueand largely contains test-coverage and badge content. Consider deleting or replacing with a proper landing page.cow-amm.mdxis markedhidden: truebut is the canonical CoW AMM marketing page; verify whether this should be visible.No technical content was changed — only frontmatter, descriptions, and sidebar titles.