seo: associate ClaudiuSchuster with the existing person identity #12

Merged
ClaudiuSchuster merged 1 commit from fix/person-alias-metadata-20261010 into main 2026-10-10 18:27:35 +00:00
Owner

Why

The user wants the public handle ClaudiuSchuster associated with the existing person name Claudiu Schuster, without changing any visible website text. Before this change, the page already represented the person and linked the relevant public profiles, but had no explicit machine-readable Person identity.

Change

Add one static JSON-LD Person object in the homepage head:

  • Shared identity: https://claudiuschuster.de/#person
  • name: Claudiu Schuster
  • alternateName: ClaudiuSchuster
  • url: https://claudiuschuster.de/
  • sameAs: the existing personal oss-oo, GitHub and Telegram profiles (https://oss-oo.io/ClaudiuSchuster, https://github.com/ClaudiuSchuster, https://t.me/ClaudiuSchuster).

Add a focused contract check for exactly one static, valid Person data block in the head and document the metadata in docs/README.md. Project Universe uses the same person identity in ClaudiuSchuster/claudiu-project-universe#4.

The source change contains no visible copy, CSS, executable JavaScript, ARIA-label, canonical, robots, sitemap, favicon, hosting or CSP changes. It adds no hidden keyword text.

Validation

  • Source base: 3b11431c17ffd77ce6e05e29b954d883b29044f8, obtained from a complete repository bundle.
  • make check, make build and git diff --check: passed.
  • The entire source body remains byte-identical: 17,126 bytes, SHA-256 2b3f7230cc4b5dd796aaf55604f8e837e0dd10f258545840a6ecb06bcd1a598e.
  • Removing only the new JSON-LD block restores the entire baseline index.html byte-for-byte.
  • The existing builder preserves the JSON-LD in the production output; malformed JSON, a wrong alias, body placement, an external script source and duplicate blocks are rejected by the focused checks.
  • The existing build continues downloading its four project preview images. Those external image refreshes are existing build behavior, not part of this source patch.

Publication and Search Console results (2026-10-10)

Production publication of c7c1da97292602877437ad94ca47f1e421a6572d completed successfully. Times below are CEST.

Publication evidence

  • Plan run 61 succeeded at 21:05 with baseline_http_verified: true.
  • Publish run 62 succeeded at 21:07, taking 26 seconds, in publish mode for the exact commit above. It reported publication_verified: true, remote phase published and a retained rollback tree.
  • The published candidate contains 24 files and 2,446,393 bytes. Its manifest SHA-256 is 789f9d77e94be327faff67df48f073b403d80b01d298e25fa58f399bba19e84b.
  • Origin homepage and asset checks returned HTTP 200. The edge homepage returned HTTP 200 with 20,090 bytes; the asset returned HTTP 200 and converged from cache MISS to HIT. The www endpoint returned HTTP 301.
  • The authenticated operator's post-publication comparison confirmed that only index.html changed in the managed live tree, the entire <body> remained byte-identical, current protected contents were preserved, the root mode was 0755, and rollback was available.

The earlier failed attempts, runs 58 and 60, were investigated before retrying. The existing runtime rejects a public-root mode of 0750 with unsafe_live during staging; the unfinished attempt had not switched the live content. At approximately 21:04, the operator reconciled that verified attempt to clean and corrected only the root mode to 0755, retaining the unchanged baseline and private recovery evidence. All five protected directories and their current contents were preserved. Runtime, hash pin and SSH binding were unchanged. The separately prepared read-only diagnostic patch was not merged and was not required for this publication.

Search Console evidence

The canonical homepage was live-tested in the existing URL-prefix property https://claudiuschuster.de/ at 21:08:36, after publication:

  • HTTP 200 with Content-Type: text/html; all resources loaded and no JavaScript console messages were reported.
  • No X-Robots-Tag response header; crawling and indexing were allowed, with the intended self-canonical.
  • Google's fetched HTML contained the exact static Person object, including alternateName: ClaudiuSchuster and all three intended sameAs profiles.

Google's stored index record remains separate: it reports the homepage as indexed with the intended self-canonical, but its last crawl is 2026-09-19 at 22:43:13, before this release. The successful live test therefore proves current fetchability and delivery of the new metadata, without establishing a post-release indexing crawl.

At approximately 21:14 CEST, Google explicitly accepted the indexing request: Search Console displayed “Indexierung wurde beantragt” and confirmed placement in its priority crawl queue. Submission is complete; a subsequent crawl and Google's processing of the new metadata remain pending. The sitemap is unchanged and required no update for this metadata-only change.

The alias is factual identity metadata. It does not guarantee spelling correction, a ranking change or a rich-result appearance. The older release documentation still describes a GitHub workflow chain; the current Forgejo workflow files govern this release.

## Why The user wants the public handle `ClaudiuSchuster` associated with the existing person name `Claudiu Schuster`, without changing any visible website text. Before this change, the page already represented the person and linked the relevant public profiles, but had no explicit machine-readable Person identity. ## Change Add one static JSON-LD `Person` object in the homepage head: - Shared identity: `https://claudiuschuster.de/#person` - `name`: `Claudiu Schuster` - `alternateName`: `ClaudiuSchuster` - `url`: `https://claudiuschuster.de/` - `sameAs`: the existing personal oss-oo, GitHub and Telegram profiles (`https://oss-oo.io/ClaudiuSchuster`, `https://github.com/ClaudiuSchuster`, `https://t.me/ClaudiuSchuster`). Add a focused contract check for exactly one static, valid Person data block in the head and document the metadata in `docs/README.md`. Project Universe uses the same person identity in https://oss-oo.io/ClaudiuSchuster/claudiu-project-universe/pulls/4. The source change contains no visible copy, CSS, executable JavaScript, ARIA-label, canonical, robots, sitemap, favicon, hosting or CSP changes. It adds no hidden keyword text. ## Validation - Source base: `3b11431c17ffd77ce6e05e29b954d883b29044f8`, obtained from a complete repository bundle. - `make check`, `make build` and `git diff --check`: passed. - The entire source body remains byte-identical: 17,126 bytes, SHA-256 `2b3f7230cc4b5dd796aaf55604f8e837e0dd10f258545840a6ecb06bcd1a598e`. - Removing only the new JSON-LD block restores the entire baseline `index.html` byte-for-byte. - The existing builder preserves the JSON-LD in the production output; malformed JSON, a wrong alias, body placement, an external script source and duplicate blocks are rejected by the focused checks. - The existing build continues downloading its four project preview images. Those external image refreshes are existing build behavior, not part of this source patch. ## Publication and Search Console results (2026-10-10) Production publication of `c7c1da97292602877437ad94ca47f1e421a6572d` completed successfully. Times below are CEST. ### Publication evidence - [Plan run 61](https://oss-oo.io/ClaudiuSchuster/claudiuschuster.de/actions/runs/61/jobs/0/attempt/1) succeeded at 21:05 with `baseline_http_verified: true`. - [Publish run 62](https://oss-oo.io/ClaudiuSchuster/claudiuschuster.de/actions/runs/62/jobs/0/attempt/1) succeeded at 21:07, taking 26 seconds, in `publish` mode for the exact commit above. It reported `publication_verified: true`, remote phase `published` and a retained rollback tree. - The published candidate contains 24 files and 2,446,393 bytes. Its manifest SHA-256 is `789f9d77e94be327faff67df48f073b403d80b01d298e25fa58f399bba19e84b`. - Origin homepage and asset checks returned HTTP 200. The edge homepage returned HTTP 200 with 20,090 bytes; the asset returned HTTP 200 and converged from cache `MISS` to `HIT`. The www endpoint returned HTTP 301. - The authenticated operator's post-publication comparison confirmed that only `index.html` changed in the managed live tree, the entire `<body>` remained byte-identical, current protected contents were preserved, the root mode was `0755`, and rollback was available. The earlier failed attempts, runs 58 and 60, were investigated before retrying. The existing runtime rejects a public-root mode of `0750` with `unsafe_live` during staging; the unfinished attempt had not switched the live content. At approximately 21:04, the operator reconciled that verified attempt to `clean` and corrected only the root mode to `0755`, retaining the unchanged baseline and private recovery evidence. All five protected directories and their current contents were preserved. Runtime, hash pin and SSH binding were unchanged. The separately prepared read-only diagnostic patch was not merged and was not required for this publication. ### Search Console evidence The canonical homepage was live-tested in the existing URL-prefix property `https://claudiuschuster.de/` at **21:08:36**, after publication: - HTTP 200 with `Content-Type: text/html`; all resources loaded and no JavaScript console messages were reported. - No `X-Robots-Tag` response header; crawling and indexing were allowed, with the intended self-canonical. - Google's fetched HTML contained the exact static Person object, including `alternateName: ClaudiuSchuster` and all three intended `sameAs` profiles. Google's stored index record remains separate: it reports the homepage as indexed with the intended self-canonical, but its last crawl is **2026-09-19 at 22:43:13**, before this release. The successful live test therefore proves current fetchability and delivery of the new metadata, without establishing a post-release indexing crawl. At approximately **21:14 CEST**, Google explicitly accepted the indexing request: Search Console displayed “Indexierung wurde beantragt” and confirmed placement in its priority crawl queue. Submission is complete; a subsequent crawl and Google's processing of the new metadata remain pending. The sitemap is unchanged and required no update for this metadata-only change. The alias is factual identity metadata. It does not guarantee spelling correction, a ranking change or a rich-result appearance. The older release documentation still describes a GitHub workflow chain; the current Forgejo workflow files govern this release.
seo: associate ClaudiuSchuster with the existing person identity
All checks were successful
verify / Verify (push) Successful in 7s
verify / Verify (pull_request) Successful in 7s
1e60a5c253
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
ClaudiuSchuster/claudiuschuster.de!12
No description provided.