Skip to content

Redirect pages from the migration sheet's Redirect Only tab - #4218

Merged
matthewhelmke merged 1 commit into
mainfrom
redirect-only-tab
Oct 16, 2026
Merged

matthewhelmke merged 1 commit into
mainfrom
redirect-only-tab

Conversation

@matthewhelmke

Copy link
Copy Markdown
Collaborator

Marketing's migration spreadsheet lists edu URLs on its Redirect Only tab that should redirect instead of migrating. This PR applies 14 of its 19 rows. Four pages duplicated chainguard.dev articles, so search traffic and existing links now reach the single chainguard.dev copy. Three URLs that returned errors now redirect.

A 15th row, /open-source/oci/, already redirects from #4121. The other four rows are the CMMC 2.0, PCI DSS 4.0, SLSA, and SBOM section roots. They wait on a question for Marketing: each root now shows a page that stays in the docs, and the sidebar links to it.

What changed

  • Removed pages: "Infamous software vulnerabilities," "What is software supply chain security," "Strategies and tooling for updating containers," and "How end-of-life software accumulates vulnerabilities." data/redirects.yaml sends each page and its .md copy to its chainguard.dev article.
  • Old aliases: the two container pages had five old aliases each. Section aliases on other pages match those paths before any regex rule and would send them to paths that no longer exist. Each one gets an exact-path rule, with and without its trailing slash, so every old URL reaches chainguard.dev in one hop.
  • nginx: exact-path rules go into the redirect map's hash. These paths overflow its default 64-byte bucket, and nginx fails its config test. map_hash_bucket_size 128 fixes that.
  • Section roots: the software-security/cves/ section is now empty, so its index is removed and its root redirects to "What is a CVE?" /open-source/ redirects to "What is Chainguard." The project sections under it keep their URLs. The sidebar shows "Open source" as a label, not a link, so navigation doesn't change.
  • Broken URLs: /open-source/slsa/ returned 403 and now redirects to "What is SLSA." /chainguard/guardener/actions-security/ and /chainguard/guardener/getting-started/ returned 404 and are now aliases on the pages that moved under guardener/github/.
  • Contributors: the contributors taxonomy is removed from config.toml, and its list pages redirect to About Us. Bylines read the front matter and render the same as before.
  • Links: six links in five files now point at the chainguard.dev articles. The unused main menu entry for a removed page is gone.

Verification

  • Build: Hugo builds clean.
  • nginx config test: passes on cgr.dev/chainguard/nginx:latest-dev. Without the bucket change, it fails.
  • Chain checker: scripts/check_redirect_chains.py passes against this branch's image, across 837 chains.
  • Exact check: I probed 61 URLs against this branch's image. All 43 redirects return a single 301 to the right target, including the 20 old-alias paths, the .md copies, and an image from a removed page. All 18 pages that should stay return 200, including every remaining page in the affected sections.
  • A/B sweep: I swept 795 URLs in four variants each, 3,180 cases, against production. 53 cases differ: 52 are in-scope paths, and one was a production 503 that returned its usual 301 on retry.

For reviewers: static/downloads/chainguard-complete-docs.md still mentions the removed pages. It rebuilds nightly from content/, so it isn't edited here.

🤖 Generated with Claude Code

Delete four pages that duplicate chainguard.dev content and send each
current path, and every old alias, to its www page in one hop. Section
aliases on other pages would otherwise catch the old aliases first and
send them to paths that no longer exist, so those get exact-path rules.

Exact-path keys go into the nginx map hash, and these overflow its
default 64-byte bucket, so set map_hash_bucket_size to 128.

Also:
- Redirect the empty cves section, /open-source/, and /open-source/slsa/,
  which returned 403.
- Add aliases for the two Guardener pages whose old paths returned 404.
- Remove the contributors taxonomy and redirect its list pages to the
  About Us page. Bylines read the front matter and keep working.
- Point six inbound links at the www pages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@matthewhelmke
matthewhelmke requested review from a team as code owners October 15, 2026 14:29
@vercel

vercel Bot commented Oct 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
chainguard-docs-preview Ready Ready Preview Oct 15, 2026 2:29pm UTC

Request Review

@netlify

netlify Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for ornate-narwhal-088216 ready!

Name Link
🔨 Latest commit 7ac23a9
🔍 Latest deploy log https://app.netlify.com/projects/ornate-narwhal-088216/deploys/6ad0e344a40662bdec29b974
😎 Deploy Preview https://deploy-preview-4218--ornate-narwhal-088216.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@matthewhelmke
matthewhelmke merged commit 492c7e3 into main Oct 16, 2026
15 checks passed
@matthewhelmke
matthewhelmke deleted the redirect-only-tab branch October 16, 2026 11:48
SharpRake added a commit that referenced this pull request Oct 16, 2026
[ ] Check if this is a typo or other quick fix and ignore the rest :)

## Type of change
<!-- Please be sure to add the appropriate label to your PR. -->
**Bug Fix**
- Updates the broken JFrog Go link on the Chainguard Libraries for Go
global configuration page.
- Fixes the three validation `curl` examples on the same page, which
failed when pasted into a shell.

### What should this PR do?
<!-- Does this PR resolve an issue? Please include a reference to it.
-->
resolves
https://linear.app/chainguard/issue/DOCS-271/chainlink-check-links-on-educhainguarddev

Fixes a broken link and three broken commands on the Go global
configuration page.

### Why are we making this change?
<!-- What larger problem does this PR address? -->
JFrog moved its Go documentation from `docs/go-repositories`, which now
returns a 404, to `docs/go-modules`. The `curl` examples ended each line
with `\\` instead of `\`, so the shell read a literal backslash and the
commands failed.

The link checker also flagged an OpenShift link in
`strategies-tools-updating-images/index.md`. #4218 already deleted that
page, so this PR doesn't change it.

### What are the acceptance criteria? 
<!-- What should be happening for this PR to be accepted? Please list
criteria. -->
<!-- Do any stakeholders need to be tagged in this review? If so, please
add them. -->
- The **Go repositories documentation for Artifactory** link opens
JFrog's Go Modules page.
- Each `curl` example under **Validate the remote repository** ends its
lines with a single `\`.

### How should this PR be tested?

Any documentation published to Chainguard Academy is reviewed carefully
for accuracy. GUI procedures, API commands, and CLI code snippets in a
draft are run and tested thoroughly — by both the author and the
reviewer — to confirm they work exactly as written. This helps ensure
that readers can follow along and get the same results. See the [`edu`
repo's README](https://github.com/chainguard-dev/edu#testing).

1. Check the preview link and ensure the changes look right
2. On **Chainguard Libraries > Go > Global configuration**, click the
JFrog link in the **JFrog Artifactory** section and confirm it opens
JFrog's Go Modules page.
3. Copy a `curl` example from **Validate the remote repository** into a
shell and confirm it parses as one command.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Signed-off-by: Mark Drake <mark@chainguard.dev>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

This branch was successfully deployed

1 active deployment
Preview — 7ac23a98 Deployed Oct 15, 2026 by vercel[bot]
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.

2 participants