スラッグ生成
タイトルを、アクセントや句読点を処理したきれいなURLスラッグにブラウザ内で変換します。
すべてブラウザ内で動作します。アップロード、記録、保存は一切行いません。
スラッグはURLの読める部分、つまり人が見てページの内容がわかる部分です。タイトルからそこにたどり着くには、単語を失わずに、アクセント、句読点、空白を取り除く必要があります。
仕組み
アクセント付きの文字は基本の文字と記号に分解され、記号は捨てられます。é は e に、ü は u になります。これで参照表なしにラテン文字のほとんどを処理できます。
基本の文字と記号の組み合わせではない文字は、分解が役に立たないので明示的に列挙しています。ß は ss、æ は ae、ø は o、ł は l になります。そのため Straße と Strasse は同じスラッグになり、それがまさに狙いです。
それ以外の、文字でも数字でもないものはすべて区切り文字になり、連続する区切り文字は1つにまとめ、両端からは取り除きます。
例
| ケース | 入力 | 結果 |
|---|---|---|
| フランス語のタイトル | Crème brûlée : la recette de l'été | creme-brulee-la-recette-de-l-ete |
| ßを書き換える必要があるドイツ語 | Straße & Verkehr | strasse-verkehr |
| 句読点は積み重ならず、1つにまとめられる | Hello --- World!!! | hello-world |
よくある質問
なぜアンダースコアではなくハイフンなのですか?
検索エンジンはハイフンを単語の区切りとして、アンダースコアを結合として扱うので、hello_world は1語として読まれる可能性があります。どちらを使うシステムもあるので両方用意していますが、公開URLにはハイフンが正しいデフォルトです。
ギリシャ文字、キリル文字、中国語のテキストはどうなりますか?
これらの文字は捨てられ、タイトルがすべてそうした文字で書かれている場合、スラッグは空になります。これは意図的です。これらの文字には唯一の正しいローマ字化がなく、競合する規格が複数あり、そのどれかを黙って選べば、あなたが一度も同意していない翻字がURLに入ることになります。
スラッグが一意であることは保証されますか?
いいえ。保証できません。異なる2つのタイトルが同じスラッグになることがあり(Straße と Strasse がそうです)、たいていはそれが望ましい結果です。一意性はスラッグを保存する側の役目で、通常は番号を付けて確保します。
数字は残すべきですか?
数字は残ります。タイトルの数字には意味があることのほうがずっと多く、「10 best recipes」を「best-recipes」にしてしまうスラッグは、別のページを説明していることになります。
知っておきたいこと
- 処理はすべてブラウザ内で行われます。貼り付けた内容がアップロード、記録、保存されることはありません。