nodejs.org icon indicating copy to clipboard operation
nodejs.org copied to clipboard

404 links and how to handle them in the future

Open XhmikosR opened this issue 6 years ago • 10 comments

404 Not found	
https://github.com/nodejs/community-committee/blob/master/GOVERNANCE.md
Linked from: https://nodejs.org/en/about/community/
	
404 Not found	
https://github.com/nodejs/nodejs-ro
Linked from: https://nodejs.org/en/about/working-groups/
	
404 Not found	
http://events.linuxfoundation.org/events/node-interactive
Linked from: https://nodejs.org/en/get-involved/code-and-learn/

Scanning https://nodejs.org/docs/latest-v6.x/api/async_hooks.html
  [404] https://nodejs.org/en/404.md/

Scanning https://nodejs.org/download/chakracore-nightly/v10.5.0-nightly20180630422c132e6e/docs/api/all.html
  [404] https://nodejs.org/download/chakracore-nightly/v10.5.0-nightly20180630422c132e6e/docs/api/worker.html

Scanning https://nodejs.org/download/chakracore-nightly/v11.0.0-nightly2018061364643e6292/docs/api/all.html
  [404] https://nodejs.org/download/chakracore-nightly/v11.0.0-nightly2018061364643e6292/docs/api/worker.html

Scanning https://nodejs.org/docs/latest-v0.10.x/api/vm.html
  [404] https://nodejs.org/docs/latest-v6.x/api/async_hooks.html

For the future we could use linkinator, although we'd need to tweak it to handle the internal docs links that are missing from this repo.

XhmikosR avatar Aug 17 '19 06:08 XhmikosR

We really need this added. I'm gonna spend some time later to have a patch, I'm just not sure how to speed it up.

XhmikosR avatar Sep 04 '19 09:09 XhmikosR

If anyone wants to help, let me know. I'm not sure how to proceed with linkinator and I'm not aware of another package that works equally good.

The problems I hit so far with linkinator:

  1. I can't do linkinator build/ since the build folder doesn't have any html file
  2. If I exclude any non-local links we don't get to see the full picture. But scanning the whole site takes a lot of time and currently Travis reaches the job time limit. Example: https://travis-ci.org/XhmikosR/nodejs.org/builds/580696878
  3. We could try making all local links relative to server root. For example, https://nodejs.org/en/foo/ -> /en/foo/. This isn't a simple search and replace, though, because currently, we leverage Markdown's auto linking feature in many places

I'm unsure how to proceed with this at the moment. I know for sure we need such a check, even if it's just for the local files.

I'd like to hear what others think; maybe someone else has a better solution.

XhmikosR avatar Sep 04 '19 13:09 XhmikosR

Exclude external links for now and figure out how to handle those later? That will at least prevent an issue like the slash-replace thing that broke a bunch of links on the site.

Trott avatar Sep 04 '19 13:09 Trott

Alright, I'll wrap my branch up and make a PR later. Note that for the canonical issue, it wouldn't have been caught since it's not an internal link.

XhmikosR avatar Sep 04 '19 13:09 XhmikosR

Although, there's still the first issue I have.

I made an upstream issue - https://github.com/JustinBeckwith/linkinator/issues/82

XhmikosR avatar Sep 04 '19 13:09 XhmikosR

Here's the updated list with the 404s I have PRs that fix them removed:

[404] https://foundation.nodejs.org/board
[410] https://vote.linuxfoundation.org/
[0] https://certified.nodesource.com/
[404] https://nodesource.com/blog/announcing-nodesource-certified-modules-for-node-js
[404] http://events.linuxfoundation.org/events/node-interactive
[0] https://liftsecurity.io/
[404] http://eventloop.noders.com/
[404] https://nodejs.org/docs/v4.6.2/api/
[0] https://2016.nodeconf.com.ar/
[404] https://www.openssl.org/news/openssl-1.0.1-notes.html
[0] https://sweet32.info/
[404] http://events.linuxfoundation.org/events/node-interactive-europe
[404] http://events.linuxfoundation.org/events/node-interactive-europe/attend/diversity-scholarship
[0] http://nodeup.com/onehundredtwo
[0] http://ctt.marketwire.com/?release=11G082331-001&id=8448115&type=0&url=https%3a%2f%2fnodejs.org%2fen%2ffoundation%2f
[0] http://nodeup.com/onehundred
[404] https://www.npmjs.com/settings/tokens
[0] http://sphinx.sg/
[0] https://ssrg.nicta.com.au/projects/TS/cachebleed/
[404] https://www.openssl.org/news/cl101.txt
[404] http://jona.io/blog/board-application/
[404] http://contra.io/node_board.txt
[404] http://bnb.im/blog/Individual-Membership-on-the-Board-of-Directors-for-Node-js.html
[410] https://medium.com/@evan.cowden/the-world-s-worst-resume-e0adf234baa0
[0] http://nodeup.com/ninetyseven
[0] https://www.bithound.io/
[404] https://www.joyent.com/innovation
[0] https://marketing.nodesource.com/acton/fs/blocks/showLandingPage/a/15680/p/p-001f/t/page/fm/4
[0] https://synchro.io/launch
[0] http://nodeup.com/ninetysix
[404] http://blog.bithound.io/why-we-stopped-vendoring-our-npm-dependencies/
[0] http://nodeup.com/ninetyfive
[404] https://foundation.nodejs.org/tsc/
[404] https://nodejs.org/download/release/latest-v4.x/node-v4.2.2-linux-armv6l.tar.gz
[0] http://nodeup.com/ninetythree
[0] http://nodeup.com/ninetyfour
[0] https://codek.tv/2095
[0] http://nodeup.com/ninetytwo
[404] http://ditrospecta.com/javascript/plugin/hubot/2015/10/03/hubot-plugin-choose-place-to-drink-coffee.html
[0] https://playnode.io/
[0] http://nodeup.com/ninetyone
[404] http://interactive.nodejs.org/
[404] http://events.linuxfoundation.org/events/node-interactive/program/cfp
[999] https://www.linkedin.com/in/danesecooper
[999] https://www.linkedin.com/pub/scott-hammond/1/a4b/92a
[999] https://www.linkedin.com/in/brianmccallister
[999] https://www.linkedin.com/pub/todd-moore/2b/540/798
[999] https://www.linkedin.com/in/stevenewcomb
[999] https://www.linkedin.com/in/gianugo
[999] https://www.linkedin.com/in/charlierobbins
[999] https://www.linkedin.com/pub/imad-sousou/6/b49/2b8
[999] https://www.linkedin.com/in/rvagg
[999] https://www.linkedin.com/pub/bill-fine/2/497/916
[999] https://www.linkedin.com/in/mikealrogers
[404] https://twitter.com/aminekabab
[404] https://twitter.com/bananaoomarang
[404] https://nodesource.com/products/nsupport
[403] https://apigee.com/
[404] http://www.linuxfoundation.org/news-media/announcements/2015/06/nodejs-foundation-advances-community-collaboration-announces-new
[404] https://strongloop.com/strongblog/deploying-multiple-node-js-apps-with-strong-pm-io/
[0] http://dailyjs.com/2015/06/19/not-really-single-page-apps/
[404] https://strongloop.com/strongblog/containerizing-node-js-apps-with-docker-and-strongloop/
[403] http://builtinnode.com/
[0] https://paulb.gd/comparing-nodejs-ides/
[0] https://unpm.nodesource.com/
[0] http://blog.modulus.io/top-10-reasons-to-use-node
[404] http://developer.leankit.com/painless-sql-server-with-nodejs-and-seriate/
[0] http://blog.upwardsmotion.com/golden-rules-for-js-introduction-to-your-ee-project/
[0] http://blog.modulus.io/modulus-and-progress-software-join-nodejs-foundation
[0] https://blog.famous.org/famous-industries-joins-the-node-foundation/
[404] https://strongloop.com/strongblog/announcing-the-node-js-foundation/
[404] https://strongloop.com/strongblog/should-i-use-node-js-or-io-js-and-which-version/
[404] https://twitter.com/edatrero/status/605040698992164864
[404] https://strongloop.com/strongblog/new-io-js-features-you-may-not-be-using/
[404] https://soundcloud.com/node-foundation/tsc-meeting-2015-05-27
[0] http://blog.modulus.io/promise-errors-in-iojs
[404] https://www.linux.com/news/featured-blogs/205-mike-dolan/763051-five-key-features-of-a-project-designed-for-open-collaboration
[0] http://nodeadvisoryboard.com/
[404] https://chromium.googlesource.com/v8/v8/+/refs/heads/4.2.77/ChangeLog
[0] http://blog.modulus.io/upcoming-updates-for-nodejs-applications
[0] http://jsconf.uy/
[404] https://iojs.org/dist/v1.7.0/
[404] https://vimeo.com/121707989
[0] http://nodeup.com/eightyfour
[0] http://descriptive.audio/
[0] http://descriptive.audio/episodes/12
[403] http://dockeri.co/
[404] https://strongloop.com/strongblog/are-node-and-io-js-affected-by-the-freak-attack-openssl-vulnerability/
[0] http://blog.technical.io/post/112787427217/tessel-2-new-hardware-for-the-tessel-ecosystem
[0] http://blog.technical.io/post/112888410737/moving-faster-with-io-js
[409] http://hueniverse.com/2015/03/02/the-node-version-dilemma/
[0] http://blog.iojs.jp/
[0] http://cn.iojs.org/
[0] https://semaphoreapp.com/blog/2015/02/17/platform-update-on-february-24th.html?utm_source=twitter&utm_medium=social&utm_content=platform_update_launch&utm_campaign=platformupdate
[0] http://nodegovernance.io/
[0] http://www.actionherojs.com/
[404] https://www.totaljs.com/
[404] https://soundcloud.com/iojs/iojs-build-wg-meeting-2015-02-19
[404] https://soundcloud.com/iojs/iojs-tc-meeting-meeting-2015-02-18
[404] https://soundcloud.com/iojs/iojs-website-wg-meeting-2015-02-16
[0] http://blog.technical.io/post/110115579867/upcoming-hardware-from-technical-machine
[404] https://nodejs.org/en/about/advisory-board/
[404] https://nodejs.org/en/404.md/
[404] https://nodejs.org/en/about/organization
[501] https://t.me/nodejsarmenia
[999] https://www.linkedin.com/in/ioannis-nikolaou/
[999] https://www.linkedin.com/in/ayush-rawal
[0] https://slack.js.la/
[404] https://nodejs.org/en/about/organization/
[404] http://www.joyent.com/noderoad/cities/minneapolis-6-17-2014
[404] http://www.joyent.com/noderoad/cities/cincinnati-6-19-2014
[404] http://www.joyent.com/noderoad/cities/suggest
[0] https://scalenpm.org/
[503] https://www.nodejitsu.com/company/press/2013/05/22/iriscouch/
[404] http://wiki.apache.org/couchdb/Compaction
[404] https://nodejs.org/benchmarks-v0.10-vs-v0.8/
[0] http://jenkins.nodejs.org/
[404] http://strongloop.com/products
[0] http://thenodefirm.com/
[0] http://thenodefirm.com/nodejs-consulting-subscriptions
[0] https://www.irisnpm.com/
[403] http://www.iriscouch.com/
[404] https://dl.dropbox.com/u/3685/presentations/streams2/streams2-ko.pdf
[404] http://substack.net/posts/16a9d8/multi-server-continuous-deployment-with-fleet
[404] http://substack.net/posts/7a1c42
[404] http://substack.net/posts/5bd18d
[404] https://cs.brown.edu/people/dapachec/helloworld.svg
[404] http://json.org/java/
[404] http://www.flickr.com/photos/luc_viatour/4247957432/
[404] https://npmjs.com/doc/semver.html
[404] https://npmjs.com/doc/shrinkwrap.html
[404] https://npmjs.com/doc/outdated.html
[404] http://www.mikealrogers.com/posts/nodemodules-in-git.html
[404] http://corp.klout.com/blog/2011/10/the-tech-behind-klout-com/
[404] http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/
[404] https://nodejs.org/meetup/
[0] https://www.cloudkick.com/
[0] http://marakana.com/forums/java/general/278.html

Some are FP like most of the linkedin links. Let me know how to proceed.

XhmikosR avatar Sep 23 '19 08:09 XhmikosR

I've pushed the branch which checks all links here https://github.com/nodejs/nodejs.org/runs/257523435

It's too much running this on each commit, so for now, I think just doing this manually from time to time is better.

Remember there are still some false positives, but most of those are really broken links.

XhmikosR avatar Oct 12 '19 09:10 XhmikosR

I really think we should decide about these and not have a new issue/PR for each on of them :/

Anyway, in some cases, we might need to add redirects in build.

XhmikosR avatar Oct 13 '19 13:10 XhmikosR

Are most of the ones in the GitHub Actions results in old blog posts/news items? I'd be OK with any of these to solve those:

  • Archive old news/blog items at archive.org or whatever (they're probably already there) and remove them from the site. We can subsequently work with releasers to get rid of the blog. It seems like releases are the only thing that gets regularly published there, and I think trying to curate/maintain a blog is too ambitious. Our main site should be simple, easy to navigate, and manageable in size.

  • Configure linkinator to ignore blog/news items.

Trott avatar Oct 13 '19 16:10 Trott

https://github.com/nodejs/community-committee/blob/master/GOVERNANCE.md should probably be https://github.com/nodejs/community-committee/tree/master/governance

https://github.com/nodejs/nodejs-ro should probably be removed along with all the other individual repos listed in that list. That is way too much information for a brief working group summary. Each of those repos is going away, slowly. Translation work happens elsewhere now. Link to CrowdIn maybe if it's not already there. But if you want to keep the change set small and hopefully uncontroversial, just remove https://github.com/nodejs/nodejs-ro and leave everything else for now.

For http://events.linuxfoundation.org/events/node-interactive, the link can be removed. The text can just be plain text with no link.

Trott avatar Oct 13 '19 16:10 Trott

This shouldn't be relevant anymore. Inexistent links might exist, but for now there no feasible actions here, not to mention afaik we already fixed (within the website) all broken links.

ovflowd avatar Mar 12 '23 13:03 ovflowd