Skip to content

Commit 437ccc3

Browse files
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

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

config/_default/config.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,10 @@ ignoreFiles = ["\\.ipynb$", ".ipynb_checkpoints$", "\\.Rmd$", "\\.Rmarkdown$", "
4343

4444
# Workaround Hugo publishing taxonomy URLs as plurals - consistently use singular across Academic.
4545
[permalinks]
46-
authors = "/author/:slug/"
46+
# `authors` taxonomy permalink removed: author profiles are now plain section
47+
# pages under /authors/<slug>/ (see layouts/authors/list.html). The taxonomy
48+
# was disabled because it collided with the content/authors/ section, which
49+
# suppressed every profile whose term slug matched its folder name.
4750
tags = "/tag/:slug/"
4851
categories = "/category/:slug/"
4952
publication_types = "/publication-type/:slug/"
@@ -81,7 +84,8 @@ ignoreFiles = ["\\.ipynb$", ".ipynb_checkpoints$", "\\.Rmd$", "\\.Rmarkdown$", "
8184
tag = "tags"
8285
category = "categories"
8386
publication_type = "publication_types"
84-
author = "authors"
87+
# `author = "authors"` taxonomy disabled: it collided with the content/authors/
88+
# section. Author profiles render as section pages at /authors/<slug>/ instead.
8589
cluster = "FORRT_clusters"
8690

8791
# Related content.
@@ -106,10 +110,6 @@ ignoreFiles = ["\\.ipynb$", ".ipynb_checkpoints$", "\\.Rmd$", "\\.Rmarkdown$", "
106110
name = "categories"
107111
weight = 70.0
108112

109-
[[related.indices]]
110-
name = "authors"
111-
weight = 20.0
112-
113113
[build]
114114
no404check = true
115115
timeout = 60

content/authors/Karolina-Urbanska/_index.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
---
22
# Display name
33
name: "Karolina Urbanska"
4+
title: "Karolina Urbanska"
45

5-
# Username (this should match the folder name and the name on publications)
6-
authors:
7-
- Name "Karolina Urbanska"
86

97
# Is this the primary user of the site?
108
superuser: false

content/authors/Priya-Silverstein/_index.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
---
22
# Display name
33
name: "Priya Silverstein"
4+
title: "Priya Silverstein"
45

5-
# Username (this should match the folder name and the name on publications)
6-
authors:
7-
- Name "Priya Silverstein"
86

97
# Is this the primary user of the site?
108
superuser: false

content/authors/Samuel-Alarie/_index.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
---
22
# Display name
33
name: "Samuel Alarie"
4+
title: "Samuel Alarie"
45

5-
# Username (this should match the folder name and the name on publications)
6-
authors:
7-
- Name "Samuel Alarie"
86

97
# Is this the primary user of the site?
108
superuser: false

content/authors/adam-partridge/_index.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
---
22
# Display name
33
name: "Adam Partridge"
4+
title: "Adam Partridge"
45

5-
# Username (this should match the folder name)
6-
authors:
7-
- Name "adam-partridge"
86

97
# Is this the primary user of the site?
108
superuser: false

content/authors/adira-daniel/_index.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
---
22
# Display name
33
name: "Adira Daniel"
4+
title: "Adira Daniel"
45

5-
# Username (this should match the folder name)
6-
authors:
7-
- Name "adira-daniel"
86

97
# Is this the primary user of the site?
108
superuser: false

content/authors/alaa-aldoh/_index.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
---
22
# Display name
33
name: "Alaa Aldoh"
4+
title: "Alaa Aldoh"
45

5-
# Username (this should match the folder name and the name on publications)
6-
authors:
7-
- Name "Alaa Aldoh"
86

97
# Is this the primary user of the site?
108
superuser: false

content/authors/aleksandra-lazic/_index.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
---
22
# Display name
33
name: "Aleksandra Lazić"
4+
title: "Aleksandra Lazić"
45

5-
# Username (this should match the folder name and the name on publications)
6-
authors:
7-
- Name "Aleksandra Lazić"
86

97
# Is this the primary user of the site?
108
superuser: false

content/authors/alexander-hart/_index.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
---
22
# Display name
33
name: "Alexander Hart"
4+
title: "Alexander Hart"
45

5-
# Username (this should match the folder name and the name on publications)
6-
authors:
7-
- Name "Alexander Hart"
86

97
# Is this the primary user of the site?
108
superuser: false

content/authors/alice-rees/_index.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
---
22
# Display name
33
name: "Alice Rees"
4+
title: "Alice Rees"
45

5-
# Username (this should match the folder name and the name on publications)
6-
authors:
7-
- Name "Alice Rees"
86

97
# Is this the primary user of the site?
108
superuser: false

0 commit comments

Comments
 (0)