Consolidate 15 templated AWS-credentials what-is pages into one hub - #20755
Conversation
Merges 15 near-duplicate (96.4% character-similar) programmatically generated AWS-credentials pages under /what-is/ into a single canonical troubleshooting hub, aws-cli-dynamic-credentials-with-pulumi-esc, covering the same 5 credential errors and 10 AWS CLI commands with a proper FAQ section (none of the 16 originals had one). run-aws-sts-get-caller-identity-with-dynamic-credentials, the section's #1 traffic page (113 clicks/28d, position 4.81), is left untouched at its existing URL and is now cross-linked from the new hub instead of being folded in, per the consolidation card's constraint. The other 15 old URLs redirect to the hub via Hugo aliases (meta-refresh + noindex, the preferred SEO-safe redirect mechanism for renamed Hugo content per BUILD-AND-DEPLOY.md). Also updates data/what_is_sections.yml's troubleshooting slug list to match the new page set.
|
Your site preview for commit fa74ac0 is ready! 🎉 http://www-testing-pulumi-docs-origin-pr-20755-fa74ac09.s3-website.us-west-2.amazonaws.com Changed pages: |
|
@claude #new-review Taking the pinned review up on its own suggestion: it reported that automated fact-checking was incomplete (the verification service errored on 1 of 58 claims, facts confidence LOW) and asked for a This deletes 1,844 lines across 15 pages in an SEO-sensitive section, so a partial fact-check isn't a good enough basis to merge on -- even though the mechanical checks came back clean and the alias coverage verified 1:1. Generated by Claude Code |
Pre-merge Review — Last updated 2026-08-14T12:53:40ZTip Summary: This PR consolidates 15 near-duplicate, programmatically generated Review confidence:
Investigation log
🔍 Verification trail59 claims extracted · 47 verified · 2 unverifiable · 1 contradicted · 15 detector findings
🚨 Outstanding in this PRNo outstanding issues.
|
✅ Resolved since last review
📜 Review history
Important Please don't hide, resolve, or delete this comment! It breaks things! 📖 How pre-merge review works — the full lifecycle, short-circuits, and escape hatches. |
|
🤖 Review regenerated on @CamSoper's request. |
|
Tagging in @alexleventer to make sure he's good with the possible SEO implications. Standby, @workprentice. |
- Point internal links at canonical ESC doc paths (/docs/esc/, /docs/esc/get-started/, /docs/esc/guides/configuring-oidc/aws/) instead of the legacy /docs/pulumi-cloud/esc/ and /docs/esc/environments/... alias paths. - Drop the unverifiable frequency claim on the InvalidAccessKeyId cause and state the possible causes without ranking them. - Align the Pulumi Cloud console walkthrough wording (org switcher in left-hand nav, button labels) with the verified copy in the ESC get-started guide and the AWS OIDC configuration guide.
Review fixes pushed (fa74ac0)All three low-confidence findings from the pinned review are addressed in the new commit. I verified each independently rather than trusting the bot's classification alone:
I also independently re-verified the mechanical checks the review already reported clean, since a 1,844-line deletion in an SEO-sensitive section deserves more than one pair of eyes:
SEO impact memo for @alexleventerCam asked me to get you data before this merges. Here's the trailing-28-day picture (
Why this is a consolidation candidate, not a page worth protecting individually. These 15 pages were built from one template with ~96% textual overlap (per the original PR's stated rationale) and it shows in the numbers: combined they pull more impressions than the STS page alone (11.7K vs 14.9K) but convert at less than half its CTR (0.3% vs 0.7%) and roughly a third of its clicks (36 vs 106). No single retired page clears 8 clicks in 28 days. That's the signature of thin, competing pages splitting authority and confusing users on very similar error strings, not 15 pages each serving a distinct audience. Query-intent check. I pulled top queries for the 5 highest-impression retired pages:
Mechanics if this ships:
Bottom line: the data supports the consolidation as designed. The one thing I'd ask you to sanity-check with fresh eyes, since it's a judgment call rather than a data question, is whether the generic "list-X-resource" queries deserve their own coverage going forward even though they're not converting today — if you want that, it's a follow-up addition to the hub's command-examples list, not a reason to hold this PR. @CamSoper — CI is green on the new head (build, test, changelog all pass). Since I can't self-trigger |
|
🤖 Review updated on @workprentice[bot]'s request. |
What
Consolidates 15 near-duplicate, programmatically generated AWS-credentials pages under
/what-is/into a single canonical hub,/what-is/aws-cli-dynamic-credentials-with-pulumi-esc/.Why
Follow-up from the /what-is/ Section Triage Audit (board card 88553c84): the audit found 16 pages that are 96.4% character-similar to each other, with all 9 headings byte-identical except the one AWS command/error name, and none carrying an FAQ section:
resolve-*pages, one per AWS credential error (ExpiredToken,InvalidAccessKeyId,InvalidClientTokenId,SignatureDoesNotMatch, "Unable to locate credentials")run-aws-*-with-dynamic-credentialspages, one per AWS CLI command (S3, EC2, IAM, Lambda, DynamoDB, CloudWatch, STS)run-aws-sts-get-caller-identity-with-dynamic-credentialsis the section's #1 traffic page (113 clicks / 15,935 impressions / position 4.81, trailing 28d) and the audit's explicit constraint was to keep its URL and ranking untouched. This PR does that: the sts page is left completely alone at its existing URL, content, and metadata, with one added paragraph cross-linking to the new hub. The other 15 pages are folded into the new hub and redirect to it via Hugoaliases(client-side meta-refresh + noindex — the repo's documented, SEO-safe mechanism for renamed Hugo content, perBUILD-AND-DEPLOY.md).The new hub page:
?, which the site'sfaq-entity.htmlschema collector picks up as FAQPage entities) — none of the 16 originals had one.data/what_is_sections.yml's troubleshooting slug list is updated to match the new page set.Verification
aliaseslist matches the 15 deleted paths exactly (verified programmatically, no missing/extra entries).data/what_is_sections.yml, now updated.aliasesmechanism and its meta-refresh output are documented and already used elsewhere in the repo.🧠 This PR was created by workprentice on behalf of the accountable principal for this session's assignment.