From ba89a448cb80987bb84c398ec26f765ed5bf83c3 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 24 Jul 2026 04:12:00 +0000 Subject: [PATCH 1/4] feat(seo): backfill og:image dimensions and alt text on 110 public pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All generated OG cards are 1200×630 PNG but 110 pages were missing the companion og:image:width, og:image:height, og:image:type, and og:image:alt meta properties. Social platforms (Facebook, X/Twitter, LinkedIn, Discord) use these to pre-fetch and frame share thumbnails without downloading each image first — missing them degrades share-preview rendering across the site. Adds scripts/backfill-og-dimensions.mjs (8 self-tests, --check drift mode) which derives og:image:alt from each page's og:title with proper HTML entity encoding, truncating at 100 chars. Run again to verify no drift. Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_011DSmCi4f6MbqkjE5xZshoH --- accessibility/index.html | 4 + api/leaderboard/index.html | 4 + atlas/index.html | 4 + brand/index.html | 4 + careers/index.html | 4 + changelog/index.html | 4 + community/index.html | 4 + contact/index.html | 4 + cookies/index.html | 4 + data-deletion/index.html | 4 + faq/index.html | 4 + feedback/index.html | 4 + franchise-architect/404.html | 4 + franchise-architect/game.html | 4 + franchise-architect/index.html | 4 + games/call-of-doodie/index.html | 4 + games/franchise-architect/index.html | 4 + games/gridiron-gm-play/index.html | 4 + games/gridiron-gm/index.html | 4 + games/index.html | 4 + games/mindframe/index.html | 4 + games/project-unknown/index.html | 4 + games/solara/index.html | 4 + games/the-exodus/index.html | 4 + games/vaultfront/index.html | 4 + games/vaultspark-forge/index.html | 4 + games/voidfall/index.html | 4 + ignis/index.html | 4 + index.html | 2 +- invite/index.html | 4 + ip/index.html | 4 + join/index.html | 4 + journal/archive/index.html | 4 + journal/building-vault-membership/index.html | 4 + journal/community-enters-the-vault/index.html | 4 + journal/dispatches/index.html | 4 + journal/dreadspike-origins/index.html | 4 + journal/first-sparks/index.html | 4 + journal/index.html | 4 + journal/nine-ranks-of-the-vault/index.html | 4 + journal/q1-2026-dispatch/index.html | 4 + journal/roadmap-goes-public/index.html | 4 + journal/signal-log-launches/index.html | 4 + journal/studio-os-public/index.html | 4 + journal/vault-opened/index.html | 4 + leaderboards/call-of-doodie/index.html | 4 + leaderboards/challenges/index.html | 4 + leaderboards/football-gm/index.html | 4 + leaderboards/global/index.html | 4 + leaderboards/index.html | 4 + leaderboards/recruiters/index.html | 4 + leaderboards/teams/index.html | 4 + leaderboards/weekly/index.html | 4 + member/index.html | 4 + members/index.html | 4 + membership-value/index.html | 4 + membership/index.html | 4 + notebook/index.html | 4 + oracle/index.html | 4 + pathways/builders/index.html | 6 +- pathways/index.html | 4 + pathways/investors/index.html | 6 +- pathways/lore/index.html | 6 +- pathways/players/index.html | 6 +- pathways/press/index.html | 6 +- pathways/supporters/index.html | 6 +- press/index.html | 4 + privacy/index.html | 4 + projects/atlas/index.html | 4 + projects/canon/index.html | 4 + projects/concurrent/index.html | 4 + projects/hashmark/index.html | 4 + projects/ideaforge/index.html | 4 + projects/index.html | 4 + projects/obelisk/index.html | 4 + projects/ouren/index.html | 4 + projects/promogrind/index.html | 4 + projects/scriptorium/index.html | 4 + projects/seamline/index.html | 4 + projects/shadow/index.html | 4 + projects/signal-log/index.html | 4 + projects/sparkraid/index.html | 4 + projects/statvault/index.html | 4 + projects/syntha/index.html | 4 + projects/the-living-protocol/index.html | 4 + projects/vault-member/index.html | 4 + projects/vault-pipeline/index.html | 4 + projects/velaxis/index.html | 4 + projects/vorn/index.html | 4 + ranks/index.html | 4 + rights/index.html | 4 + roadmap/index.html | 4 + scripts/backfill-og-dimensions.mjs | 198 ++++++++++++++++++ security/index.html | 4 + sitemap-page/index.html | 4 + social/index.html | 4 + solara/archive.html | 4 + solara/chronicle.html | 4 + solara/index.html | 4 + status/index.html | 4 + studio-pulse/index.html | 4 + studio/index.html | 4 + terms/index.html | 4 + universe/dreadspike/index.html | 4 + universe/index.html | 4 + universe/voidfall/index.html | 4 + vault-member/index.html | 4 + vault-member/passport/index.html | 4 + vault-portal/index.html | 4 + vault-wall/index.html | 4 + vault/tombstones/index.html | 4 + vaultsparked/index.html | 4 + 112 files changed, 645 insertions(+), 7 deletions(-) create mode 100644 scripts/backfill-og-dimensions.mjs diff --git a/accessibility/index.html b/accessibility/index.html index 1eeec27ee..7645c6869 100644 --- a/accessibility/index.html +++ b/accessibility/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/api/leaderboard/index.html b/api/leaderboard/index.html index 654cacea1..9113ad16a 100644 --- a/api/leaderboard/index.html +++ b/api/leaderboard/index.html @@ -15,6 +15,10 @@ + + + + diff --git a/atlas/index.html b/atlas/index.html index 8c6654799..b25680fa4 100644 --- a/atlas/index.html +++ b/atlas/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/brand/index.html b/brand/index.html index cffbb37f3..ff34208a1 100644 --- a/brand/index.html +++ b/brand/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/careers/index.html b/careers/index.html index 9836b0080..2e815d5b3 100644 --- a/careers/index.html +++ b/careers/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/changelog/index.html b/changelog/index.html index 57cc89eb5..fa297355f 100644 --- a/changelog/index.html +++ b/changelog/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/community/index.html b/community/index.html index 3d7bece60..a39946d14 100644 --- a/community/index.html +++ b/community/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/contact/index.html b/contact/index.html index 2e6b63db7..6320147f3 100644 --- a/contact/index.html +++ b/contact/index.html @@ -17,6 +17,10 @@ + + + + diff --git a/cookies/index.html b/cookies/index.html index e6051a86b..0fe2bfd19 100644 --- a/cookies/index.html +++ b/cookies/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/data-deletion/index.html b/data-deletion/index.html index aaef11c25..58cae75d9 100644 --- a/data-deletion/index.html +++ b/data-deletion/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/faq/index.html b/faq/index.html index 757acc31b..1a3ab0c16 100644 --- a/faq/index.html +++ b/faq/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/feedback/index.html b/feedback/index.html index d38ef61c2..8ea2905ee 100644 --- a/feedback/index.html +++ b/feedback/index.html @@ -9,6 +9,10 @@ You asked, we shipped — Feedback Loop | VaultSpark Studios + + + + diff --git a/franchise-architect/404.html b/franchise-architect/404.html index 3ac8de169..472894137 100644 --- a/franchise-architect/404.html +++ b/franchise-architect/404.html @@ -9,6 +9,10 @@ Franchise Architect - Main Menu + + + + diff --git a/franchise-architect/game.html b/franchise-architect/game.html index 02f7c3709..0e493cdec 100644 --- a/franchise-architect/game.html +++ b/franchise-architect/game.html @@ -8,6 +8,10 @@ Franchise Architect - Franchise + + + + diff --git a/franchise-architect/index.html b/franchise-architect/index.html index 1ad149d97..27e02a98d 100644 --- a/franchise-architect/index.html +++ b/franchise-architect/index.html @@ -13,6 +13,10 @@ + + + + diff --git a/games/call-of-doodie/index.html b/games/call-of-doodie/index.html index 8b0394447..01e37f186 100644 --- a/games/call-of-doodie/index.html +++ b/games/call-of-doodie/index.html @@ -19,6 +19,10 @@ + + + + diff --git a/games/franchise-architect/index.html b/games/franchise-architect/index.html index 5c13f0ae6..cc4890d16 100644 --- a/games/franchise-architect/index.html +++ b/games/franchise-architect/index.html @@ -19,6 +19,10 @@ + + + + diff --git a/games/gridiron-gm-play/index.html b/games/gridiron-gm-play/index.html index aaceb3ed9..a11204344 100644 --- a/games/gridiron-gm-play/index.html +++ b/games/gridiron-gm-play/index.html @@ -18,6 +18,10 @@ + + + + diff --git a/games/gridiron-gm/index.html b/games/gridiron-gm/index.html index fac31f936..b1ef4f18f 100644 --- a/games/gridiron-gm/index.html +++ b/games/gridiron-gm/index.html @@ -19,6 +19,10 @@ + + + + diff --git a/games/index.html b/games/index.html index 04ea01b67..3e7abf6ca 100644 --- a/games/index.html +++ b/games/index.html @@ -18,6 +18,10 @@ + + + + diff --git a/games/mindframe/index.html b/games/mindframe/index.html index e107bb769..f7577fda8 100644 --- a/games/mindframe/index.html +++ b/games/mindframe/index.html @@ -18,6 +18,10 @@ + + + + diff --git a/games/project-unknown/index.html b/games/project-unknown/index.html index 3847e5659..3ce7a40c9 100644 --- a/games/project-unknown/index.html +++ b/games/project-unknown/index.html @@ -18,6 +18,10 @@ + + + + diff --git a/games/solara/index.html b/games/solara/index.html index 2173312ea..3c80661b6 100644 --- a/games/solara/index.html +++ b/games/solara/index.html @@ -18,6 +18,10 @@ + + + + diff --git a/games/the-exodus/index.html b/games/the-exodus/index.html index c64ab435a..f7d67f040 100644 --- a/games/the-exodus/index.html +++ b/games/the-exodus/index.html @@ -18,6 +18,10 @@ + + + + diff --git a/games/vaultfront/index.html b/games/vaultfront/index.html index 43df9a2fe..e02167c75 100644 --- a/games/vaultfront/index.html +++ b/games/vaultfront/index.html @@ -18,6 +18,10 @@ + + + + diff --git a/games/vaultspark-forge/index.html b/games/vaultspark-forge/index.html index 1c37eb615..9c86ebf62 100644 --- a/games/vaultspark-forge/index.html +++ b/games/vaultspark-forge/index.html @@ -18,6 +18,10 @@ + + + + diff --git a/games/voidfall/index.html b/games/voidfall/index.html index 352260e90..2a51461d9 100644 --- a/games/voidfall/index.html +++ b/games/voidfall/index.html @@ -18,6 +18,10 @@ + + + + diff --git a/ignis/index.html b/ignis/index.html index 9f87b35de..365d33843 100644 --- a/ignis/index.html +++ b/ignis/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/index.html b/index.html index bbe74a3a6..571f9b9f8 100644 --- a/index.html +++ b/index.html @@ -28,7 +28,7 @@ - + diff --git a/invite/index.html b/invite/index.html index f7c3c3703..2909821ee 100644 --- a/invite/index.html +++ b/invite/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/ip/index.html b/ip/index.html index b9247d73d..4c402c38d 100644 --- a/ip/index.html +++ b/ip/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/join/index.html b/join/index.html index 0b39b835a..1a5c6461d 100644 --- a/join/index.html +++ b/join/index.html @@ -19,6 +19,10 @@ + + + + diff --git a/journal/archive/index.html b/journal/archive/index.html index df9b57e50..1045156d9 100644 --- a/journal/archive/index.html +++ b/journal/archive/index.html @@ -15,6 +15,10 @@ + + + + diff --git a/journal/building-vault-membership/index.html b/journal/building-vault-membership/index.html index 24167aad8..a487c61f9 100644 --- a/journal/building-vault-membership/index.html +++ b/journal/building-vault-membership/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/journal/community-enters-the-vault/index.html b/journal/community-enters-the-vault/index.html index 3b950a1d0..6d4128e79 100644 --- a/journal/community-enters-the-vault/index.html +++ b/journal/community-enters-the-vault/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/journal/dispatches/index.html b/journal/dispatches/index.html index 43aa643dd..2a9f36747 100644 --- a/journal/dispatches/index.html +++ b/journal/dispatches/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/journal/dreadspike-origins/index.html b/journal/dreadspike-origins/index.html index d841a0424..c19c5a897 100644 --- a/journal/dreadspike-origins/index.html +++ b/journal/dreadspike-origins/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/journal/first-sparks/index.html b/journal/first-sparks/index.html index 7a7dce3f6..4df8eb4c4 100644 --- a/journal/first-sparks/index.html +++ b/journal/first-sparks/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/journal/index.html b/journal/index.html index 56a12c954..a524cda1d 100644 --- a/journal/index.html +++ b/journal/index.html @@ -19,6 +19,10 @@ + + + + diff --git a/journal/nine-ranks-of-the-vault/index.html b/journal/nine-ranks-of-the-vault/index.html index 976487c80..090e4f40f 100644 --- a/journal/nine-ranks-of-the-vault/index.html +++ b/journal/nine-ranks-of-the-vault/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/journal/q1-2026-dispatch/index.html b/journal/q1-2026-dispatch/index.html index b7cdaf179..43e82eff4 100644 --- a/journal/q1-2026-dispatch/index.html +++ b/journal/q1-2026-dispatch/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/journal/roadmap-goes-public/index.html b/journal/roadmap-goes-public/index.html index 6cda99a2e..5a2f08943 100644 --- a/journal/roadmap-goes-public/index.html +++ b/journal/roadmap-goes-public/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/journal/signal-log-launches/index.html b/journal/signal-log-launches/index.html index b3ee0de4d..364650f41 100644 --- a/journal/signal-log-launches/index.html +++ b/journal/signal-log-launches/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/journal/studio-os-public/index.html b/journal/studio-os-public/index.html index 09bcbca4c..0e45d4e33 100644 --- a/journal/studio-os-public/index.html +++ b/journal/studio-os-public/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/journal/vault-opened/index.html b/journal/vault-opened/index.html index 8314705d4..bce51f45d 100644 --- a/journal/vault-opened/index.html +++ b/journal/vault-opened/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/leaderboards/call-of-doodie/index.html b/leaderboards/call-of-doodie/index.html index 75a2ec69a..b3fe2bfed 100644 --- a/leaderboards/call-of-doodie/index.html +++ b/leaderboards/call-of-doodie/index.html @@ -13,6 +13,10 @@ + + + + diff --git a/leaderboards/challenges/index.html b/leaderboards/challenges/index.html index 3edc50dba..193c032ae 100644 --- a/leaderboards/challenges/index.html +++ b/leaderboards/challenges/index.html @@ -13,6 +13,10 @@ + + + + diff --git a/leaderboards/football-gm/index.html b/leaderboards/football-gm/index.html index 50cebef52..71c580f66 100644 --- a/leaderboards/football-gm/index.html +++ b/leaderboards/football-gm/index.html @@ -13,6 +13,10 @@ + + + + diff --git a/leaderboards/global/index.html b/leaderboards/global/index.html index d960712a8..ce2447bee 100644 --- a/leaderboards/global/index.html +++ b/leaderboards/global/index.html @@ -13,6 +13,10 @@ + + + + diff --git a/leaderboards/index.html b/leaderboards/index.html index 8e53fcecf..3c1118748 100644 --- a/leaderboards/index.html +++ b/leaderboards/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/leaderboards/recruiters/index.html b/leaderboards/recruiters/index.html index 8cf682190..29f7f964c 100644 --- a/leaderboards/recruiters/index.html +++ b/leaderboards/recruiters/index.html @@ -13,6 +13,10 @@ + + + + diff --git a/leaderboards/teams/index.html b/leaderboards/teams/index.html index a5ea665ea..18915086b 100644 --- a/leaderboards/teams/index.html +++ b/leaderboards/teams/index.html @@ -13,6 +13,10 @@ + + + + diff --git a/leaderboards/weekly/index.html b/leaderboards/weekly/index.html index a10487ba0..27868746a 100644 --- a/leaderboards/weekly/index.html +++ b/leaderboards/weekly/index.html @@ -13,6 +13,10 @@ + + + + diff --git a/member/index.html b/member/index.html index 1f374081d..ce917a813 100644 --- a/member/index.html +++ b/member/index.html @@ -11,6 +11,10 @@ + + + + diff --git a/members/index.html b/members/index.html index 51802d802..265627faf 100644 --- a/members/index.html +++ b/members/index.html @@ -14,6 +14,10 @@ + + + + diff --git a/membership-value/index.html b/membership-value/index.html index 136f0842d..bcc185003 100644 --- a/membership-value/index.html +++ b/membership-value/index.html @@ -10,6 +10,10 @@ Vault Membership Value Breakdown | VaultSpark Studios + + + + diff --git a/membership/index.html b/membership/index.html index 9ac35b996..3e8bc4f70 100644 --- a/membership/index.html +++ b/membership/index.html @@ -19,6 +19,10 @@ + + + + diff --git a/notebook/index.html b/notebook/index.html index 31f841caa..c985089cb 100644 --- a/notebook/index.html +++ b/notebook/index.html @@ -13,6 +13,10 @@ + + + + diff --git a/oracle/index.html b/oracle/index.html index 755ad7f88..cf5ad4c7f 100644 --- a/oracle/index.html +++ b/oracle/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/pathways/builders/index.html b/pathways/builders/index.html index 081cbdf59..4f877bb6e 100644 --- a/pathways/builders/index.html +++ b/pathways/builders/index.html @@ -1,4 +1,8 @@ -Builders Pathway | VaultSpark Studios +Builders Pathway | VaultSpark Studios + + + +