piapia123
ja

URL クリーナー

Web

処理はすべてブラウザ内で完結します。データは送信されません

入力
ファイルをここにドロップすると読み込めます
出力

SNS・メールマガジン・検索広告からコピーしたリンクには、相手にしか必要のないパラメータがぶら下がっています:`utm_source`、`fbclid`、`gclid`…… その役割はこのクリックを誰かの成果として記録することです。転送する前に切り落とすのはちょっとした礼儀ですが、手作業は間違えやすく、切りすぎればページの内容が変わり、切り足りなければそのまま付いていきます。 リストはベンダー族ごとに整理されています(UTM、Google、Meta、Microsoft、HubSpot、Mailchimp、Matomo、TikTok、Twitter/X、Snapchat、Pinterest、そして残りをまとめた「その他」)。全部で 90 件以上。各族はチェックボックスで、既定ではすべてオン(全部削除)です —— だから「UTM だけ消して Meta は残す」もできます。結果には削除した族と、リンクごとに消したパラメータ数が出ます。 ⚠️ 全部削除はトレードオフであり、無条件に正しいわけではありません。 `gclid` などのクリック ID は広告プラットフォームがアトリビューションに使うもので、消すと「どの広告から来たか」が分からなくなります。`mc_cid` / `mc_eid` はメールの開封・クリック統計や配信停止に関わります。必要なら該当の族をオフにしてください(FAQ 参照)。 ⚠️ 判断は既知の追跡パラメータのリストに基づき、「怪しく見えるか」では行いません。リスト外はすべて保持します:`/article?id=1234&ref=home` の `ref=home` はサイト自身のナビゲーション用パラメータかもしれず、消すと別のページに飛びます。削りすぎより削り足りないほうが安全です。リスト外の名前はオプションで追加できます。

機能

  • リストは 11 のベンダー族 +「その他」で整理し、全部で 90 件以上:UTM、Google(gclid / gclsrc / dclid / wbraid / gbraid / _ga / _gl)、Meta/Facebook、Microsoft、HubSpot、Mailchimp、Matomo、TikTok、Twitter/X、Snapchat、Pinterest
  • 族ごとにチェックボックスが 1 つ、既定ですべてオン(全部削除)——「UTM だけ消して Meta は残す」も可能
  • ⚠️ リスト外はすべて保持 —— 削りすぎより削り足りないほうが安全。リスト外はオプションで追加できます
  • ⚠️ パラメータの順序とパーセントエンコードはバイト単位でそのまま。削除対象がない URL は完全に元のまま返ります
  • 結果に削除した族と、リンクごとに消したパラメータ数を表示し、削除したパラメータも一覧表示します
  • ⚠️ gclid などのクリック ID、mc_cid などのメール用パラメータを削ると、アトリビューションやメール統計が失われる旨を正直に警告します
  • 同名パラメータは最初の 1 つだけ残します(いくつ統合したかも表示)—— 重複は転送経路の痕跡であることが多いためです
  • #フラグメントの削除と末尾スラッシュの削除は個別のオプション。ルートパスのスラッシュは誤って消しません
  • 複数行のリンクに対応し、行ごとにまとめ、最後に合計を表示します
  • http/https のみ受け付けます:`javascript:` などはリンクとして扱いません

使い方

  1. リンクを 1 行に 1 つ貼り付けます
  2. 残したい族(例:アトリビューションを保つなら Google)をオフにします
  3. 組み込みリストにない名前は「追加で削除するパラメータ」に入れます
  4. 結果にクリーニング後のリンク、削除した族、消したパラメータ数が出ます

よくある質問

一部のパラメータが削除されないのはなぜですか?
リストにないパラメータは判断できないからです。`?id=42` はほぼ確実にページが使いますが、`?ref=home` はサイト自身のナビゲーション用かもしれず、消すと訪問者は別の場所に飛び、しかも理由は見えません。そこで確実なトラッキングパラメータ(広告プラットフォームが用途を定めており、サイトが別の意味で使うことはないもの)だけを削除し、残りはオプションで指定できるようにしています。
パラメータの順序が保たれるのはなぜですか?
署名付き URL はパラメータの順序も署名に含めるからです。並べ替えると署名が一致せずサーバーがリンクを拒否しますが、利用者に見えるのは「このリンクが開かない」だけで、順序が原因だとは分かりません。そのため順序は保持し、削除対象だけを消します。
もともと綺麗なリンクが 1 文字も変わらないのはなぜですか?
クエリ文字列を手で分解しており、`URLSearchParams` でデコードしてから組み直していないためです。後者では `y=%2B` が `y=+` になり、このエンコードでは `+` が空白を意味するため、パラメータの意味が静かに変わってしまいます。この点はテストで固定しています。
同名パラメータを統合するのはなぜですか?
`?a=1&a=2&a=3` はほぼ常に転送経路の痕跡で、各ホップが追記したものであり、サーバーは通常最初の 1 つしか読みません。最初だけを残して統合数を伝えるほうが有用です —— そのまま通すとリンクが綺麗に見える一方、サーバー側フレームワークがエラーになったり予期しない値を読んだりします。
どういうときは削るべきではありませんか?
アトリビューションが必要なときです。`gclid`・`fbclid`・`msclkid` などのクリック ID は、広告プラットフォームが「この訪問がどの広告・どのクリックによるものか」を答えるために使います。`mc_cid` / `mc_eid` はメールの開封・クリック統計や配信停止に関わります。マーケティング側である場合や、これらの数値と突き合わせる場合は、削ると相手側のデータが合わなくなります。対応は簡単で、該当の族(Google・Meta・Mailchimp など)のチェックを外し、本当に消したいもの(UTM など)だけを削除してください。既定の「全部削除」はリンクを転送するときの一般的な選択であり、無条件に正しい既定値ではありません。

関連ツール