From 926daaf1a80c0aa2feceae2e8be844294b77f584 Mon Sep 17 00:00:00 2001 From: Mathieu Bastian Date: Sat, 10 Oct 2026 18:26:50 +0200 Subject: [PATCH] Improve SEO titles, descriptions and add structured data - Rewrite titles/descriptions of home, desktop, lite and quickstart pages to target generic network visualization/analysis queries - Add JSON-LD (WebSite, Organization, SoftwareApplication, WebApplication, SoftwareSourceCode, FAQPage) - Add Sitemap line to robots.txt - Fix leftover apple-mobile-web-app-title Co-Authored-By: Claude Sonnet 5.5 --- public/robots.txt | 4 +++- src/layouts/Layout.astro | 9 ++++++--- src/pages/desktop/index.astro | 18 ++++++++++++++++-- src/pages/faq/index.astro | 16 +++++++++++++++- src/pages/index.astro | 23 ++++++++++++++++++++++- src/pages/lite/index.astro | 18 ++++++++++++++++-- src/pages/quickstart/index.astro | 4 ++-- src/pages/toolkit/index.astro | 11 +++++++++++ 8 files changed, 91 insertions(+), 12 deletions(-) diff --git a/public/robots.txt b/public/robots.txt index 6f27bb6..26a819e 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -1,2 +1,4 @@ User-agent: * -Disallow: \ No newline at end of file +Disallow: + +Sitemap: https://gephi.org/sitemap-index.xml diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 14f5658..8947171 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -9,9 +9,11 @@ interface Props { class?: string; pageId?: string; title?: string; + fullTitle?: string; description?: string; image?: string; noindex?: boolean; + jsonLd?: object | object[]; } const DEFAULT_TITLE = "Gephi - The Open Graph Viz Platform"; @@ -19,9 +21,9 @@ const DEFAULT_DESCRIPTION = "Gephi is the leading visualization and exploration software for all kinds of graphs and networks. Gephi is open-source and free."; const DEFAULT_IMAGE = "/gephi-screenshot.jpg"; -const { class: className, pageId, title, description, image, noindex } = Astro.props; +const { class: className, pageId, title, fullTitle, description, image, noindex, jsonLd } = Astro.props; -const pageTitle = title ? `${title} | Gephi` : DEFAULT_TITLE; +const pageTitle = fullTitle ? fullTitle : title ? `${title} | Gephi` : DEFAULT_TITLE; const pageDescription = description || DEFAULT_DESCRIPTION; const canonicalURL = new URL(Astro.url.pathname, Astro.site); const ogImageURL = new URL(image || DEFAULT_IMAGE, Astro.site); @@ -55,12 +57,13 @@ const appPages = [ - + {noindex && } {pageTitle} + {jsonLd &&