スラッグ生成:変換ルールとつまずきやすい点
記事 URL の読みやすい部分がスラッグです。タイトルを貼り付ければ生成できますが、使う前に一度確認が必要です。
本当に必要になる場面
ブログやドキュメントサイトでは記事ごとにアドレスが必要で、その読みやすい部分がスラッグです。カテゴリページ、タグページ、画像やダウンロードのファイル名も同じ考え方で、番号ではなく人が読める名前にします。
ページ内アンカーや多言語サイトのパスにも使います。ASCII の単語とハイフンにしておけば、チャットに貼ってもスペースや記号でリンクが切れません。
- 記事とドキュメントの URL
- カテゴリ、タグ、ファイル名
- ページ内アンカーと言語別パス
変換のルールと意外な点
処理の順序は、Unicode の互換分解でアクセント記号を除き、英字、数字、アンダースコア、漢字以外をハイフンに置き換え、両端のハイフンを削り、最後に小文字化です。Café は cafe、hello world は hello-world になります。
中国語の漢字は残るため、アドレスバーでは長いパーセントエンコードとして表示されます。開けますが ASCII ではなく、見た目も良くありません。日本語の仮名は残らずハイフンになるため、仮名だけのタイトルは空文字になることがあります。韓国語も同じです。アンダースコアは単語文字として残ります。
- アクセント記号は除去される
- 漢字は残り、仮名はハイフンになる
- アンダースコアは変換されない
公開前に確認すること
まず結果が空でないか確認します。記号や絵文字、仮名だけのタイトルはハイフンだけ、あるいは何も残らないことがあり、手で名前を補う必要があります。次に長さです。長すぎるスラッグは共有時に切られるため、短いほうが扱いやすいです。
重複しないことは自分で担保します。同じタイトルの記事は同じスラッグになるため、日付や連番を足して区別します。公開後の変更は避けてください。外部リンクや検索結果が古いアドレスを指したままになります。日本語なら先に音訳ツールで変換してから生成します。
よくある質問
中国語のタイトルはどうなりますか?
漢字はそのまま残り、アドレスバーではパーセントエンコードで表示されます。開けますが ASCII ではないため、環境によっては文字化けします。気になる場合は英語かピンインを使ってください。
日本語のタイトルで空になったのはなぜですか?
残るのは英字、数字、アンダースコア、漢字だけで、ひらがなとカタカナはハイフンに置き換わります。仮名だけのタイトルはハイフンだけになり、両端を削ると空になります。
生成したスラッグをそのまま使えますか?
空でないこと、長さが適切なこと、既存ページと重複しないことを確認すれば使えます。公開後の変更は避けてください。中国語を含む場合は対象サイトで一度試してください。
関連ツール:スラッグ生成