Skip to content

Fix broken and degraded links found by full-content link audit#415

Merged
sbezludny merged 1 commit into
mainfrom
docs/fix-broken-links
Jul 2, 2026
Merged

Fix broken and degraded links found by full-content link audit#415
sbezludny merged 1 commit into
mainfrom
docs/fix-broken-links

Conversation

@sbezludny

Copy link
Copy Markdown
Contributor

Why

An audit of every external URL in the published docs (2,788 occurrences, 1,264 unique, all probed live) found ~45 clickable links that 404 or silently land on generic pages. mint broken-links only validates internal links, so absolute URLs — including absolute links to our own site — rot invisibly.

What

Own-site links converted to relative paths (now guarded by mint broken-links in CI):

  • learn/monitoring/reduce-mttd/learn/incidents/reduce-mttd (page moved sections; 3 links)
  • synthetic-transaction-monitoring/learn/monitoring/transaction-monitoring (3 links)
  • guides/setup-scripts/guides/setup-scripts-for-apis
  • The same mangled cli/overviewconstructs-reference / overviewproject-structure slugs already fixed in developer-fixtures.mdx (PR Add redirects for legacy ReadMe /reference/* API links #414), found in three more guides → /constructs/* pages
  • check-results anchors → /concepts/results; /docs/cicd/triggers/ (landed on the marketing homepage) → /cli/checkly-trigger; private-locations path → /platform/private-locations/overview; leaked Vercel preview URL → /integrations/iac/terraform/overview; /integrations//communicate/alerts/channels

Broken external URLs updated (all replacements verified 200): six old-structure playwright.dev paths, OpenTelemetry quickstart, OpenAPI spec guide → learn.openapis.org, OpenAPI membership page, FireHydrant support article (site moved domains), dead Zoom webinar registration → Playwright learn resources.

Dead targets in copy-pasteable code examples: danube-store.herokuapp.comdanube-web.shop (Heroku app gone), expired filebin.net bin → httpbin.org/post (both file-system pages), dead example URL in the bulk-monitor arrays, de-linkified CSV sample table rows that had stray-comma link targets.

ai/llms-txt.mdx: the sample listed five .md entries whose pages no longer exist (okta, rbac, removing-team-members, saml-sso, scim-provisioning) — replaced with the three current entries from the live llms.txt.

docs.json (+2 redirects, inserted mid-array to avoid conflicting with PR #414's appended entries): /monitoring/check-results and /detect/synthetic-monitoring/browser-checks/results/concepts/results. An existing external redirect chain currently lands on the latter path, which no longer exists.

Verified

  • npx mint broken-links: no broken links (validates all new relative links)
  • python3 -m json.tool docs.json: valid; 24 → 26 redirects, no duplicate sources
  • Every replacement URL curl-verified 200 before editing

Known issues NOT fixed here

  • ⚠️ www.checklyhq.com/signup returns 404 — marketing-site regression; this PR repoints the docs CTA to app.checklyhq.com/signup, but anyone else linking the old URL is broken. Needs the marketing-site owner.
  • The Google Sheets report template in platform/reporting/analytics-api.mdx returns 410 (sheet deleted) — needs the content owner to restore/replace the asset; a link swap can't fix it.
  • guides/developer-fixtures.mdx still has its mangled links on main — fixed in Add redirects for legacy ReadMe /reference/* API links #414, intentionally untouched here.

Full audit data (per-URL status + final URL after redirects) available on request.

🤖 Generated with Claude Code

An audit of all 1,264 unique external URLs in published pages found ~45
clickable links that 404 or land on generic pages. mint broken-links
cannot catch these (it only validates internal links), so they rotted
silently. Fixes:

- Own-site links to moved/renamed pages now use relative paths so the
  linter guards them: reduce-mttd (moved to learn/incidents),
  synthetic-transaction-monitoring -> transaction-monitoring,
  guides/setup-scripts -> setup-scripts-for-apis, private-locations,
  check-results anchors -> /concepts/results, cicd/triggers ->
  /cli/checkly-trigger, and the mangled cli/overview* slugs in three
  guides (-> /constructs/* pages)
- signup CTA now points at app.checklyhq.com/signup;
  www.checklyhq.com/signup currently 404s (marketing-site regression,
  flagged separately)
- llms.txt sample in ai/llms-txt.mdx: replaced five .md entries whose
  pages no longer exist with the three current admin/team-management
  entries from the live llms.txt
- Stale third-party URLs updated: six old-structure playwright.dev
  paths, OpenTelemetry quickstart, OpenAPI spec guide (learn.openapis.org),
  OpenAPI membership page, FireHydrant support article (site moved),
  dead Zoom webinar replaced with a link to Playwright learn resources
- Dead example targets in copy-pasteable code: danube-store.herokuapp.com
  -> danube-web.shop (Heroku app is gone), expired filebin.net bin ->
  httpbin.org/post (both file-system pages), dead using-pw-test-command
  URL in the bulk-monitor example arrays; de-linkified the CSV sample
  table rows that had stray-comma link targets
- docs.json: route /monitoring/check-results and
  /detect/synthetic-monitoring/browser-checks/results to
  /concepts/results — the existing external redirect chain landed on a
  page that no longer exists

Not fixed here: the Google Sheets template link in
platform/reporting/analytics-api.mdx (the shared sheet returns 410 —
needs the content owner to restore or replace the asset), and
guides/developer-fixtures.mdx which is already fixed in PR #414.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mintlify

mintlify Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
checkly-422f444a 🟢 Ready View Preview Jul 2, 2026, 5:40 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@sbezludny sbezludny enabled auto-merge July 2, 2026 17:40
@sbezludny sbezludny merged commit 58734c3 into main Jul 2, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant