diff --git a/.github/workflows/06.deploy_final.yml b/.github/workflows/06.deploy_final.yml
index 2d50a8a1..0cb0867b 100644
--- a/.github/workflows/06.deploy_final.yml
+++ b/.github/workflows/06.deploy_final.yml
@@ -25,6 +25,9 @@ jobs:
uses: actions/checkout@v6
with:
submodules: true
+ # Full history so mkdocs-git-revision-date-localized can compute the
+ # real per-page "last updated" date (shallow clone => all build-date).
+ fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v6
diff --git a/docs/overrides/main.html b/docs/overrides/main.html
index 0de2f4a8..cb2f48ef 100644
--- a/docs/overrides/main.html
+++ b/docs/overrides/main.html
@@ -3,3 +3,51 @@
{% block announce %}
New: Intelligence Digest — AI-curated trending resources across 26 categories
{% endblock %}
+
+{#-
+ JSON-LD structured data (schema.org) for richer search results: declares the
+ WebSite (with a sitelinks SearchAction) and the publishing Organization.
+ Only the V2 portal uses this overrides dir (custom_dir: docs/overrides), so
+ this injects on the canonical nubenetes.com root; V1 uses the stock theme.
+-#}
+{% block extrahead %}
+ {{ super() }}
+
+{% endblock %}
diff --git a/requirements.txt b/requirements.txt
index 47253594..411a867e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,3 +5,4 @@ youtube-transcript-api
mkdocs-redirects>=1.2.3
mkdocs-minify-plugin>=0.8.0
mkdocs-rss-plugin>=1.15.0
+mkdocs-git-revision-date-localized-plugin>=1.3.0
diff --git a/v2-mkdocs.yml b/v2-mkdocs.yml
index 950ebab3..2b43f42e 100644
--- a/v2-mkdocs.yml
+++ b/v2-mkdocs.yml
@@ -58,6 +58,13 @@ theme:
plugins:
- search
+ # "Last updated" per-page date (freshness signal for SEO + reader trust).
+ # Needs full git history (fetch-depth: 0 in 06.deploy_final.yml); falls back
+ # to the build date when history is unavailable so the build never fails.
+ - git-revision-date-localized:
+ enable_creation_date: false
+ type: date
+ fallback_to_build_date: true
- privacy
- social:
cards: true