Changelog
Changelog
Every change to this site, generated from its git history rather than written by hand.
A site that tells people to signal freshness honestly should be able to show its own edit history. This page is generated from the repository's git log at build time, so it cannot drift from what actually shipped and cannot be quietly curated after the fact.
38 changes across
4 days of work, from 2026-09-17 to
2026-09-20. Source: git-committed.
Short hashes refer to commits in the site's private repository.
One caveat worth stating rather than hiding: this data is generated immediately before each commit is made, so the very latest change — the one that published this version of the page — appears on the next update rather than this one. The list is complete up to the commit before the current deploy.
2026-09-20
-
caf46bfAdd HSTS, COOP, a partial CSP, and a real Permissions-Policy -
a5e1920Gate the build on JSON-LD validation, with tests for the validator itself -
b4f1e2dAdd accessibility, security, changelog and humans.txt; fix 5 WCAG AA failures -
9d401cdCorrect a now-stale note about the GitHub profile -
df04738Add X handle to Person.sameAs and retire the dead brand handle -
cc70cf4Add confirmed LinkedIn profile to Person.sameAs -
5c8cf91Add verified GitHub profile to Person.sameAs -
36dace2Attribute articles to Peter Adams -
774e706Add Organization entity graph, BreadcrumbList, and an editorial author page -
e9e1021Replace arbitrary paragraph word-count rule with evidence-based structural rules -
da3cbd9Practise what the checklist preaches: dates, Bing slot, answer-first openings
2026-09-19
-
27a5a7dList llms.txt and llms-full.txt in the sitemap -
a3696fdGenerate llms.txt from collections, add llms-full.txt companion
2026-09-18
-
65dabf8Make git-derived lastmod actually work in production -
794303fEmit lastmod source as a sitemap comment -
48c432bDerive sitemap lastmod from git commit times -
4f023a6Add google-adsense-account meta tag for site verification -
fa47b38Only show ad units AdSense confirms are filled -
3aa1a83Go live with real AdSense ad units -
32a016cRecord real headerLeaderboard and sidebar ad unit IDs -
8ba88dbSet real AdSense publisher ID, enabling /ads.txt -
657115fCache-bust CSS and JS so fixes reach returning visitors -
3d7f182Add ads.txt generated from the AdSense publisher ID in site.js -
1264d88Fix missing horizontal gutters on mobile hero and page overflow -
b1369a3Optimise AdSense placement for policy compliance and viewability -
558c9c4Add three articles: digital PR for GEO, AI crawler decisions, content freshness; fix AdSense CSS to apply to live ins elements -
59fd9faAdd competitor citation audit article + cross-link from all three pillars -
8cd9d26Add search console verification article + ChatGPT pillar cross-link -
4dd7d25Flip to geohandbook.io: SITE_URL defaults + robots.txt sitemap line -
ec21a60robots.txt: point Sitemap at live worker URL, add ChatGPT-User and Perplexity-User, reorder for specificity -
3369822Wire IndexNow submission into build pipeline (postbuild hook + key file passthrough) -
d059bfdAdd Perplexity tier-and-mode article covering the five Sonar tiers and citation-density differences -
d5140c7Add 3 engine-specific sub-pillar articles: Perplexity Reddit playbook, ChatGPT Bing/OpenAI crawlers/IndexNow, Google AI structured data -
ca0eb2cAdd engine pillar pages for Perplexity, ChatGPT, and Google AI + homepage engines section and footer/nav links -
1f2e684Add ChatGPT citation signals and Google AI Mode optimization articles -
ab882dfAdd 6 new GEO articles: Perplexity source selection, Reddit influence, Google May 2026 update, brand in training data, entity-first SEO, measuring GEO
2026-09-17
-
621bd03Remove wrangler.toml — Pages Git integration doesn't need it -
da10f22Initial commit: GEOhandbook Eleventy site