Canonicalize showcase posts to a single public URL
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 52/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- go, javascript
調査の方向性
Start in internal/web/seo.go, seo_status.go, frontend/src/pages/CommunityPage.vue, and the frontend router, using the f371314 reproduction and isolated Badger fixture as the baseline. Test direct requests and SPA navigation for showcase aliases, ordinary and missing threads, and storage failure; done means redirects, metadata, structured data, and sitemap locations agree without changing unrelated routing.
索引モデルが issue の本文から書いたものです。
説明
Problem
A showcase post can be indexed under two self-canonical URLs. The sitemap lists only the showcase URL, while the generic community route also returns 200 with its own canonical.
Reproduction
At f371314, create a synthetic thread with SpaceID: "showcase" and ID showcase-example, then request both routes through the frontend handler:
/community/thread/showcase-example: 200; canonical points to that generic route./community/showcase/showcase-example: 200; canonical points to the showcase route.
Both responses have no redirect. The sitemap includes only /community/showcase/showcase-example. This was reproduced with an isolated Badger fixture.
Scope
Use the stored thread space to select one canonical route on both the server and client. Start in internal/web/seo.go, seo_status.go, frontend/src/pages/CommunityPage.vue, and the frontend router.
Acceptance criteria
- Permanently redirect a valid showcase post's generic community URL to its showcase URL on direct requests.
- Normalize SPA navigation to the same destination without leaving conflicting metadata.
- Keep canonical, Open Graph URL, structured-data URL, and sitemap location consistent.
- Preserve ordinary community and personal-space routing; do not redirect a missing or unrelated thread to a showcase page.
- Test both aliases, an ordinary thread, a missing thread, and a storage failure.
The composer noindex bug is #70 and collection outage handling is #73; neither fixes this duplicate-detail route.
Audit baseline: f371314.
- 主要言語
- Go
- スター
- 1
- フォーク
- 7
- 平均マージ
- 1時間 45分
- マージ済み PR(30日)
- 16
環境構築
このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
wavefnd/wave-platform のほかの issue
-
bug difficulty: beginner documentation good first issue help wanted localization
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
wavefnd/wave-platform#140 ·
-
bug difficulty: beginner documentation good first issue help wanted localization
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
wavefnd/wave-platform#139 ·
-
bug difficulty: beginner documentation good first issue help wanted localization
難易度 2/5 半日 初心者へのやさしさ 88/100
wavefnd/wave-platform#137 ·
-
bug difficulty: beginner documentation good first issue help wanted localization
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
wavefnd/wave-platform#136 ·
-
bug difficulty: beginner documentation good first issue help wanted localization
難易度 1/5 1時間未満 初心者へのやさしさ 94/100
wavefnd/wave-platform#135 ·
wavefnd/wave-platform の issue をすべて見る
似ている issue
-
agentic-workflows
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
priority/4/normal status/needs-triage type/bug/unconfirmed
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
authelia/authelia#13292 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
blinklabs-io/actions#138 ·
メンテナーはふだん 1 日以内に返信
-
[UI] AlbumDetails collapses multi-genre list to single primary genre on viewports < lg breakpointオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信