Commit Graph

2 Commits

Author SHA1 Message Date
Maximilian Roos 56d7bb825d fix(docs): exclude alternate pages from sitemap and add trailing slashes to nav (#2320)
Search Console flagged two indexing issues on worktrunk.dev:

**"Alternate page with proper canonical tag"**: the sitemap listed
`/worktrunk/`, which canonicalizes to `/` (its content is rendered on
the homepage via `templates/index.html`). Only canonicals belong in a
sitemap. Skip sitemap entries whose frontmatter declares a canonical.

**"Page with redirect"**: the `extra_menu` links `/worktrunk` and
`/tips-patterns` had no trailing slash, so every page's nav triggered a
301 on GitHub Pages. Added the trailing slashes.

Verified locally with `zola build`: sitemap goes from 14 to 13 entries
(no more `/worktrunk/`), `/worktrunk/` page still served with canonical
= `/`, and built nav hrefs now have trailing slashes.

Search Console also reported "Not found (404)" — those are old renamed
URLs (`/why-worktrunk/`, `/quickstart/`, `/advanced/`) that no longer
exist. Left alone here: a static 404 is correct, and adding meta-refresh
redirect stubs would just create new "Page with redirect" entries.

> _This was written by Claude Code on behalf of @max-sixty_

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-19 22:38:15 -07:00
Maximilian Roos 1cf2c8203f Add page metadata, canonical URLs, and structured data to docs (#1167)
## Summary

- Add per-page `<meta name="description">` to all doc pages — command
pages auto-generated from CLI `about`/`long_about` via new
`--help-description` flag, non-command pages manually written
- Add `<link rel="canonical">` URLs and JSON-LD structured data (WebSite
+ SoftwareApplication) on the homepage
- Add custom `sitemap.xml` template with `<lastmod>` dates and
descriptive homepage `<title>`
- Extract shared `extract_about_and_subtitle()` helper, eliminating
duplicated subtitle logic between `handle_help_description` and
`combine_command_docs`
- Fix broken anchor in faq.md (`#picker-summaries` →
`#branch-summaries-experimental`)

## Test plan

- [x] Full test suite passes (2713 tests via `wt hook pre-merge --yes`)
- [x] All lints clean (pre-commit, clippy, cargo fmt)
- [x] Doc sync test confirms auto-generated descriptions match CLI help
- [x] Zola build succeeds with all template changes

> _This was written by Claude Code on behalf of @max-sixty_

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-02-22 13:58:34 -08:00