Commit 437ccc3
Add SEO/GenAI structured data and rebuild author profile pages (#784)
Structured data (JSON-LD), built with the repo's dict + jsonify + safeJS
convention for safe escaping:
- DefinedTerm on glossary term pages (all languages, correct inLanguage)
- Article on Educators' Corner posts
- ScholarlyArticle/CollectionPage on the Summaries pages (DOIs are
extracted from the stored references, never fabricated)
- Person on substantive author profiles
The proposed standalone meta-description partial was intentionally not
added: the theme's site_head already emits description/og/twitter tags
(including from a glossary term's definition), so it would only duplicate.
Author profile pages were broken: content/authors/ was both a content
section and the `authors` taxonomy, so every profile whose term slug
matched its folder name was suppressed, and a junk `authors: - Name "X"`
field in each profile mangled the remaining URLs and titles (pages showed
up as `Name "..."` at /author/name-x/). ~250 such thin pages were in the
sitemap, hurting SEO.
Rebuild:
- Disable the `author` taxonomy + permalink; render profiles as plain
section pages at /authors/<slug>/.
- Rewrite layouts/authors/list.html to render the profile (avatar, name,
role, organization, social, bio, interests) plus the author's posts,
and add an alphabetical authors index.
- Strip the junk `authors:` field and add a proper `title:` across the
119 profiles.
- Override page_metadata_authors.html so bylines slugify display names
and link to the new /authors/<slug>/ URLs.
- Noindex empty template-stub profiles (no bio/role/org/interests and no
credited content) so they don't dilute search.
Note: author URLs change from /author/name-<slug>/ to /authors/<slug>/.
No internal links referenced the old URLs.
SEO / GenAI optimisation advice by Keegan Vaz.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 9bbe48a commit 437ccc3
130 files changed
Lines changed: 441 additions & 382 deletions
File tree
- config/_default
- content/authors
- Karolina-Urbanska
- Priya-Silverstein
- Samuel-Alarie
- adam-partridge
- adira-daniel
- alaa-aldoh
- aleksandra-lazic
- alexander-hart
- alice-rees
- alicia-tamara-veersma-barredo
- amanda-kay-montoya
- amani-aloufi
- amelie-bret
- amelie-gourdon
- anna-meier
- annalisa-myer
- annalise-laplume
- aoife-omahony
- ashley-blake
- balazs-aczel
- ben-saunders
- berit-t-barthelmes-msc
- bethan-iley
- bradley-baker
- cass-gheoghe
- catherine-laverty
- catia-oliveira
- charlotte-r-pennington
- christopher-eaker
- ciara-egan
- connor-keating
- crystal-steltenpohl
- daniela-duca
- david-moreau
- dermot-lynott
- dr-lukas-wallrich
- dr-sarah-a-sauve
- dr-steven-verheyen
- drlukasroseler
- dushime-mudahera-richard
- eike-rinke
- filip-dechterenko
- flavio-azevedo
- forrt
- fotis-mystakopoulos-phd-student
- gavin-leech
- gilad-feldman
- giorgia-andreolli
- heather-urry
- helena-hartmann
- henrik-schoenemann
- jacob-miranda
- jade-pickering
- james-bartlett
- jan-philipp-roer
- jeef-lees
- joanne-mccuaig
- john-shaw
- jordan-wagge
- julia-pauquet
- julia-strand
- julia-wolska
- justin-sulik
- kai-krautter
- kaili-chung
- kamil-izydorczak
- karen-matvienko-sikar
- karen-matvienkosikar
- kelly-lloyd
- kimberly-quinn
- laurel-standiford
- leticia-micheli
- lorna-hamilton
- louise-bezuidenhout
- lydia-riedl
- madeleine-pownall
- magdelna-grose-hodge
- mahmoud-elsherif
- malika-ihle
- markus-konkol
- martin-vasilev
- max-korbmacher
- meera-chandra
- mehdi-goughari
- meng-liu
- mike-galang
- monica-gonzales-marquez
- myriam-baum
- nihan-albayrak-aydemir
- olly-robertson
- patrick-s-forscher
- rachel-heyard
- rachel-renbarger
- sam-parsons
- sam-westwood
- samantha-tyler
- samuel-guay
- sandra-grinschgl
- sara-lil-middleton
- sara-middleton
- sarah-ashcroftjones
- sau-chin-chen
- shilaan-alzahawi
- siu-kit-yeung
- sonia-rishi
- stephanie-zellers
- susanne-vogel
- tamara-kalandadze
- tamara-marques
- thomas-rhys-evans
- timo-roettger
- tina-lonsdorf
- tom-heyman
- waleed-alsubhi
- william-ngiam
- yanna-weisberg
- yufang-yang
- zoe-flack
- zoran-pavlovic
- layouts
- authors
- partials
- authors
- structured-data
- shortcodes
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | | - | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
47 | 50 | | |
48 | 51 | | |
49 | 52 | | |
| |||
81 | 84 | | |
82 | 85 | | |
83 | 86 | | |
84 | | - | |
| 87 | + | |
| 88 | + | |
85 | 89 | | |
86 | 90 | | |
87 | 91 | | |
| |||
106 | 110 | | |
107 | 111 | | |
108 | 112 | | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | 6 | | |
9 | 7 | | |
10 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | 6 | | |
9 | 7 | | |
10 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | 6 | | |
9 | 7 | | |
10 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | 6 | | |
9 | 7 | | |
10 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | 6 | | |
9 | 7 | | |
10 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | 6 | | |
9 | 7 | | |
10 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | 6 | | |
9 | 7 | | |
10 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | 6 | | |
9 | 7 | | |
10 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | 6 | | |
9 | 7 | | |
10 | 8 | | |
| |||
0 commit comments