Slug ジェネレーター/ URL フレンドリーな命名
タイトルを URL フレンドリーな slug に変換。アクセント文字、CJK 文字、カスタム区切り文字、最大長に対応。
区切り文字
最大文字数
テキスト / タイトルを入力
Slug
0 文字
Slugがここに表示されます…
例を試す
このツールは役に立ちましたか?
URLスラッグとは
URLスラッグは、特定のページを識別するURLの人間が読みやすい部分で、通常小文字、数字、ハイフンで構成されます。例えば `example.com/posts/how-to-seo` の `how-to-seo` がスラッグです。良いスラッグは短く、読みやすく、キーワードを含んでおり、SEOとユーザー体験の両方に重要です。
良いスラッグの生成方法
タイトルを小文字に変換し、スペースや特殊文字をハイフンに置き換え、ストップワード(て/に/を/is/theなど)を除去し、核心キーワードを保持します。短いURLほど良いですが、読みやすさも維持してください。必要な場合を除き、スラッグに日付やIDを含めることは避けましょう。
コード例
JavaScript / Node.js
// npm install slugify
import slugify from 'slugify';
slugify('Hello World!', { lower: true })
// 'hello-world'
slugify('Cafe au Lait', { lower: true })
// 'cafe-au-lait'
// npm install limax (CJK support)
import limax from 'limax';
limax('你好世界') // 'ni-hao-shi-jie' (pinyin)
limax('東京') // 'dong-jing'
// Manual (no deps)
const slugify = (s) => s
.toLowerCase()
.normalize('NFD')
.replace(/[\u0300-\u036f]/g, '')
.replace(/[^a-z0-9]+/g, '-')
.replace(/^-|-$/g, '');Python
# pip install python-slugify
from slugify import slugify
slugify('Hello World!')
# 'hello-world'
slugify('Cafe au Lait')
# 'cafe-au-lait'
slugify('你好世界', allow_unicode=True)
# '你好世界'
# With max length
slugify('A very long title that should be truncated',
max_length=30, word_boundary=True)
# 'a-very-long-title-that-should'Go
// go get github.com/gosimple/slug
import "github.com/gosimple/slug"
slug.Make("Hello World!")
// "hello-world"
slug.Make("Cafe au Lait")
// "cafe-au-lait"
// Custom separator
slug.CustomMake("Hello World", "_")
// "hello_world"
// Truncate
s := slug.Make("A very long title here")
if len(s) > 50 {
s = s[:50]
}PHP / WordPress
<?php
// WordPress built-in
$slug = sanitize_title('Hello World! Cafe');
// 'hello-world-cafe'
// PHP custom
function to_slug(string $s): string {
$s = mb_strtolower($s, 'UTF-8');
$s = iconv('UTF-8', 'ASCII//TRANSLIT', $s);
$s = preg_replace('/[^a-z0-9]+/', '-', $s);
return trim($s, '-');
}
// Laravel
use Illuminate\Support\Str;
Str::slug('Hello World!'); // 'hello-world'
Str::slug('Hello World', '_'); // 'hello_world'よくある質問
URL Slug とは何ですか?
Slug は URL の中で特定のページを識別する人間が読める文字列部分です。小文字のアルファベット、数字、ハイフンで構成されます(例:/blog/my-first-post)。良い slug は簡潔で、読みやすく、SEO に有利です。特殊文字、スペース、大文字、非 ASCII 文字(ネイティブ言語 URL を使用する場合を除く)を避けるべきです。
Slug でアンダースコアではなくハイフンを使うべき理由は?
Google はハイフン(-)を単語の区切りとして認識し、my-blog-post を3つの独立した単語として扱います。アンダースコア(_)は接続子として扱われ、my_blog_post は1つの単語として認識されます。そのため、ハイフンの方が SEO に有利です。WordPress、GitHub、Shopify などの主要プラットフォームもデフォルトでハイフンを使用しています。
CJK 文字を slug でどのように扱うべきですか?
2つの主要なアプローチがあります:1)ピンイン/ローマ字への変換(例:你好世界 → ni-hao-shi-jie)— ラテン文字 SEO に有利。2)ネイティブ文字をそのまま使用(例:/blog/你好世界)— モダンブラウザと検索エンジンはサポートしていますが、リンク共有時にパーセントエンコードされます。本ツールは両方のモードに対応しています。
Slug の理想的な長さは?
SEO のベストプラクティスでは、検索結果での切り捨てを避けるため、slug を60〜75文字以内に収めることを推奨しています。ターゲットキーワードを含め、ストップワード(a、the、of など)を削除してください。例:'how-to-optimize-nextjs-performance' は効果的な slug です。長すぎる slug はキーワードの重みを薄めます。
Slug 作成時にどの文字を削除すべきですか?
削除または置換すべきもの:スペース(→ 区切り文字)、特殊記号(!@#$%^&*()+=[]{}|;:',.<>?/\`~)、アクセント文字(e→e、u→u)、制御文字。保持すべきもの:アルファベット(a-z)、数字(0-9)、区切り文字(-._)。CJK 文字を保持するかはユースケースによります。
Next.js や Node.js で slug を生成するには?
Node.js では npm install slugify または limax(CJK/ピンイン対応)を使用します。基本的な手動実装:str.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '')。Next.js のファイルベースルーティングでは、slug は通常ファイル名またはデータベースフィールドから取得します。WordPress には sanitize_title() が組み込まれています。