Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

feat(seo): traditional-search baseline (titles, preset 3.6, legal-link override)#57

Merged
rubenvdlinde merged 1 commit into
developmentfrom
feat/seo-baseline
May 18, 2026
Merged

feat(seo): traditional-search baseline (titles, preset 3.6, legal-link override)#57
rubenvdlinde merged 1 commit into
developmentfrom
feat/seo-baseline

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Collaborator

Summary

Companion to the AI-crawler baseline in #55. Targets traditional search engines (Google, Bing, DuckDuckGo) and the AI surfaces those engines feed (Copilot, ChatGPT Search, Perplexity).

Changes

Title dedup (8 pages)

Docusaurus auto-appends `| {Site}` to every page title. Prior frontmatter `title: Apps, Conduction` produced `Apps, Conduction | Conduction` in browser title, `og:title`, and SERP. Cleaned up:

Page before after
/about About, Conduction → `About Conduction`
/apps Apps, Conduction → `Apps Conduction`
/demo Local demo, Conduction → `Local demo Conduction`
/partners Partners, Conduction → `Partners Conduction`
/sidecars Sidecars, Conduction → `Sidecars Conduction`
/solutions Solutions, Conduction → `Solutions Conduction`
/support Support, Conduction → `Support Conduction`
/ Conduction, Public Tech for Nextcloud → `Public Tech for Nextcloud Conduction`

`/apps/` pages left alone: "OpenRegister, Conduction" reads as branding, not a typo.

Homepage meta description

180 chars → 157 chars. Google truncates around 155-160. New copy:
"Open-source apps that plug into the Nextcloud workspace. Install yourself, get managed support, or bring a partner. EUPL-1.2, ISO 27001, Amsterdam."

Preset 3.6.0 + lockfile

Bump `@conduction/docusaurus-preset` to `^3.6.0` (preset companion PR shipped sitemap lastmod, drops priority/changefreq, adds searchConsoleVerification opt, and absolute www.conduction.nl defaults for footer legal links). Lockfile regenerated with `--min-release-age=0` per .npmrc cooldown override.

legalLinks override

conduction-website hosts /privacy, /terms, /iso itself, so we override the preset's new absolute defaults back to relative routes. Per-app subdomain sites inherit the absolute defaults (they don't have those pages) so the ~645 sitewide broken internal links the SEO audit found get fixed automatically on each site's next deploy.

searchConsoleVerification scaffold

Commented-out placeholder in docusaurus.config.js. Once ops claims the property in Google Search Console / Bing Webmaster Tools, the tokens go here and the preset emits a meta tag per token.

Validation

Deploy will run the postbuild validator (15 checks). The new SEO check (`sitemap.xml emits `) requires preset 3.6.0 — this PR's lockfile pulls it in.

Test plan

  • Build succeeds
  • Sitemap.xml has `` on every URL
  • Browser title on /apps reads `Apps | Conduction`
  • Homepage meta description renders the new 157-char version
  • Footer Privacy / Terms / ISO still link to /privacy /terms /iso (not absolute www.conduction.nl URLs)

…k override)

Companion to the AI-crawler baseline shipped in #55. Targets Google,
Bing, DuckDuckGo, and the AI surfaces those engines feed.

Title dedup (7 pages)
- about, apps, demo, partners, sidecars, solutions, support: drop the
  ", Conduction" suffix from frontmatter title:. Docusaurus appends
  " | Conduction" automatically, so the prior frontmatter produced
  "Apps, Conduction | Conduction" in browser title + og:title + SERP.
  After: "Apps | Conduction" (clean).
- index: tighten title from "Conduction, Public Tech for Nextcloud"
  to "Public Tech for Nextcloud" (still gets " | Conduction"
  appended). Trim meta description from 180 to ~157 chars so Google
  stops truncating in SERP.
- /apps/<slug> pages left as-is: "OpenRegister, Conduction" reads as
  branding (made-by signal), not a typo, so the appended duplicate
  is acceptable.

Preset 3.6.0
- Bump @conduction/docusaurus-preset to ^3.6.0 (companion preset PR
  ships sitemap lastmod, drops priority/changefreq, adds
  searchConsoleVerification opt, ships absolute www.conduction.nl
  defaults for footer legal links).
- package-lock.json regenerated with --min-release-age=0 per
  .npmrc cooldown override.

legalLinks override
- conduction-website hosts /privacy, /terms, /iso itself, so we
  override the preset's new absolute defaults back to relative
  routes. Per-app subdomain sites inherit the absolute defaults
  (they don't have /privacy etc.) so those 645 sitewide broken
  internal links get fixed automatically on their next deploy.

searchConsoleVerification scaffold
- Commented-out placeholder in docusaurus.config.js. Once ops claims
  the property in Google Search Console / Bing Webmaster Tools, the
  tokens go here and the preset emits a meta tag per token.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant