[WIP] Fix bad links and link checker errors#2324
Conversation
✅ Deploy Preview for expressjscom-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
I parsed through the link checker output w/ claude, and after excluding the slack invite ones, this is the report I had it generate w/ the current failures: Lychee follow-upsAfter this PR removes the slack-invite noise (1,221 of 1,608 errors), the remaining 387 are real. Tracking the unique URLs and source locations so they can be split into follow-up PRs. Bucket 1 — English-source bugs (each appears 10×, once per locale)These are the highest-leverage fixes: one source edit clears ~10 errors.
Bucket 2 — External link rot / Node.js docs URL pattern changes
Bucket 3 — False positives worth ignoring in CI
Bucket 4 — Translation pipeline bugs (Crowdin)Translators are translating URL slugs as if they were prose. Per-locale broken links:
Crowdin treats
Coverage math
|
I knew I saw it somewhere. The commit that ignores it is almost a month old, but I have rebased the branch last night. https://github.com/expressjs/expressjs.com/actions/runs/24803825545/job/72593188466#step:4:115
|
1484381 to
9cc6f6c
Compare
There was a problem hiding this comment.
Should links in non-versioned files like this lead to non-versioned API (that renders the "default version") or be hardcoded to a specific version (or maybe it is possible to use a parameter that will reference the latest/default version - e.g. ../../{{ DEFAULT_VERSION }}/api/express)?
| ## Don't use deprecated or vulnerable versions of Express | ||
|
|
||
| Express 2.x and 3.x are no longer maintained. Security and performance issues in these versions won't be fixed. Do not use them! If you haven't moved to version 4, follow the [migration guide](/en/guide/migrating-4) or consider [Commercial Support Options](/en/support#commercial-support-options). | ||
| Express 2.x and 3.x are no longer maintained. Security and performance issues in these versions won't be fixed. Do not use them! If you haven't moved to version 4, follow the [migration guide](../../guide/migrating-4) or consider [Commercial Support Options](../../support#commercial-support-options). |
There was a problem hiding this comment.
I'm not sure if the "Security best practices" docs should suggest updating to Express 4 (released 12 years ago), when Express 5 has been marked as latest for over a year.
There was a problem hiding this comment.
This seems to be outdated. I know that recent security updates have been announced in blog posts, but I think it would be good to either update this page or at least direct visitors to the blog.
|
It seems that relative links are not a great idea. While these are easier to run search&replace across versions and do not require changes in translations, it turns out that there are some docs (e.g. guides, but also I can change only the links that cause errors, but I'd like to be consistent. @bjohansebas @jonchurch do you have any thoughts on this? |
Internal links have been changed to relative URLs. This should help with redirecting to translated pages (the URL won't have to be localized) and keeping the right version. Anchors that point to headers that are localized will have to be changed.
- a few HTTP -> HTTPS - some were updated to the URLs that they redirect to - a few had `#` anchors updated - fixed some doc URLs that have moved (Node.js, nginx, systemd) - things that I could not find an up-to date link for, have been changed to Internet Archive links - one link to an example of unsupported product has been removed (closes expressjs#2270)


Fixes #2336
TODO: