From ff1d2ec9999c5bfc5d7f46023c00f778adab4853 Mon Sep 17 00:00:00 2001 From: Duncan Mackenzie Date: Fri, 26 Jun 2026 13:35:08 -0700 Subject: [PATCH] Adding structured data (company level) and some links for content discovery --- docusaurus.config.js | 43 ++++++++++++++++++++++++++++++++++++++++++- vercel.json | 9 +++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 0335c7c413..c7deb419ff 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -16,6 +16,44 @@ module.exports = async function createConfigAsync() { organizationName: 'temporalio', // Usually your GitHub org/user name. projectName: 'temporal-documentation', // Usually your repo name. headTags: [ + // JSON-LD structured data so AI agents and search engines can identify + // the product (SoftwareApplication) and disambiguate the brand (sameAs). + { + tagName: 'script', + attributes: { + type: 'application/ld+json', + }, + innerHTML: JSON.stringify({ + '@context': 'https://schema.org', + '@graph': [ + { + '@type': 'Organization', + '@id': 'https://temporal.io/#organization', + name: 'Temporal Technologies', + url: 'https://temporal.io', + logo: 'https://docs.temporal.io/img/favicon.png', + sameAs: [ + 'https://github.com/temporalio', + 'https://x.com/temporalio', + 'https://www.youtube.com/c/Temporalio', + ], + }, + { + '@type': 'SoftwareApplication', + '@id': 'https://temporal.io/#software', + name: 'Temporal', + applicationCategory: 'DeveloperApplication', + operatingSystem: 'Cross-platform', + url: 'https://temporal.io', + downloadUrl: 'https://github.com/temporalio/temporal', + description: + 'Temporal is a durable execution platform for building reliable, scalable applications using workflows and activities.', + publisher: { '@id': 'https://temporal.io/#organization' }, + offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' }, + }, + ], + }), + }, ], clientModules: ['./src/client/remote-amplitude-analytics.js', './src/client/scrollSidebarToActivePage.ts'], themeConfig: { @@ -37,7 +75,10 @@ module.exports = async function createConfigAsync() { // }, // }, }, - metadata: [{ name: 'robots', content: 'follow, index' }], + metadata: [ + { name: 'robots', content: 'follow, index' }, + { property: 'og:type', content: 'website' }, + ], image: '/img/assets/open-graph-shiny.png', prism: { theme: prismLightTheme, diff --git a/vercel.json b/vercel.json index a6edffcc3b..c47df572d6 100644 --- a/vercel.json +++ b/vercel.json @@ -12,6 +12,15 @@ "value": "noindex, nofollow" } ] + }, + { + "source": "/(.*)", + "headers": [ + { + "key": "Link", + "value": "; rel=\"sitemap\", ; rel=\"alternate\"; type=\"text/plain\"; title=\"llms.txt\"" + } + ] } ], "redirects": [