Skip to content

bug: /sitemap.xml omits /explore, /contact, and /profile from search-engine listing #1879

Description

@ionfwsrijan

Summary

/sitemap.xml omits several public pages that should be indexed. The route emits only the homepage, /compare, and the project detail pages — /explore, /contact, and the profile page are missing, so search engines never discover them.

Evidence

src/routes/main_routes.py:492-517 (sitemap):

urls = [f"<url><loc>{base}/</loc></url>", f"<url><loc>{base}/compare</loc></url>"]
for p in projects:
    urls.append(f"<url><loc>{base}/project/{p['id']}</loc></url>")

The route is explicitly documented as "Includes the homepage and all individual project detail pages" — /explore (the project catalog, @main.route("/explore")), /contact, and /profile are registered public routes but never listed. (Separately, note the URL prefix is derived from request.host_url, whose Host-header behavior is already tracked in #544.)

Impact

  • /explore — arguably the most important crawlable page (the project catalog) — is absent from the sitemap, hurting SEO.
  • Contact/profile pages are also invisible to crawlers via the sitemap.

Suggested Fix

Add the missing public routes to the urls list (including /explore and /contact), and consider adding a test asserting the sitemap contains every registered public page route.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions