Repository navigation
feat(site): analytics, SEO and agent metadata; this repo becomes the source of truth - #1
Merged
Merged
Conversation
…ource The root page moves to being authored where it deploys. Source and deploy become one repository, which removes the copy step and with it the whole class of failure where the reviewed bytes and the served bytes drift apart unnoticed. Content taken from mrveiss/AutoBot-AI#16145, verified as a strict superset of the deployed page (171 lines added, 0 removed): - Google Analytics G-ZV9XT0XSWR, the same property as the /AutoBot-AI/ page, with Consent Mode v2 denied by default. The defaults are set before gtag.js loads and the answer is stored under `ab-consent` -- the same key and the same origin as the project site, so a visitor who answers on either is not asked twice. - Open Graph and Twitter card with an absolute og:image (verified 200), canonical, robots meta, and JSON-LD for the site, the person and the three repositories. - robots.txt naming GPTBot, ClaudeBot, PerplexityBot and Google-Extended explicitly rather than relying on the wildcard, plus the sitemap pointer. - llms.txt to the llmstxt.org convention, stating what the sites contain and claiming no metric that could silently stop being true. README is rewritten: it described itself as a deployed copy authored elsewhere, which stops being true with this commit, and it is a public repository's front page. It now carries the deploy rules that cost real time to learn -- push once and wait, never POST /pages/builds, and /pages/builds/latest is a positional alias rather than a handle. Refs mrveiss/AutoBot-AI#16135
The footer read "Source for this page lives in AutoBot-AI" and linked Dev_new_gui/site/mrveiss.github.io -- a path that 404s the moment that tree is removed, which is the next PR. It now points at this repository, which is where the source actually is. A visible dead link on the first page a visitor sees, created by the move itself rather than inherited, so it is fixed here rather than filed.
The /AutoBot-AI/ page persists an explicit light/dark override under `ab-theme`.
This page never read it, so a visitor who chose light there -- on a system set to
dark -- got a dark root page: two pages of one property visibly disagreeing about
a decision that person had already made.
Exactly the argument the `ab-consent` key makes, applied to theme. Same origin,
same key, and the stored values ('light' / 'dark') are already the ones this
page's selectors expect, so honouring it needs no new state.
Only an explicit choice is read: the project page writes `ab-theme` on toggle and
not on load, so an absent key means the visitor never chose and the unstamped
default still falls through to prefers-color-scheme. Inline in <head> because
stamping after first paint is a visible flash of the wrong theme.
Found while re-reading #16135's fifth criterion ("palette, type and theme
handling match docs/index.html") against the new single-repo shape rather than
ticking it. The palette and type matched; the theme handling did not.
Refs mrveiss/AutoBot-AI#16135
6 tasks
mrveiss
added a commit
to mrveiss/AutoBot-AI
that referenced
this pull request
Sep 9, 2026
…#16145) (#16149) Everything site-related moves out of this repository and into mrveiss/mrveiss.github.io, where the page is now both authored and deployed. Source and deploy being one repository removes the copy step, and with it the whole class of failure where the reviewed bytes and the served bytes drift apart with nothing noticing -- which was the entirety of #16140. This tree is what is left of the old two-repository design. Keeping it would leave a second copy of a page authored elsewhere, silently stale from the moment the real source moves ahead of it, and inviting an edit that can never reach the site. That is precisely the divergence the move exists to remove. The content is not deleted, it is landed elsewhere and verified there before this removal was written: mrveiss/mrveiss.github.io@34c0d81 index.html 457 lines, robots.txt, llms.txt, _config.yml, README.md -- GA G-ZV9XT0XSWR present, no YAML front matter, and it carries 171 lines this copy never had. Two files, 299 deletions, nothing else. Verified as the only references: a repo-wide grep for `site/mrveiss.github.io` returns exactly one hit, the footer self-link inside the removed index.html, already repointed at the new source in mrveiss/mrveiss.github.io#1. No workflow, script or doc reads the path. Closes #16145 Closes #16140
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The root page moves to being authored where it deploys. Source and deploy become one repository, which removes the copy step — and with it the entire class of failure where the reviewed bytes and the served bytes drift apart with nothing noticing.
Content comes from
mrveiss/AutoBot-AI#16145, which was written and review-ready in the wrong repository. Wrong place, not wrong content: verified as a strict superset of the currently deployed page — 171 lines added, 0 removed.What lands
index.htmlrobots.txtllms.txtREADME.md_config.ymlAnalytics
Google Analytics
G-ZV9XT0XSWR— the same property as the/AutoBot-AI/page, so the root and the project site report into one stream rather than splitting traffic across two.Consent Mode v2, everything denied by default. Two things here are load-bearing rather than stylistic:
gtag.jsloads. Reordering them silently defeats the mechanism.ab-consent— the exact key the/AutoBot-AI/page already reads, verified against the deployed page rather than taken from the PR that claimed it. Both are the same origin, so a visitor who answers on either is not asked again. Renaming that key asks one person twice for one decision.SEO and metadata
og:imageis absolute and verified 200 (image/png, 113 KB) — the one line in the head that cannot be checked by reading it, since a brokenog:imagerenders nothing on every platform and none of them warn you.JSON-LD deliberately carries no
aggregateRating,downloadCountorinteractionStatistic, andllms.txtclaims no adoption figures: nothing here measures them, and a number that gets indexed and then stops being true is worse than an absent one.README rewrite
The old README said "
index.htmlhere is a deployed copy, authored elsewhere". That stops being true with this commit, and it is a public repository's front page. It now documents the single-repo shape and carries the three deploy rules that cost real time to learn:POST /pages/buildsto hurry one along: that cancels the deploy already in flight. Two of three deploys on this repository's first day died to exactly that nudge."Page build failed."with a null detail — indistinguishable from a real content failure, and it sent two sessions hunting a defect that did not exist.gh run listis the only view that shows whether a runner actually holds the job./pages/builds/latestis a positional alias, not a handle. A newer build re-points it, so a watcher keyed to it can follow two different builds and never see the first one's failure — and it fails in the direction that reads as still working. Key to the run id.Verification
index.htmlstill begins<!DOCTYPE html>with no YAML front matter — with front matter the Jekyll theme starts wrapping the page, which is the one change that would silently alter it. Documented in_config.ymlwhere someone would trip over it.</script>— because the original's trailing close now closes the newly added block. It is correct; it just does not read as correct in a diff._config.ymlwas byte-identical between the two repositories before this change; the only edit is a comment that referenced a "deploy contract" which no longer exists.Follow-ups this unblocks
mrveiss/AutoBot-AI#16145— closed as relocated, not abandoned; this PR is where its content lands.mrveiss/AutoBot-AI#16140(nothing detects drift between the reviewed page and the served bytes) — dissolved. There is no copy step left to drift.site/mrveiss.github.io/is removed from AutoBot-AI in a separate PR there, only after this one merges.