Skip to content

SEO hardening: canonicals, sitemap x-default, legal dates - #1741

Merged
lawrencecchen merged 1 commit into
mainfrom
feat-seo-hardening
Mar 18, 2026
Merged

lawrencecchen merged 1 commit into
mainfrom
feat-seo-hardening

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Mar 18, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Post-migration SEO hardening from the cmux.dev -> cmux.com ensemble audit.

Sitemap:

  • Added x-default hreflang to all sitemap entries (was missing, inconsistent with HTTP Link headers)
  • Added legal pages (privacy-policy, terms-of-service, eula) to sitemap
  • Stabilized lastModified to fixed dates instead of new Date() (prevents noisy lastmod on every deploy, which wastes crawl budget)

Canonical tags:

  • Added alternates: { canonical: "./" } to community, nightly, wall-of-love, and all legal pages
  • These pages previously had no canonical, creating duplicate content risk with skipTrailingSlashRedirect: true

Legal pages:

  • Updated "last updated" dates to March 18, 2026 (domain migration changed the "Site" definition)
  • Updated copyright year to 2026

Test plan

  • Verify sitemap.xml includes x-default and legal pages in Vercel preview
  • Check canonical tags render on community, nightly, wall-of-love pages

Summary by cubic

Hardened SEO after the cmux.dev → cmux.com migration by adding canonical tags, x-default hreflang, and stable sitemap dates. This reduces duplicate content and avoids noisy crawls.

  • New Features
    • Canonicals: Set alternates: { canonical: "./" } on community, nightly, wall-of-love, and all legal pages.
    • Sitemap: Added x-default hreflang; included /privacy-policy, /terms-of-service, /eula; switched to fixed lastModified dates.
    • Legal pages: Updated “Last updated” to March 18, 2026 and copyright to 2026.

Written for commit f8a8287. Summary will update on new commits.

Summary by CodeRabbit

  • Chores
    • Updated End-User License Agreement, privacy policy, and terms of service with current dates (March 18, 2026)
    • Updated copyright year from 2025 to 2026
    • Enhanced metadata configuration across all pages with canonical URL information

- Add canonical tags to community, nightly, wall-of-love, and all
  legal pages (prevents duplicate content with trailing slashes)
- Add x-default hreflang to sitemap for all entries
- Add legal pages (privacy-policy, terms-of-service, eula) to sitemap
- Stabilize sitemap lastModified to fixed dates instead of new Date()
  (avoids noisy lastmod changes on every deploy)
- Update legal page dates to March 18, 2026 (domain migration is a
  material change to the "Site" definition)
- Update copyright year to 2026
@lawrencecchen
lawrencecchen merged commit d33e1d1 into main Mar 18, 2026
1 of 2 checks passed
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@vercel

vercel Bot commented Mar 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cmux Building Building Preview, Comment Mar 18, 2026 10:23am

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@coderabbitai

coderabbitai Bot commented Mar 18, 2026 •

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d17e3c8b-f4bc-4a8d-85d3-70744321ab3c

📥 Commits

Reviewing files that changed from the base of the PR and between cb4197e and f8a8287.

📒 Files selected for processing (7)
  • web/app/[locale]/(legal)/eula/page.tsx
  • web/app/[locale]/(legal)/privacy-policy/page.tsx
  • web/app/[locale]/(legal)/terms-of-service/page.tsx
  • web/app/[locale]/community/page.tsx
  • web/app/[locale]/nightly/page.tsx
  • web/app/[locale]/wall-of-love/page.tsx
  • web/app/sitemap.ts

📝 Walkthrough

Walkthrough

Metadata enhancements added across multiple pages (legal, community, nightly, wall-of-love) to include canonical URL alternates. Content and sitemap dates updated from 2025 to 2026-03-18. New sitemap entries added for legal pages with yearly change frequency.

Changes

Cohort / File(s) Summary
Legal Pages - Metadata Updates
web/app/[locale]/(legal)/eula/page.tsx, web/app/[locale]/(legal)/privacy-policy/page.tsx, web/app/[locale]/(legal)/terms-of-service/page.tsx
Added alternates: { canonical: "./" } to metadata objects. Updated displayed last-updated dates from 2025-12-02 to 2026-03-18. Terms-of-service also updated copyright year from 2025 to 2026.
Community Pages - Metadata Updates
web/app/[locale]/community/page.tsx, web/app/[locale]/nightly/page.tsx, web/app/[locale]/wall-of-love/page.tsx
Added alternates: { canonical: "./" } to metadata returned by generateMetadata functions across community-related pages.
Sitemap Configuration
web/app/sitemap.ts
Replaced dynamic lastModified values with explicit date string "2026-03-18" for existing routes. Added new legal page entries (/privacy-policy, /terms-of-service, /eula) with yearly change frequency. Introduced x-default locale alternates entry in per-path loop.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 ✨
Hop through the pages, old dates now spring,
Canonical URLs we gently bring,
Sitemaps updated with march's fresh date,
Metadata blooms—these pages are great! 🌿

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat-seo-hardening
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 7 files

bn-l pushed a commit to bn-l/cmux that referenced this pull request Apr 3, 2026
…i#1741)

- Add canonical tags to community, nightly, wall-of-love, and all
  legal pages (prevents duplicate content with trailing slashes)
- Add x-default hreflang to sitemap for all entries
- Add legal pages (privacy-policy, terms-of-service, eula) to sitemap
- Stabilize sitemap lastModified to fixed dates instead of new Date()
  (avoids noisy lastmod changes on every deploy)
- Update legal page dates to March 18, 2026 (domain migration is a
  material change to the "Site" definition)
- Update copyright year to 2026

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>

This branch was successfully deployed

1 active deployment
Preview — f8a82875 Deployed Mar 18, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant