Skip to content

Add a dynamic sitemap and per-page metadata for marketplace, commitments, and create routes #660

Description

@1nonlypiece

📌 Description

src/app/sitemap.ts exists but the app lacks complete per-route metadata
(titles, descriptions, Open Graph/Twitter tags) for the marketplace, commitments,
create, and settings routes. This weakens shareability and SEO of the public
surfaces.

This issue adds per-route metadata exports and ensures the sitemap covers all
public routes.

🎯 Requirements and Context

  • Add metadata (title, description, OG/Twitter) to public route segments.
  • Ensure src/app/sitemap.ts enumerates current public routes.
  • Keep wallet-gated/private routes out of the sitemap.
  • Validate metadata renders without hydration issues.

🛠️ Suggested Execution

1. Fork the repo and create a branch

git checkout -b docs/route-metadata-sitemap

2. Implement changes

  • Add metadata to marketplace, commitments, create, and settings route
    files; update src/app/sitemap.ts.
  • Add src/app/sitemap.test.ts asserting the sitemap includes the expected
    public routes and excludes private ones.
  • Add docs/SEO_METADATA.md documenting the metadata conventions.
  • Validate metadata output for a couple of routes.

3. Test and commit

  • Run pnpm test.
  • Cover edge cases: new route added (drift), private route excluded, missing
    description fallback.

Example commit message

docs: per-route metadata and complete dynamic sitemap

✅ Guidelines

  • Minimum 95% test coverage on the sitemap helper.
  • Clear, reviewer-friendly documentation.
  • Timeframe: 96 hours.

🏷️ Labels

type-documentation · type-enhancement · area-frontend · MAYBE REWARDED ·
GRANTFOX OSS · OFFICIAL CAMPAIGN

💬 Community & Support

  • Join the CommitLabs contributor Discord to coordinate and get unblocked fast:
    https://discord.gg/WV7tdYkJk
  • Introduce yourself before starting so we can avoid duplicate work and pair you
    with a reviewer. Maintainers triage actively and review fast.

Metadata

Metadata

Assignees

No one assigned

    Type

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions