Skip to content

Fix broken & stale internal links from Ahrefs site audit (P0 + P1)#417

Merged
Dgiordano33 merged 1 commit into
mainfrom
docs/ahrefs-p0-p1-link-fixes
Jul 6, 2026
Merged

Fix broken & stale internal links from Ahrefs site audit (P0 + P1)#417
Dgiordano33 merged 1 commit into
mainfrom
docs/ahrefs-p0-p1-link-fixes

Conversation

@Dgiordano33

Copy link
Copy Markdown
Collaborator

What & why

Remediates the P0 (errors) and P1 (stale migration links) findings from the Ahrefs Site Audit of www.checklyhq.com/docs/ (health 99, but a large redirect/broken-link tail). Every internal link was verified with mint broken-links (no broken links found).

P0 — 6 broken (404) links fixed

All were relative-path resolution bugs (a link without a leading / resolves relative to the current page) plus one stray auto-linked URL:

File Was Now
detect/.../api-checks/openapi-spec.mdx ](assertions) /detect/assertions
detect/.../api-checks/quickstart.mdx ](assertions) /detect/assertions
platform/managing-false-positives.mdx ](./network-diagnostic-tools) /platform/network-diagnostic-tools
constructs/multistep-check.mdx ](platform/runtimes/runtime-specification) /platform/runtimes/runtime-specification
guides/end-to-end-monitoring.mdx bare URL w/ curly apostrophe %E2%80%99 404 backticked (inline code)
guides/claude-code-monitoring.mdx /ai//use-checkly-with-ai-ide/#claude-code (double slash + retired slug) /ai/overview

P1 — ~120 stale links repointed

These targeted pre-migration paths and only resolved via redirects (extra hops, crawl waste). Also converts absolute https://www.checklyhq.com/docs/... URLs to relative internal links per the docs conventions. Applied deterministically with path-boundary-safe old→new pairs; bogus auto-generated anchors (…---checkly-docs) and retired-slug anchors were dropped.

Legacy sections remapped include: /cli/cli/overview, /browser-checks/*/detect/synthetic-monitoring/browser-checks/*, /monitoring/*/detect/... & /concepts/*, /api-checks/*/detect/... & /platform/*, /alerting(-and-retries)/communicate/alerts/overview, /cicd/*/integrations/ci-cd/*, /status-pages/communicate/status-pages/overview, /traces-open-telemetry/*/resolve/traces/*, /runtimes*/platform/runtimes/*, /groups/platform/groups, /analytics/platform/reporting/analytics-api, /integrations/{pagerduty,rootly,opsgenie,pulumi} → new locations.

Notes for reviewers

  • Two tutorial example URLs inside code blocks (page.goto('…/docs/browser-checks/')) are intentionally left as-is — they're illustrative navigation targets, not doc links. Their prose counterparts were backticked.
  • Old constructs-reference#… anchors now land on /constructs/overview (matching the live redirect). Pointing them at the specific per-construct pages is a reasonable follow-up content refinement.

Out of scope (tracked separately)

  • P2: 75 pages missing description frontmatter (mostly /learn/playwright).
  • P3: 47 over-long <title>s, the authentication.mdx multiple-H1, meta-description length polish.
  • P4 (cross-team): the ~11.6k trailing-slash 308s originate from trailingSlash: true in the marketing repo's next.config.js (the /docs reverse-proxy), not this repo — plus a canonical-tag mismatch worth a web-team ticket.

🤖 Generated with Claude Code

P0 — repair 6 broken (404) internal links caused by relative-path
resolution and one stray auto-linked URL:
- api-checks openapi-spec & quickstart: `](assertions)` -> `/detect/assertions`
- managing-false-positives: `](./network-diagnostic-tools)` -> `/platform/network-diagnostic-tools`
- constructs/multistep-check: `](platform/runtimes/runtime-specification)` -> absolute path
- end-to-end-monitoring: backtick example URL that had a stray curly apostrophe (’ -> 404)

P1 — repoint ~120 stale links that targeted pre-migration paths and only
resolved via redirects, and convert absolute www.checklyhq.com/docs URLs to
relative internal links (per docs conventions). Legacy sections remapped:
/cli, /browser-checks, /monitoring, /api-checks, /alerting(+-and-retries),
/cicd, /status-pages, /traces-open-telemetry, /runtimes, /groups, /analytics,
/testing, /heartbeat-monitors, /tcp-monitors, and
/integrations/{pagerduty,rootly,opsgenie,pulumi}.

Two tutorial example URLs inside code blocks (page.goto to /docs/browser-checks/)
are intentionally left as-is; their prose counterparts were backticked.

Verified with `mint broken-links`: no broken links found.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mintlify

mintlify Bot commented Jul 5, 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 5, 2026, 12:24 AM

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

@Dgiordano33 Dgiordano33 merged commit 63eefcd into main Jul 6, 2026
6 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