Duplicate urls returned by `generateRemixSitemap` using React Router 7
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 45/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- react, typescript
調査の方向性
提供された loader の generateRemixSitemap 呼び出しから始め、virtual:react-router/server-build のルートと routes.ts の設定を比較します。示されている React Router 7 のセットアップで生成された XML を再現し、重複したパスがどこで helper に入るのかを追跡し、各 sitemap URL が一度だけ現れることを確認します。
索引モデルが issue の本文から書いたものです。
説明
Hi @AlemTuzlak, first of thanks for the package!
I do not know if its only related to RR7 or Remix v2 aswell, but when I use the following code to generate the sitemap, the generateRemixSitemap helper function returns duplicate links. Any chance to fix this or do you know why that is happening?
import { generateRemixSitemap } from "@forge42/seo-tools/remix/sitemap";
import type { Route } from "./+types/sitemap.xml";
import { href } from "react-router";
export const loader = async ({ request }: Route.LoaderArgs) => {
const { routes } = await import("virtual:react-router/server-build");
const sitemap = await generateRemixSitemap({
domain: new URL(request.url).origin,
ignore: [href("/api/chat"), href("/legal-notice"), href("/privacy-policy")],
// @ts-expect-error Type mismatch, maybe related to a stricter type mentioned in release notes for v.7.0.0
// https://github.com/forge-42/seo-tools/issues/8
routes,
});
return new Response(sitemap, {
headers: {
"Content-Type": "application/xml",
},
});
};
// routes.ts
import {
type RouteConfig,
index,
layout,
prefix,
route,
} from "@react-router/dev/routes";
export default [
layout("routes/layout.tsx", [
index("routes/index.tsx"),
...
route("sitemap.xml", "routes/sitemap.xml.ts"),
route("robots.txt", "routes/robots.txt.ts"),
]),
] satisfies RouteConfig;
The generated sitemap:
<url>
<loc>http://localhost:5173/</loc>
</url>
<url>
<loc>http://localhost:5173/</loc>
</url>
<url>
<loc>http://localhost:5173/chat</loc>
</url>
<url>
<loc>http://localhost:5173/blog</loc>
</url>
<url>
<loc>http://localhost:5173/</loc>
</url>
- 主要言語
- TypeScript
- スター
- 96
- フォーク
- 9
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
code-forge-io/seo-tools のほかの issue
-
Global handle function for Remix/React Router v7対応中かも @mateussilva92 が 313 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
code-forge-io/seo-tools#18 ·
-
Meta with React 19オープン
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
code-forge-io/seo-tools#17 ·
-
RR7 splat routesオープン
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
code-forge-io/seo-tools#16 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
code-forge-io/seo-tools#13 · リアクション 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
code-forge-io/seo-tools#8 · コメント 2 件 ·
code-forge-io/seo-tools の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
langchain-ai/langchainjs#12239 ·
メンテナーはふだん 1 日以内に返信
-
Board view: the Monitoring column is always empty because compact issue rows drop displayStatusオープン
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
paperclipai/paperclip#21837 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
code-yeongyu/senpi#6813 ·
メンテナーはふだん 1 日以内に返信
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
難易度 1/5 1時間未満 初心者へのやさしさ 93/100
lingdojo/kana-dojo#34169 · コメント 1 件 · リアクション 5 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100