Slugify
テキスト任意のテキスト(中国語・アクセント・絵文字を含む)を URL 対応のスラグに変換します。区切り文字、大文字/小文字、CJK→ピンイン音訳、長さ上限を設定でき、リアルタイム プレビュー付き。
このページの内容
Slugify ツールとは?#
Slugify ツールは、人間が読めるタイトルを URL セーフなスラグに変換します — ドメインのあとに置かれる、コンパクトで小文字の句読点なし文字列のことです。How to Brew Coffee at Home は how-to-brew-coffee-at-home に、Café Münchën は cafe-munchen に、你好世界 は ni-hao-shi-jie になります。スラグは、ブログ、EC サイト、ドキュメントシステムが、URL を念頭に置かずに書かれたタイトルから、読めて共有でき SEO に強い URL を構築する手段です。
厄介なのは、人々が実際に使う文字そのものです。アクセント(café)、リガチャ(ß、æ)、em ダッシュやスマートクォート、そして ASCII 表現を持たない CJK 漢字。素朴な「a-z 以外をすべて削除」は 你好世界 を空文字列にし、壊れた URL を生みます。本ツールは 3 つすべてを正しく処理します。アクセント付き文字を分解して結合マークを剥がし(é → e)、分解しないラテンリガチャをマッピングし(ß → ss、æ → ae)、CJK 漢字を無声調ピンインに音訳します(你好世界 → ni hao shi jie)。そのため中国語のタイトルでも意味のある発音可能なスラグが生成されます。
すべてローカルで動きます。ピンイン辞書は入力が実際に CJK を含むときにだけ読み込まれるため、純ラテンのスラグは決してそのコストを払いません。
使い方#
- 左の入力ペインにタイトルを入力または貼り付けします。
- 区切り文字を選びます — ハイフン(デフォルト)またはアンダースコア。
- 小文字(デフォルトオン)にチェックを入れ、出力を小文字に畳みます。ケースを保持したい場合はチェックを外します。
- CJK をピンインに音訳(デフォルトオン)にチェックを入れ、CJK 文字を無声調ピンインに変換します。音訳ではなく CJK を剥がしたい場合はチェックを外します。
- 任意で最大長を設定します(0 は無制限)。スラグが超えると切り詰められ、末尾にぶら下がる区切り文字は削られるため、URL が裸の
-で終わることはありません。 - 右の出力ペインを読みます — 入力または任意のオプションが変わった瞬間にスラグが現れます。コピーで取得します。
ステータス行はスラグ長を報告し、2 つの特殊ケースをフラグします。CJK が音訳されたときと、最大長に収めるため切り詰められたときです。
主な機能#
- アクセントとリガチャの処理。 NFKD 分解と小さなラテン互換マップで、
café、Münchën、straße、œuvreをきれいな ASCII(cafe、munchen、strasse、oeuvre)に変え、文字を完全に落としません。 - CJK からピンイン。 中国語漢字は同梱の辞書で無声調ピンインに音訳されるため、
你好世界は空や壊れたものではなく、ni-hao-shi-jie— 発音可能で意味のあるスラグになります。 - きれいな単語境界。 CJK の連なりは区切り文字パスの前にスペースで包まれるため、音訳出力は(
nihaoに糊付けされず)ni-haoのように単語に分かれます。 - きれいに切り詰める長さ上限。 最大長はスラグを切り、その後ぶら下がる末尾の区切り文字を剥がすため、
-で終わる URL になることはありません。 - ハイフンかアンダースコア。 プラットフォームが期待する区切り文字を選べます — 最近のウェブスラグの多くはハイフンですが、一部のシステムやファイル名規約はアンダースコアを使います。
- ピンインの遅延読み込み。 ピンイン辞書は入力が実際に CJK を含む初回にだけインポートされるため、全ラテンのスラグは決してそれをダウンロードしません。
- ローカルで例外なし。 空の入力は
emptyを報告し、(絵文字のみなど)すべて剥がれてしまった入力はno-outputを報告します。失敗は明確なメッセージになり、例外にはなりません。
実例#
入力プレースホルダーのタイトルを、デフォルトすべて(区切りハイフン、小文字オン、音訳オン)で貼り付けます。
Café Münchën — 你好世界
ステップごとに見ると次の通りです。
- CJK が検出され、
你好世界はni hao shi jieに音訳されます。 - アクセントが剥がされます。
Café→Cafe、Münchën→Munchen。 - em ダッシュとスペースが区切り文字に畳まれます。
- 結果は小文字化し、先頭/末尾の区切り文字が削られます。
出力ペインは次を示します。
cafe-munchen-ni-hao-shi-jie
次に最大長を 20 に設定して再生成します。スラグは切り詰められ、ぶら下がる末尾のハイフンが削られます。
cafe-munchen-ni-hao
アクセントがプレーン ASCII になり、中国語のタイトルが発音可能なピンインで単語に分かれ、長さ上限が単語の途中や裸のハイフンで終わるものではなくきれいな URL 断片を生成したことに注目してください。
よくある質問#
なぜ中国語のタイトルが文字のままではなくピンインになるのですか?#
URL は ASCII のとき最も安全で移植性が高いからです。URL 中の CJK 文字はパーセントエンコードを必要とし(你 は %E4%BD%A0 になります)、これは人間にも多くの解析ツールにも読めません。無声調ピンインはスラグを発音可能で意味のある ASCII だけのものに保ちます — ni-hao-shi-jie はパーセント記号の羅列よりはるかに良い URL です。元の文字を保持したい場合はCJK をピンインに音訳のチェックを外してください。
絵文字やその他の非英数字記号はどうなりますか?#
剥がされます。絵文字、スマートクォート、カッコ、大半の句読点はスラグパイプラインを生き残りません — 文字ではないため、非英数字の畳み込みパスがそれらを区切り文字にします。入力が絵文字と記号だけの場合、すべて剥がれ、ツールは空のスラグを出すのではなく no-output を報告します。
区切り文字はハイフンとアンダースコアのどちらを使うべきですか?#
人が読む URL にはハイフンを使ってください — 検索エンジンはハイフンを単語区切りとして扱い、事実上すべてのモダンなウェブプラットフォームでハイフンが慣習です。スラグが実質的にファイル名や、ハイフンを別の用途(バージョン範囲、フラグ)に予約するシステムが消費する識別子である場合はアンダースコアが適しています。ツールは両方をサポートするため、ターゲットが期待するものに合わせられます。
最大長の切り詰めはどう機能しますか?#
スラグはまず完全に構築され、その後 要求長に切り詰められます。切り詰めが単語の途中に落ちたら、その単語は部分的なまま残ります。切り詰めが末尾の区切り文字を残したら、その区切り文字は削られます。これにより、スラグは上限を超えず、裸の - や _ で終わることがなく、それこそが URL フィールドやデータベース列幅が実際に要求するものです。
これは URL エンコードと同じですか?#
いいえ。違いは重要です。URL エンコード(パーセントエンコード)は文字をエスケープして URL 内を運べるようにします — café は caf%C3%A9 になります。一方 Slugify はテキストを ASCII 文字と区切り文字に正規化します — café は cafe になります。スラグは URL の人間が読めるパスセグメント用であり、パーセントエンコードはクエリ文字列内に任意の値を安全に運ぶためのものです。後者が必要な場合は /en/encoding/url/ ツールを使ってください。