Repository navigation
docs(redirects): cover the remaining 404ing historical URLs - #2328
Conversation
Point DAppKit at Reown, old celocli utils/registry at cli/network, key recovery and MetaMask setup at metamask/use, Mento oracles at oracles/run, and align existing sibling entries (walkthroughs, consensus, recovery) with the same targets. Refs #2298
GigaHierz
left a comment
There was a problem hiding this comment.
Approving. I reproduced the central claim rather than taking the PR body's word for it:
# this branch
$ npx mintlify@4.2.910 broken-links --check-redirects
success no broken links found
$ npx mintlify@4.2.910 validate
success build validation passed
$ bash scripts/check-orphans.sh
No orphan pages found.
# origin/main docs.json, same CLI
$ npx mintlify@4.2.910 broken-links --check-redirects
found 9 broken links in 1 files
/blog/2022/01/08/valora-wc-v1 → /
/celo.org → /
/blog/tags/celo.org → /
/blog/tags/docs.celo.org → /
/blog/tutorials/devrel@celo.org → /
/blog/tutorials/docs.celo.org → /
/docs.celo.org → /
/faqs → /
/faqs#what-is-celos-supply → /
Exactly the nine predicted, and the branch clears them. I also checked the array's invariants directly: 974 entries, 0 duplicate sources, 0 destinations that are themselves a redirect source, 0 destinations pointing at /. So the one-hop rule holds structurally, not just on the sampled URLs.
The reasoning for dropping the alphabetical-sort ask from #1846 is right — that requirement was written against the Docusaurus _redirects file, and in Mintlify an exact source beats a wildcard regardless of position. Sorting would buy nothing and make every future insertion a large diff.
The "left as 404" calls all look correct to me: pages that were never public shouldn't get redirects.
Merging this, then picking up #2329 once it retargets.
About 600 old public URLs from the Docusaurus and GitBook eras still returned 404 after #2299, and a handful of existing redirects either never fired or sent readers to the wrong page. This adds 180 redirects and 6 subtree wildcards for the remaining URLs from the #2298 audit, re-points 28 existing entries, and decodes 15
%20sources that Mintlify never matched. Destinations follow the rule #2279 and #2299 used: each one is a page in the navigation and not itself a redirect source. That also rules out/, which production redirects again to/home/celo.What changed
/developer-resourcesand/developer-guideURLs, then 6 wildcards at the end of the array:/blog/:slug*(and a bare/blog) to/build-on-celo, plus/protocol/bridge/,/protocol/bridging/,/bridge/,/community/celo-sage/and/build-on-celo/build-with-ai/celina/. None of the wildcard prefixes has a live page under it./developer/rainbowkit-celo/:slug*pointed into pages that don't exist. Nine entries pointed at/. The rest send the same old page to the target the new entries use, so the old URL families agree with each other.one-click%20quickstartnever fired. The 13 blog entries and 2 thirdweb entries now use literal spaces (and|). Checked withmint dev, with a revert as control.Left as 404
/v2/*, 107 URLs. Every file comes from c64cd3f, which only exists onsophia-editsand never reachedmain. These pages were never public./developer-resources/**/reference/**, 445 typedoc dumps. The top-leveldeveloper-resources/tree lived for two days in March 2021 as a GitBook import. GitBook served those pages under/developer-guide/..., which existing entries already cover./broken,/markdown-features,/thank-you,/example,/getting-started/new-page,/cel2/test, which never held content.Verification
mainthe same script reports 647 failures.mint dev: all redirect to the intended page. The declined URLs still 404.mint dev: the only behaviour changes are the intended ones above.mint devsends/hometo/home/celoand/tooling/oraclesto/tooling/oracles/run. Production serves theindexpage at both, so those destinations are correct.Known leftovers
/command-line-interface/commands/exchange%5B/TD%5Dhas the same encoding problem but decodes to[/TD], which may be special in the route matcher. Left alone./developer-resources/contractkit/usageand/developer-guide/contractkit/usagego tocontractkit/setupalthoughcontractkit/usageis a live page.celo.org/code-of-conduct,celo.org/papers, the faucet).Refs #2298. Still open there: confirm the GA4 "Page Not Found" share drops after deploy, and wire Search Console or a
page_pathdimension to catch future gaps.Added redirects (186)
/protocol/bridging/bridging-to-celo/home/bridged-tokens/bridges/protocol/governance/create-proposal/home/protocol/governance/create-governance-proposal/protocol/optics/tooling/bridges/bridges/protocol/oracle/chainlink/tooling/oracles/chainlink-oracles/protocol/oracles/band-protocol-how-to/tooling/oracles/band-protocol/protocol/oracles/oracles-on-celo/tooling/oracles/protocol/oracles/redstone-protocol-how-to/tooling/oracles/redstone/protocol/plumo/home/celo-l1/protocol/pos/becoming-a-validator/contribute-to-celo/community-rpc-nodes/registering-as-rpc-node/protocol/precompiles/operate/specification/l2-migration#precompile-deprecation-and-epoch-management/protocol/stability/adding-stable-assets/build-on-celo/build-with-local-stablecoin/protocol/stability/doto/build-on-celo/build-with-local-stablecoin/protocol/stability/granda-mento/home/celo-l1/protocol/stability/oracles/tooling/oracles/run/protocol/stability/stability-fees/home/celo-l1/protocol/stability/tobin-tax/home/celo-l1/protocol/token-bridges/home/bridged-tokens/bridges/protocol/transaction/home/protocol/transactions/overview/protocol/transaction/full-node-incentives/home/celo-l1/developer/build-on-minipay/enabling-testnet/build-on-celo/build-on-minipay/overview/developer/build-on-minipay/prerequisites/android-studio-setup/build-on-celo/build-on-minipay/overview/developer/build-with-ai/examples/build-on-celo/build-with-ai/usecases/developer/build-with-ai/resources/build-on-celo/build-with-ai/overview/developer/build-with-ai/tools/build-on-celo/build-with-ai/overview/developer/celo-ethers-wrapper/tooling/libraries-sdks/ethers/developer/dappkit/tooling/libraries-sdks/reown/developer/dappkit/setup/tooling/libraries-sdks/reown/developer/dev-environments/overview/tooling/dev-environments/developer/examples/chainlink-ccip/tooling/bridges/cross-chain-messaging/developer/faucet/build-on-celo/network-overview/developer/react-celo/tooling/libraries-sdks/contractkit/migrating-to-viem/developer/socialconnect/build-on-celo/build-on-socialconnect/developer/tools/tooling/overview/developer/walkthrough/hello-celo/build-on-celo/developer/walkthrough/hello-contract-remote-node/tooling/dev-environments/developer/walkthrough/hello-contracts/tooling/dev-environments/developer/walkthrough/no-code-erc20/tooling/dev-environments/remix/developer/walkthrough/no-code-erc721/tooling/dev-environments/remix/developer/walkthrough/using-js-keystores/tooling/libraries-sdks/celo-sdks/developer/walkthrough/web-dapp/build-on-celo/quickstart/developer/walkthroughs/hello-contract-remote-node/tooling/dev-environments/developer/walkthroughs/hellocelo/build-on-celo/developer/walkthroughs/hellocontracts/tooling/dev-environments/developer/walkthroughs/valora-wc-v1/tooling/libraries-sdks/reown/developer/web3modal/tooling/libraries-sdks/reown/developer/web3modal/ethers/tooling/libraries-sdks/reown/developer/web3modal/wagmi/tooling/libraries-sdks/reown/cel2/add-cel2-testnet-to-metamask/tooling/wallets/metamask/add-celo-testnet-to-metamask/cel2/bridging/bridging-celo-from-holesky-to-alfajores-using-viem/home/bridged-tokens/bridging-celo-from-ethereum/cel2/bridging/bridging-celo-from-holesky-to-dango-using-viem/home/bridged-tokens/bridging-celo-from-ethereum/cel2/bridging/bridging-celo-from-l1-to-l2-using-viem/home/bridged-tokens/bridging-celo-from-ethereum/cel2/bridging/withdrawing-celo-from-alfajores-to-holesky-using-viem/home/bridged-tokens/withdrawing-celo-to-ethereum/cel2/bridging/withdrawing-celo-from-dango-to-holesky-using-viem/home/bridged-tokens/withdrawing-celo-to-ethereum/cel2/bridging/withdrawing-celo-from-l2-to-l1-using-viem/home/bridged-tokens/withdrawing-celo-to-ethereum/cel2/contract-addresses/tooling/contracts/l1-contracts/cel2/decision-tree/operate/notices/archive/l2-migration/cel2/deploy-contract/tooling/dev-environments/cel2/developers-builders/build-on-celo/cel2/network-information/build-on-celo/network-overview/cel2/notices/native-ETH-bridging/home/bridged-tokens/native-ETH-bridging/cel2/notices/pectra-upgrade/operate/notices/overview/cel2/notices/succinct-upgrade/operate/notices/archive/jello-upgrade/cel2/operators/community-rpc-provider/contribute-to-celo/community-rpc-nodes/community-rpc-node/cel2/operators/custom-node/operate/operators/run-node#build-from-source/cel2/operators/docker-node/operate/operators/run-node/cel2/operators/migrate-archive-node/operate/operators/archive-node/cel2/operators/operator-guide/operate/operators/overview/cel2/validators-in-the-l2/contribute-to-celo/community-rpc-nodes/how-it-works/cel2/whats-changed/operate/specification/l2-migration/community/StackShift/StackShift/contribute-to-celo/builders/community/code-of-conduct/contribute-to-celo/contributors/overview/community/contributing/contribute-to-celo/community/fundraising/build-on-celo/fund-your-project/community/grant-playbook/build-on-celo/fund-your-project/community/guidelines/contribute-to-celo/contributors/overview/community/join-the-community/contribute-to-celo/community/release-process/README/contribute-to-celo/release-process/community/release-process/celo-oracles/contribute-to-celo/release-process/community/translation-contributors/contribute-to-celo/contributors/overview/celo-codebase/protocol/README/home/protocol/celo-codebase/protocol/bridging/bridging-to-celo-zh_cn/tooling/bridges/bridges/celo-codebase/protocol/consensus/README/home/celo-l1/celo-codebase/protocol/governance/home/protocol/governance/overview/celo-codebase/protocol/identity/README/build-on-celo/build-on-socialconnect/celo-codebase/protocol/proof-of-stake/README/home/protocol/staking/celo-codebase/protocol/stability/README/build-on-celo/build-with-local-stablecoin/celo-codebase/protocol/stability/tobin-tax/home/celo-l1/celo-codebase/protocol/transactions/README/home/protocol/transactions/overview/celo-codebase/protocol/transactions/full-node-incentives/home/celo-l1/celo-codebase/protocol/transactions/tx-comment-encyption/home/protocol/transactions/tx-comment-encryption/celo-codebase/style-guide/typescript/contribute-to-celo/contributors/code-contributors/celo-codebase/wallet/README/tooling/wallets/general/celo_l1_index/home/celo-l1/general/ecosystem/guides/create-proposal/home/protocol/governance/create-governance-proposal/general/ecosystem/guides/fundraising/build-on-celo/fund-your-project/general/ecosystem/guides/grant-playbook/build-on-celo/fund-your-project/general/ecosystem/guides/guidelines/contribute-to-celo/contributors/overview/general/gallery/tooling/overview/general/glossary/home/general/using-celo/bridging/home/bridged-tokens/bridges/general/using-celo/dexes/home/exchanges/general/using-celo/voting/home/protocol/governance/voting-in-governance-using-mondo/general/using-celo/wallets/home/wallets/general/web2-to-web3/build-on-celo/general/whitepapers/home/history#white-papers/build-on-celo/build-with-ai/examples/build-with-nebula/build-on-celo/build-with-ai/overview/build-on-celo/build-with-ai/mcp/composer-mcp/build-on-celo/build-with-ai/mcp/index/build-on-celo/build-with-ai/multi-agent-systems/build-on-celo/build-with-ai/overview/build-on-celo/build-with-ai/tools/build-on-celo/build-with-ai/overview/build-on-celo/build-with-bridge/home/ramps/build-on-celo/build-with-zk-identity/build-on-celo/build-with-self/getting-started/faucet/build-on-celo/network-overview/getting-started/glossary/home/getting-started/running-a-full-node-in-alfajores/operate/operators/run-node/getting-started/running-a-validator-in-baklava/contribute-to-celo/community-rpc-nodes/community-rpc-node/getting-started/using-the-wallet/tooling/wallets/getting-started/wallets/using-metamask-with-celo/choosing-the-right-gas-price/tooling/wallets/metamask/use/getting-started/wallets/using-metamask-with-celo/metamask-setup/tooling/wallets/metamask/use/getting-started/wallets/using-metamask-with-celo/metamask-valora-import/tooling/wallets/metamask/import/getting-started/wallets/using-metamask-with-celo/programmatic-setup/tooling/wallets/metamask/setup/tooling/libraries-sdks/cli/dkg/tooling/libraries-sdks/cli/tooling/libraries-sdks/cli/exchange/tooling/libraries-sdks/cli/tooling/libraries-sdks/cli/lockedgold/tooling/libraries-sdks/cli/lockedcelo/tooling/libraries-sdks/cli/utils/tooling/libraries-sdks/cli/network/tooling/libraries-sdks/rainbowkit-celo/tooling/libraries-sdks/celo-sdks/legacy/node/run-alfajores/operate/operators/run-node/legacy/node/run-baklava/operate/operators/run-node/bridge/home/bridged-tokens/bridges/holder/home/wallets/holder/manage/exchange/home/manage/asset/holder/recover/from-celo-address/tooling/wallets/metamask/use/holder/recover/from-eth-address/tooling/wallets/metamask/use/holder/vote/governance/home/protocol/governance/voting-in-governance/holder/vote/governance-parameters/home/protocol/governance/governable-parameters/holder/vote/validator/home/protocol/staking/voting/what-is-celo/celo-website/home/celo/what-is-celo/using-celo/glossary/home/what-is-celo/using-celo/native-bridging/home/bridged-tokens/bridges/validator/contribute-to-celo/community-rpc-nodes/community-rpc-node/validator/validator-explorer/home/protocol/staking/voting#validator-explorers/home/manage/exchange/home/manage/asset/home/protocol/consensus/home/protocol/security-council/command-line-interface/registry/tooling/libraries-sdks/cli/network/FAQs/home/GLOSSARY/home/celo-holder-guide/overview/home/wallets/glossary/home/important-information/mainnet-network-disclaimer/build-on-celo/network-overview/uniswap-addresses/tooling/contracts/uniswap-contracts/welcome/home/index_old/home/developer-guide/dappkit/tooling/libraries-sdks/reown/developer-guide/dappkit/setup/tooling/libraries-sdks/reown/developer-guide/dappkit/usage/tooling/libraries-sdks/reown/developer-guide/integrations/operate/operators/overview/developer-guide/start/hello-contract-remote-node/tooling/dev-environments/developer-guide/start/hello-mobile/build-on-celo/quickstart/developer-guide/start/hellocelo/build-on-celo/developer-guide/start/hellocontracts/tooling/dev-environments/developer-guide/start/randomness/operate/specification/l2-migration#deactivated-random-contract/developer-guide/start/using-js-keystores/tooling/libraries-sdks/celo-sdks/developer-resources/contractkit/README/tooling/libraries-sdks/contractkit/developer-resources/dappkit/tooling/libraries-sdks/reown/developer-resources/dappkit/README/tooling/libraries-sdks/reown/developer-resources/dappkit/setup/tooling/libraries-sdks/reown/developer-resources/forno/README/tooling/nodes/forno/developer-resources/introduction/tooling/overview/developer-resources/reference/tooling/overview/developer-resources/start/tooling/overview/developer-resources/style-guide/typescript/contribute-to-celo/contributors/code-contributors/developer-resources/walkthroughs/build-on-celo/developer-resources/walkthroughs/README/build-on-celo/developer-resources/walkthroughs/hello-contract-remote-node/tooling/dev-environments/developer-resources/walkthroughs/hello-mobile-dapp/build-on-celo/quickstart/developer-resources/walkthroughs/hellocelo/build-on-celo/developer-resources/walkthroughs/hellocontracts/tooling/dev-environments/developer-resources/walkthroughs/hellodapp/build-on-celo/quickstart/developer-resources/walkthroughs/hellodeploy/tooling/dev-environments/developer-resources/walkthroughs/wallet-test/tooling/wallets/blog/build-on-celo/protocol/bridge/:slug*/tooling/bridges/bridges/protocol/bridging/:slug*/tooling/bridges/bridges/bridge/:slug*/tooling/bridges/bridges/community/celo-sage/:slug*/contribute-to-celo/contributors/documentation-contributors/build-on-celo/build-with-ai/celina/:slug*/build-on-celo/build-with-ai/mcp/celina/blog/:slug*/build-on-celoRe-pointed redirects (28)
/blog/2022/01/08/valora-wc-v1//tooling/libraries-sdks/reown/celo-codebase/protocol/consensus/home/protocol/security-council/home/celo-l1/celo-codebase/protocol/consensus/index/home/protocol/security-council/home/celo-l1/celo-codebase/protocol/consensus/ultralight-sync/home/protocol/security-council/home/celo-l1/celo-holder-guide/celo-recovery/home/manage/self-custody/tooling/wallets/metamask/use/celo-holder-guide/eth-recovery/home/manage/self-custody/tooling/wallets/metamask/use/celo-owner-guide/celo-recovery/home/manage/self-custody/tooling/wallets/metamask/use/celo-owner-guide/eth-recovery/home/manage/self-custody/tooling/wallets/metamask/use/celo.org//home/cli/commands/registry/tooling/libraries-sdks/cli/commands/tooling/libraries-sdks/cli/network/blog/tags/celo.org//build-on-celo/blog/tags/docs.celo.org//build-on-celo/blog/tutorials/devrel@celo.org//build-on-celo/blog/tutorials/docs.celo.org//build-on-celo/developer-resources/walkthroughs/no-code-erc20/build-on-celo/tooling/dev-environments/remix/developer-resources/walkthroughs/no-code-erc721/build-on-celo/tooling/dev-environments/remix/developer-resources/walkthroughs/valora-wc-v1/build-on-celo/tooling/libraries-sdks/reown/docs.celo.org//home/faqs//home/faqs#what-is-celos-supply//home/protocol/consensus/index/home/protocol/security-council/home/celo-l1/developer/rainbowkit-celo/:slug*/tooling/libraries-sdks/rainbowkit-celo/:slug*/tooling/libraries-sdks/celo-sdks/tooling/plumo/index/home/index/home/celo-l1/developer-resources/dappkit/usage/tooling/libraries-sdks/contractkit/setup/tooling/libraries-sdks/reown/developer/dappkit/usage/tooling/libraries-sdks/contractkit/setup/tooling/libraries-sdks/reown/tooling/testnets/mainnet/disclaimer/tooling/testnets/celo-sepolia/index/build-on-celo/network-overview/tooling/testnets/mainnet/tooling/testnets/celo-sepolia/index/build-on-celo/network-overview/protocol/identity/odis-use-case-phone-number-privacy/tooling/libraries-sdks/contractkit/odis/build-on-celo/build-on-socialconnect