From 38199a4bb0ec832b5e5e9ebe463cffd853a1c722 Mon Sep 17 00:00:00 2001 From: Radin Hamidi Rad Date: Fri, 22 May 2026 18:44:24 -0400 Subject: [PATCH] sites: align SEO meta surface, polish cite pages - Leaderboard `Default.astro` brought to marketing-site parity: adds `og:image:alt`, `og:locale`, `og:type` / `ogImage` / `jsonLd` props, `summary_large_image` Twitter card, `meta name="author"` / `meta name="generator"`. - Home `index.astro` emits `schema.org/Dataset` JSON-LD linking back to querygym.com, the repo, and both arXiv papers via `sameAs`. - Marketing site: tightened per-page descriptions (about / install / methods / reproducibility) and home + Default fallback with keyword-rich phrasing. Header tagline tightened to match the leaderboard's wording. - Cite pages (both surfaces): - SIGIR Reproducibility Track paper retitled to "A Reproducibility Study of LLM-Based Query Reformulation". - arXiv link (2604.27421) added to the BibTeX entry + the card's inline URL. - Marketing JSON-LD now emits two ScholarlyArticle entries (WWW Demos + SIGIR) instead of one. - Both home pages add the SIGIR arXiv to their `sameAs` lists. - `CitationCard.astro` (both surfaces): cards become flex columns with the BibTeX block pushed to the bottom via `mt-auto`, and the `
`
  gets `min-h-56 overflow-auto` so the two boxes share the same visual
  height regardless of citation length.

Co-Authored-By: Claude Opus 4.7 
---
 .../site/src/components/CitationCard.astro    | 40 ++++++------
 .../site/src/layouts/Default.astro            | 57 +++++++++++++++--
 reproducibility/site/src/pages/cite.astro     | 12 +++-
 reproducibility/site/src/pages/index.astro    | 43 ++++++++++++-
 web/site/src/components/CitationCard.astro    | 40 ++++++------
 web/site/src/layouts/Default.astro            |  4 +-
 web/site/src/pages/about.astro                |  2 +-
 web/site/src/pages/cite.astro                 | 62 +++++++++++++------
 web/site/src/pages/index.astro                |  3 +-
 web/site/src/pages/install.astro              |  2 +-
 web/site/src/pages/methods.astro              |  2 +-
 web/site/src/pages/reproducibility.astro      |  2 +-
 12 files changed, 198 insertions(+), 71 deletions(-)

diff --git a/reproducibility/site/src/components/CitationCard.astro b/reproducibility/site/src/components/CitationCard.astro
index 13eeb99..b1afc7a 100644
--- a/reproducibility/site/src/components/CitationCard.astro
+++ b/reproducibility/site/src/components/CitationCard.astro
@@ -10,24 +10,28 @@ interface Props {
 const { title, venue, authors, bibtex, url } = Astro.props;
 ---
 
-
-
{venue}
-

{title}

-

{authors}

- { - url && ( - - {url} ↗ - - ) - } +
+
+
{venue}
+

{title}

+

{authors}

+ { + url && ( + + {url} ↗ + + ) + } +
-
+ {/* mt-auto pushes the BibTeX block to the bottom so it aligns across cards + whose top content differs in height (the grid forces equal heights). */} +
BibTeX
-
{bibtex}
+
{bibtex}
diff --git a/reproducibility/site/src/layouts/Default.astro b/reproducibility/site/src/layouts/Default.astro index 9a306c9..bbc5e7a 100644 --- a/reproducibility/site/src/layouts/Default.astro +++ b/reproducibility/site/src/layouts/Default.astro @@ -7,9 +7,34 @@ import GoogleAnalytics from "@qg/shared/components/GoogleAnalytics.astro"; interface Props { title: string; description?: string; + /** Optional 1200×630 PNG/JPG path; defaults to the logo. Override per page when relevant. */ + ogImage?: string; + /** Explicit Open Graph type — "website" by default; "article" for citation pages, etc. */ + ogType?: "website" | "article"; + /** Optional JSON-LD structured-data string emitted into (e.g. Dataset / SoftwareApplication). */ + jsonLd?: string; } -const { title, description } = Astro.props; +const { + title, + description, + ogImage = "/querygym-logo.png", + ogType = "website", + jsonLd, +} = Astro.props; + +const SITE_URL = "https://leaderboard.querygym.com"; +const SITE_NAME = "QueryGym Leaderboard"; +const TAGLINE = "Reproducible benchmarks for LLM query reformulation."; +const DEFAULT_DESC = "Reproducible benchmarks for LLM-based query reformulation. Click any row for the exact commands that produced each score — methods × LLMs × retrievers (BM25, SPLADE++, BGE) across BEIR, MS MARCO DL, and DL-HARD."; + +// Home/index pages pass title="Leaderboard"; avoid the "Leaderboard — QueryGym Leaderboard" doubling. +const fullTitle = title === "Leaderboard" || title === SITE_NAME + ? `${SITE_NAME} — ${TAGLINE}` + : `${title} — ${SITE_NAME}`; +const desc = description ?? DEFAULT_DESC; +const canonical = new URL(Astro.url.pathname, SITE_URL).toString(); +const ogImageAbsolute = new URL(ogImage, SITE_URL).toString(); // Top-menu linkout items (external: true) open in a new tab so the user // keeps their place on the leaderboard when they cross to a sibling site. @@ -29,17 +54,41 @@ const navLinks = [ - {title} — QueryGym Leaderboard - {description && } + + + + {fullTitle} + + + + + + + + + + + + + + + + + + + + + {jsonLd &&