URLスラッグ生成ツール

任意のタイトルをきれいなURLスラッグに変換 — アクセント記号はローマ字化、句読点は除去、複数行の一括処理にも対応。

1,097回閲覧

仕組み

タイトルをスラッグに変換する作業は、実は2つの問題が重なったものです。テキストを小文字にしてハイフンでつなぐことと、a-z以外のあらゆる文字を処理することです。アクセント付きラテン文字については、本ツールはUnicode正規化(NFD — Normalization Form Decomposition)を利用します。「é」は一見1つのグリフに見えますが、NFDはこれを基底文字の「e」と、独立した結合アキュート・アクセント記号に分解します。分解した後、ツールはすべての結合マークを取り除き、素の基底文字だけを残します — 「café」はルックアップテーブルを使うことなく、そのまま「cafe」になります。

ただし、トルコ語の文字ではこの仕組みが通用しません。「İ/ı」や「ğ」は、Unicodeの規則上「基底文字+除去可能なマーク」には分解されないからです。点のない「ı」は「iから点を引いたもの」ではなく、それ自体が独立した文字であり、「ğ」(柔らかいg)にはラテン文字への意味のある分解が存在しません。そのため本ツールは、NFD処理を行う前に、ç→c、ğ→g、ı→i、ö→o、ş→s、ü→uという明示的な変換テーブルを適用します。具体例:「Öğretmenin Güncel Maaşı Ne Kadar?」はogretmenin-guncel-maasi-ne-kadarになります — すべてのトルコ語文字が正しく変換され、スペースと疑問符はハイフンにまとめられ、末尾の句読点は取り除かれます。

長さも読みやすさ以上に重要です。Googleの検索結果はURLを途中までしか表示せず、視覚的に省略してしまうため、およそ60〜70文字を超えるスラッグは、その先のURL自体は正しく機能していても、結果表示上で切れてしまいます。一貫性も簡潔さと同じくらい重要です — 大文字小文字を混在させたり(Some-Words)、あるページには末尾スラッシュを付けて別のページには付けなかったりすると、クローラーからは重複したURLのように見え、本来1つのページに集まるはずのランキングシグナルが分散してしまいます。2つのコンテンツが自然に同じスラッグを生み出す場合(「Getting Started」というタイトルの記事が2本あるなど)、多くのシステムは最初のページのURLを黙って上書きするのではなく、数字の接尾辞(getting-started-2)で区別します — CMSの初期設定任せにせず、意図的に決めておく価値があります。

知っておくべきこと

  • SEOにおいてはアンダースコアよりハイフンが優れています。Googleは、ハイフンは単語を区切る(blue-carは「blue car」と読まれる)のに対し、アンダースコアは単語をくっつける(blue_carは「bluecar」と読まれる)と公式に説明しています。
  • 3〜6語程度の意味のある単語は、完全な文章より優れています — スラッグが長くなってきたら、the、a、ofのような機能語から削っていきましょう。
  • 公開済みのスラッグは301リダイレクトなしに絶対に変更しないでください。古いURLが積み上げてきたリンクや実績は、多少見た目が美しいスラッグよりもはるかに価値があります。
  • コンテンツが本当に時期に依存するもの(ニュースなど)でない限り、スラッグに日付やIDを入れるのは避けましょう。年号がURLに焼き込まれた不朽のガイド(/guide-2023/)は、内容そのものが古くなるよりずっと前に、見た目だけ古臭くなってしまいます。
  • スラッグは、時間の経過に伴うページの実際のタイトル変更と整合させておきましょう。見出しが大きく書き換えられた際には、スラッグもそれに追随させるか(リダイレクト付きで)、それとも積み上げたリンクエクイティのためにそのまま固定しておくかを、意図的に判断してください。
  • 移行作業では一括処理の一貫性が重要です。コンテンツアーカイブ全体を一度に、同じルールセットを全タイトルに適用して変換することで、長年にわたり手作業でスラッグを作成してきた結果として紛れ込む、大文字小文字の不揃いや余分な文字を避けられます。

よくある質問

ハイフンとアンダースコア、どちらを使うべきですか?

ハイフンです。Googleはずっと以前から、ハイフンは単語を区切り、アンダースコアは単語をくっつけると説明しています:blue-carは「blue car」と読まれますが、blue_carは「bluecar」と読まれてしまいます。

スラッグに日付やIDを含めるべきですか?

コンテンツが本当に時期に依存する場合(ニュースなど)だけにしましょう。普遍的な内容のページはURLに年を含めない方が長持ちします — /guide-2023/ は、内容を更新していても2026年には古臭く見えてしまいます。

なぜUnicode正規化だけではトルコ語の文字を扱えないのですか?

NFD分解が機能するのは、éやüのように内部的に本当に「基底文字+アクセント」でできている文字だけです。トルコ語の(点のない)ıやğはUnicode上そのような構造になっていません — これらは結合マークとして取り除けるような形を持たない、独立した文字であるため、代わりにç/ğ/ı/ö/ş/üの明示的な変換テーブルが必要になります。

数字や%、&のような記号はどうなりますか?

数字はそのまま変わらず通過します。記号は、意味のあるものは変換され(& → and)、それ以外はスペースと同様に単語の区切りとして扱われ削除されます — そのため「%20 İndirim」は、URLに余分な句読点を残すことなく20-indirimになります。

複数のタイトルを一括変換できますか?

はい — 1行に1つずつタイトルを貼り付けると、同じ順序で1行に1つずつスラッグが返されます。移行やインポートの前に記事タイトルの一覧を1件ずつ変換するより、はるかに速く処理できます。

コメント

まだコメントはありません — 最初のコメントを書いてみましょう!

関連ツール