From dda5bfb2e1d5236d161516d4266a2e69d7c04092 Mon Sep 17 00:00:00 2001 From: kunal_yelgate Date: Thu, 25 Jun 2026 17:38:41 +0530 Subject: [PATCH 1/3] add metadata, OpenGraph, Twitter cards, and structured data to Docusaurus config Signed-off-by: kunal_yelgate --- docusaurus.config.js | 87 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/docusaurus.config.js b/docusaurus.config.js index 3c5a39bd7..1f2a8e8ff 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -6,6 +6,7 @@ import { themes as prismThemes } from "prism-react-renderer"; /** @type {import('@docusaurus/types').Config} */ const config = { title: "Kmesh", + tagline: "High-performance sidecarless service mesh dataplane based on eBPF", favicon: "img/favicons/favicon.ico", // Set the production url of your site here @@ -15,6 +16,74 @@ const config = { // For GitHub pages deployment, it is often '//' baseUrl: "/", +// Default social sharing image // Recommended size: 1200x630px + image: "img/kmesh-social-card.png", + + // ===== SEO: Head tags ===== + headTags: [ + { + tagName: "link", + attributes: { + rel: "canonical", + href: "https://kmesh.net", + }, + }, + { + tagName: "meta", + attributes: { + name: "description", + content: + "Kmesh is a high-performance, sidecarless service mesh dataplane based on eBPF and programmable kernel for cloud-native applications.", + }, + }, + { + tagName: "meta", + attributes: { + property: "og:type", + content: "website", + }, + }, + { + tagName: "meta", + attributes: { + property: "og:site_name", + content: "Kmesh", + }, + }, + { + tagName: "meta", + attributes: { + name: "twitter:card", + content: "summary_large_image", + }, + }, + { + tagName: "meta", + attributes: { + name: "twitter:site", + content: "@Kmesh_net", + }, + }, + { + tagName: "script", + attributes: { + type: "application/ld+json", + }, + innerHTML: JSON.stringify({ + "@context": "https://schema.org", + "@type": "Organization", + name: "Kmesh", + url: "https://kmesh.net", + logo: "https://kmesh.net/img/favicons/favicon.ico", + sameAs: [ + "https://github.com/kmesh-net/kmesh", + "https://x.com/Kmesh_net", + "https://www.youtube.com/@Kmesh-traffic", + ], + }), + }, + ], + onBrokenLinks: "throw", onBrokenMarkdownLinks: "warn", @@ -78,6 +147,24 @@ const config = { autoCollapseCategories: true, }, }, + + // ===== SEO metadata ===== + metadata: [ + { + name: "keywords", + content: + "Kmesh, service mesh, eBPF, dataplane, Kubernetes, sidecarless, cloud-native, CNCF, high-performance networking", + }, + { + name: "author", + content: "Kmesh Community", + }, + { + name: "robots", + content: "index, follow", + }, + ], + navbar: { title: "Kmesh", logo: { From 09b32974d82dc9226f70ae1a9a9dc793807ae60c Mon Sep 17 00:00:00 2001 From: kunal_yelgate Date: Tue, 30 Jun 2026 19:25:16 +0530 Subject: [PATCH 2/3] fix: move image field to themeConfig to resolve build error Signed-off-by: kunal_yelgate --- docusaurus.config.js | 4 +--- yarn.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 1f2a8e8ff..f2eab6cbc 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -16,9 +16,6 @@ const config = { // For GitHub pages deployment, it is often '//' baseUrl: "/", -// Default social sharing image // Recommended size: 1200x630px - image: "img/kmesh-social-card.png", - // ===== SEO: Head tags ===== headTags: [ { @@ -141,6 +138,7 @@ const config = { /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ // Replace with your project's social card + image: "img/kmesh-social-card.png", docs: { sidebar: { hideable: true, diff --git a/yarn.lock b/yarn.lock index 71e8cc3cc..6047395b4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2276,10 +2276,10 @@ dependencies: "@types/mdx" "^2.0.0" -"@node-rs/jieba-darwin-arm64@2.0.1": +"@node-rs/jieba-win32-x64-msvc@2.0.1": version "2.0.1" - resolved "https://registry.npmjs.org/@node-rs/jieba-darwin-arm64/-/jieba-darwin-arm64-2.0.1.tgz" - integrity sha512-10+nwGQ6KzXXJlIL/sELA6Fi6m7eJ7xJksBiKuw1kxKUgaJwtVfAG0iqRF+NRQv0Sdq7r3k5ew9K9y0+IYaEcA== + resolved "https://registry.npmjs.org/@node-rs/jieba-win32-x64-msvc/-/jieba-win32-x64-msvc-2.0.1.tgz" + integrity sha512-LDOyo2/2CO8UnpSGLJdgqtH8mOnsABPhNxkfIky7UT9cyLEzOaU44nbA5YzPGpBI3qzMbWcwJYQsjBcgK2VqAg== "@node-rs/jieba@^2.0.1": version "2.0.1" @@ -2322,10 +2322,10 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@parcel/watcher-darwin-arm64@2.5.1": +"@parcel/watcher-win32-x64@2.5.1": version "2.5.1" - resolved "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz" - integrity sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw== + resolved "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz" + integrity sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA== "@parcel/watcher@^2.4.1": version "2.5.1" From 6a172ef5faa800eec16523b557f61e5423c72828 Mon Sep 17 00:00:00 2001 From: kunal_yelgate Date: Tue, 30 Jun 2026 19:36:30 +0530 Subject: [PATCH 3/3] fix: implement PR review feedback for SEO metadata Signed-off-by: kunal_yelgate --- docusaurus.config.js | 64 +++++++++++++++----------------------------- 1 file changed, 21 insertions(+), 43 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index f2eab6cbc..5393e2996 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -18,49 +18,6 @@ const config = { // ===== SEO: Head tags ===== headTags: [ - { - tagName: "link", - attributes: { - rel: "canonical", - href: "https://kmesh.net", - }, - }, - { - tagName: "meta", - attributes: { - name: "description", - content: - "Kmesh is a high-performance, sidecarless service mesh dataplane based on eBPF and programmable kernel for cloud-native applications.", - }, - }, - { - tagName: "meta", - attributes: { - property: "og:type", - content: "website", - }, - }, - { - tagName: "meta", - attributes: { - property: "og:site_name", - content: "Kmesh", - }, - }, - { - tagName: "meta", - attributes: { - name: "twitter:card", - content: "summary_large_image", - }, - }, - { - tagName: "meta", - attributes: { - name: "twitter:site", - content: "@Kmesh_net", - }, - }, { tagName: "script", attributes: { @@ -148,6 +105,27 @@ const config = { // ===== SEO metadata ===== metadata: [ + { + name: "description", + content: + "Kmesh is a high-performance, sidecarless service mesh dataplane based on eBPF and programmable kernel for cloud-native applications.", + }, + { + property: "og:type", + content: "website", + }, + { + property: "og:site_name", + content: "Kmesh", + }, + { + name: "twitter:card", + content: "summary_large_image", + }, + { + name: "twitter:site", + content: "@Kmesh_net", + }, { name: "keywords", content: