website icon indicating copy to clipboard operation
website copied to clipboard

Fix remaining broken external links

Open nate-double-u opened this issue 4 years ago • 8 comments
trafficstars

Follow up issue to https://github.com/etcd-io/website/issues/203, there are a handful of broken links which need attention -- there isn't an obvious place to link to, so the copy may need to be reworked.

docs/v3.4/learning/why/index.html

  • Non-OK status: 404 --- docs/v3.4/learning/why/index.html --> https://godoc.org/github.com/coreos/etcd-io/etcdserver/api/v3election/v3electionpb

docs/v3.3/learning/why/index.html

  • Non-OK status: 404 --- docs/v3.3/learning/why/index.html --> https://godoc.org/github.com/coreos/etcd-io/etcdserver/api/v3election/v3electionpb

docs/v3.1/libraries-and-tools/index.html

  • Non-OK status: 404 --- docs/v3.1/libraries-and-tools/index.html --> https://github.com/scrz/scrz

docs/v3.1/op-guide/monitoring/index.html

  • request exceeded our ExternalTimeout --- docs/v3.1/op-guide/monitoring/index.html --> http://dash.etcd.io/dashboard/db/test-etcd

docs/next/learning/why/index.html

  • Non-OK status: 404 --- docs/next/learning/why/index.html --> https://godoc.org/github.com/etcd-io/etcd/server/etcdserver/api/v3lock/v3lockpb
  • Non-OK status: 404 --- docs/next/learning/why/index.html --> https://godoc.org/github.com/etcd-io/etcd/server/etcdserver/api/v3election/v3electionpb
  • Non-OK status: 404 --- docs/next/learning/why/index.html --> https://godoc.org/github.com/etcd-io/etcd/server/etcdserver/api/v3lock/v3lockpb

Originally posted by @nate-double-u in https://github.com/etcd-io/website/issues/203#issuecomment-823642654

nate-double-u avatar Apr 26 '21 18:04 nate-double-u

Edit: (@chalin) - the command and output are outdated. See below for the updated command, and run it to see up-to-date output 😄 .

make check-all-links output:

htmltest started at 11:40:08 on public
========================================================================
index.html
  Non-OK status: 404 --- index.html --> https://etcd.io/_redirects
blog/2020/jepsen-343-results/index.html
  Non-OK status: 416 --- blog/2020/jepsen-343-results/index.html --> https://fauna.com/blog/demystifying-database-systems-part-4-isolation-levels-vs-consistency-levels
docs/v3.4/learning/why/index.html
  Non-OK status: 404 --- docs/v3.4/learning/why/index.html --> https://godoc.org/github.com/coreos/etcd-io/etcdserver/api/v3election/v3electionpb
  Non-OK status: 416 --- docs/v3.4/learning/why/index.html --> https://www.consul.io/commands/lock
  Non-OK status: 416 --- docs/v3.4/learning/why/index.html --> https://www.consul.io/api-docs#consistency
  Non-OK status: 416 --- docs/v3.4/learning/why/index.html --> https://www.consul.io/api/kv#txn
  Non-OK status: 416 --- docs/v3.4/learning/why/index.html --> https://www.consul.io/docs/dynamic-app-config/watches
  Non-OK status: 416 --- docs/v3.4/learning/why/index.html --> https://www.consul.io/docs/security/acl
  Non-OK status: 416 --- docs/v3.4/learning/why/index.html --> https://www.consul.io/api-docs#formatted-json-output
  Non-OK status: 416 --- docs/v3.4/learning/why/index.html --> https://learn.hashicorp.com/tutorials/consul/add-remove-servers?in=consul/day-2-operations
  Non-OK status: 416 --- docs/v3.4/learning/why/index.html --> https://www.consul.io/docs/dynamic-app-config/sessions
docs/v3.3/learning/why/index.html
  Non-OK status: 404 --- docs/v3.3/learning/why/index.html --> https://godoc.org/github.com/coreos/etcd-io/etcdserver/api/v3election/v3electionpb
  Non-OK status: 416 --- docs/v3.3/learning/why/index.html --> https://www.consul.io/commands/lock
  Non-OK status: 416 --- docs/v3.3/learning/why/index.html --> https://www.consul.io/api-docs#consistency
  Non-OK status: 416 --- docs/v3.3/learning/why/index.html --> https://www.consul.io/api/kv#txn
  Non-OK status: 416 --- docs/v3.3/learning/why/index.html --> https://www.consul.io/docs/dynamic-app-config/watches
  Non-OK status: 416 --- docs/v3.3/learning/why/index.html --> https://www.consul.io/docs/security/acl
  Non-OK status: 416 --- docs/v3.3/learning/why/index.html --> https://www.consul.io/api-docs#formatted-json-output
  Non-OK status: 416 --- docs/v3.3/learning/why/index.html --> https://learn.hashicorp.com/tutorials/consul/add-remove-servers?in=consul/day-2-operations
  Non-OK status: 416 --- docs/v3.3/learning/why/index.html --> https://www.consul.io/docs/dynamic-app-config/sessions
docs/v3.1/libraries-and-tools/index.html
  Non-OK status: 404 --- docs/v3.1/libraries-and-tools/index.html --> https://github.com/scrz/scrz
docs/v3.1/op-guide/monitoring/index.html
  request exceeded our ExternalTimeout --- docs/v3.1/op-guide/monitoring/index.html --> http://dash.etcd.io/dashboard/db/test-etcd
docs/next/learning/why/index.html
  Non-OK status: 404 --- docs/next/learning/why/index.html --> https://godoc.org/github.com/etcd-io/etcd/server/etcdserver/api/v3lock/v3lockpb
  Non-OK status: 404 --- docs/next/learning/why/index.html --> https://godoc.org/github.com/etcd-io/etcd/server/etcdserver/api/v3election/v3electionpb
  Non-OK status: 416 --- docs/next/learning/why/index.html --> https://www.consul.io/commands/lock
  Non-OK status: 416 --- docs/next/learning/why/index.html --> https://www.consul.io/api-docs#consistency
  Non-OK status: 416 --- docs/next/learning/why/index.html --> https://www.consul.io/api/kv#txn
  Non-OK status: 416 --- docs/next/learning/why/index.html --> https://www.consul.io/docs/dynamic-app-config/watches
  Non-OK status: 416 --- docs/next/learning/why/index.html --> https://www.consul.io/docs/security/acl
  Non-OK status: 416 --- docs/next/learning/why/index.html --> https://www.consul.io/api-docs#formatted-json-output
  Non-OK status: 416 --- docs/next/learning/why/index.html --> https://learn.hashicorp.com/tutorials/consul/add-remove-servers?in=consul/day-2-operations
  Non-OK status: 416 --- docs/next/learning/why/index.html --> https://www.consul.io/docs/dynamic-app-config/sessions
  Non-OK status: 404 --- docs/next/learning/why/index.html --> https://godoc.org/github.com/etcd-io/etcd/server/etcdserver/api/v3lock/v3lockpb
docs/v3.2/learning/why/index.html
  Non-OK status: 416 --- docs/v3.2/learning/why/index.html --> https://www.consul.io/commands/lock
  Non-OK status: 416 --- docs/v3.2/learning/why/index.html --> https://www.consul.io/api-docs#consistency
  Non-OK status: 416 --- docs/v3.2/learning/why/index.html --> https://www.consul.io/api/kv#txn
  Non-OK status: 416 --- docs/v3.2/learning/why/index.html --> https://www.consul.io/docs/dynamic-app-config/watches
  Non-OK status: 416 --- docs/v3.2/learning/why/index.html --> https://www.consul.io/docs/security/acl
  Non-OK status: 416 --- docs/v3.2/learning/why/index.html --> https://www.consul.io/api-docs#formatted-json-output
  Non-OK status: 416 --- docs/v3.2/learning/why/index.html --> https://learn.hashicorp.com/tutorials/consul/add-remove-servers?in=consul/day-2-operations
  Non-OK status: 416 --- docs/v3.2/learning/why/index.html --> https://www.consul.io/docs/dynamic-app-config/sessions
========================================================================
✘✘✘ failed in 11m0.064428339s
41 errors in 401 documents

Note: the 416 status errors aren't broken links. Some investigation likely needs to be done to sort them out too, but the links do work.

[edit] updating results after merging in the docsy branch changes.

nate-double-u avatar Apr 26 '21 18:04 nate-double-u

We'll need a special strategy for checking external links, because using htmltest won't work -- most external sites will refuse connections from it.

chalin avatar Aug 19 '21 20:08 chalin

hi there, well I had a look around this issue, what I found is that 404 status error should be refactored with correct links. thanks

// @nate-double-u

afzal442 avatar Aug 21 '21 09:08 afzal442

We'll need a special strategy for checking external links, because using htmltest won't work ...

I take that back. I think that I've found a viable solution using htmltest. I'll iron out the details early this week once I'm at the office.

Note the command to check all links (internal and external) is now: npm run check-links:all

chalin avatar Aug 23 '21 12:08 chalin

hi there, well I had a look around this issue, what I found is that 404 status error should be refactored with correct links. thanks

// @nate-double-u

I'm not sure I follow, which links are incorrect on the 404 page? https://etcd.io/404-check

nate-double-u avatar Aug 23 '21 20:08 nate-double-u

Kind of related: #195

chalin avatar Aug 23 '21 21:08 chalin

@kapunahelewong, here is what I propose for now: add links that you've manually verified to .htmltest.yml something like this:

IgnoreURLs:
  - ^http://play.etcd.io.*
  # Manually verified external links below this point
  - ^https://etcd.cn
  - ...

Note: each regex pattern should start with ^, and you don't need quotes around the pattern (contrary to how the first regex is encoded in the file atm).

I'm working on a better solution, but this is a good step in the right direction.

For links that appear in docs <v3.4 and have just plain gone away, use a similar approach: add them to .htmltest.yml, under a section # Links in archived pages we can't find anymore (or some similar comment). Keep the links in the text (I know it isn't ideal to do so, but we can find a better solution later -- and it will be easier to do so if we don't remove the links from the ext).

chalin avatar Aug 25 '21 12:08 chalin

Also, please work through the pages starting with v3.5 pages first and submit that as a separate PR. Then v3.4. The other pages are much less important (and we might just skip such broken external links by adding them to the IgnoreURLs, unless we know what the fix is. Thanks!

chalin avatar Aug 25 '21 12:08 chalin