Running `make linkcheck` in Doc folder outputs thousands of broken and redirected status. It would be nice to clean this up so we can link-check Python in CI/CD for each commit, but right now it is too polluted. Some of these occurrences could/should be fixed in the docs itself, others can benefit from [Sphinx's linkcheck configs](https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-the-linkcheck-builder) e.g. `linkcheck_ignore` and `linkcheck_allow_redirect`. See [linkcheck-log.txt](https://github.com/python/cpython/files/11215133/linkcheck-log.txt) for the full log as of commit f2b7ecb. Fun stats obtained from the above file: - Of its 8327 lines, where 7824 are related to BPO -> GH issues. Of 7824, 5744 lines are from whatsnew/changelog and only 20 are not from whatsnew/ - 241 lines are redirection of CPython CVS URL, fixing /tree/ to /blob/ in GitHub URL - 28 lines are broken links, where one broken link is 'https://' from an example in whatsnet/changelog The way I see, this steps divide in: - Clean BPO to GH redirection messages - Fix broken links - Clean CPython CVS URL redirections - Clean GH issues to GH PR redirections - Fix the rest of the occurrences. linkcheck_allow_redirect and linkcheck_ignore can be very handy in this case. linkcheck_allow_redirect makes 'ok' status a redirect that is being spotted by linkcheck, and we have linkcheck_ignore as the last resource. Questions I have before implementing the solution: * Documentation hosted by Read The Docs may have language enabled so example.com is redirected to example.com/en/latest. To handle occurrences, I could add them to linkcheck_allow_redirect or we can use [sphinx-ext-intersphinx](https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html) to map a keyword to the documentation URL (e.g 'rtd' for read-the-docs docs). The last option allows to map to proper language of the target URL linked, similar on how [Weblate did](https://github.com/WeblateOrg/weblate/blob/main/docs/conf.py#L213)) - Is there any restrictions to fix broken/redirect links in old whatsnew/<release>.rst? - Is there any restrictions to fix broken/redirect links in old whatsnew/changelog.rst (i.e. Misc/NEWS)? - Should I create a single Pull Request for all the fixes? <!-- gh-linked-prs --> ### Linked PRs * gh-103569 * gh-103602 * gh-103608 * gh-103683 * gh-104001 * gh-104088 * gh-123019 * gh-124136 * gh-124137 * gh-124144 * gh-124151 * gh-124152 * gh-124169 * gh-124179 * gh-124180 * gh-124183 * gh-140012 <!-- /gh-linked-prs -->