✅ 【初心者向け】スラッグに日本語を使うと起きる問題と正しい設定方法
こんにちは、コーダーのためのWeb制作ブログの中の人、hisaです!👋
実はプログラミング初学者の頃、自分もスラッグに日本語を使っていたことがあります。
フォルダー名や画像ファイルの名前も日本語にしてしまっていて、当時はそれが原因でエラーや不具合が出たこともありました。
特にサーバーや利用環境によっては、日本語ファイル名が原因でリンクが切れたり、画像が表示されなくなるケースもあります。
実際に日本語フォルダーが原因だったかははっきりしないものの、「原因がわからないトラブル」って、ほんとに厄介ですよね…💦
そんなちょっと苦い経験をふまえて、今回は
「スラッグに日本語を使うと起きる問題」と「その正しい設定方法」を、初心者の方でも分かりやすく解説していきます!
✅ この記事でわかること
- スラッグに日本語を使うと何が問題なのか
- どうすればキレイなURLにできるか
- すでに日本語スラッグを使ってしまった場合の対処法
🌀 スラッグに日本語を使うとどうなる?
たとえば、投稿タイトルが「お知らせ」のとき、スラッグを日本語のままにすると…
URLがこうなります:
https://example.com/%e3%81%8a%e7%9f%a5%e3%82%89%e3%81%9b/
見た目がグチャグチャ…。
これは「URLエンコード」といって、日本語を無理やりアルファベットに変換している状態です。
⚠ 日本語スラッグのデメリット
- URLが長くて読みにくい
- 何のURLなのか全然わからない😅
- コピー&ペーストしたときに文字化けみたいに見える
- 日本語スラッグが原因でリンクエラーが発生することも
- SEO的にも、できればシンプルな英語表記が推奨
✨ 正しいスラッグの付け方
- **英数字、小文字、ハイフン(-)**だけで作る!
- できれば、短く、わかりやすい単語にする!
- 検索したいキーワードを含めるとSEO的にも◎
【例】
| 日本語タイトル | 使用したスラッグ | 理由 |
|---|---|---|
| 会社概要 | about | シンプルで覚えやすい |
| 夏季休業のお知らせ | summer-holiday-2024 | 年も入れて管理しやすく |
| よくある質問と回答 | faq | 短くて一般的な略語 |
| お問い合わせフォーム | contact | 英語圏でも通じる単語 |
ポイント: 日本語をそのまま使わず、意味に合う英単語やローマ字にする。
🛠 スラッグを設定する場所
記事編集画面の右サイドバー → 「パーマリンク」→「URLスラッグ」
ここを手動で入力しましょう!
(※使っているテーマやブロックエディタによって多少違うかもしれません)
🔄 あ、もう日本語スラッグで公開しちゃった…そんなときは?
- 投稿の編集画面を開いて、そこでスラッグを英語表記に書き換えましょう。そうなると、以前のURLにアクセスした人はエラーページに飛んでしまうことに…😱
- そういうときは「リダイレクト設定」をしておけば問題ありません。
「Redirection」というプラグイン。これを使えば、旧URLから新URLへの転送が本当に簡単に設定できますよ。
🎁 おまけ:自動で英語スラッグに変換したい人へ
プラグイン「Edit Author Slug」や「Auto Post Slug」などを使えば、投稿時に自動で英語スラッグにしてくれます!
※ただし、プラグイン依存を増やしすぎないように注意!
🧩 まとめ
| チェックポイント | 内容 |
|---|---|
| 日本語スラッグNG! | URLが長く、リンクエラーリスクも |
| 英数字+ハイフンで作成 | できるだけシンプル&短く |
| すでに公開済みならリダイレクトも検討 | リンク切れ対策 |
👇この記事が役に立ったら…
- スラッグの設定、見直してみましょう!
- コメントで「こんな設定失敗した!」エピソードも大歓迎です!
🔧 コード例
リダイレクト設定サンプルとか、functions.phpで自動スラッグ変換コードとかも載せられます!
例えば:
// 保存時にスラッグを自動的にローマ字に変換する(例)
function auto_post_slug($slug, $post_ID, $post_status, $post_type)
{
if ($post_type == 'post' || $post_type == 'snippet') {
if (preg_match('/(%[0-9a-f]{2})+/', $slug)) {
$slug = wp_unique_post_slug(sanitize_title($post->post_title), $post_ID, $post_status, $post_type, $post->post_parent);
}
}
return $slug;
}
add_filter('wp_unique_post_slug', 'auto_post_slug', 10, 4);
このコード、めちゃくちゃ重宝しています。でも注意点として、すでに公開済みの記事には適用されないので、既存記事の修正は別途必要です。
追記⚠️
📂 たまに見掛ける事もありますが、フォルダー名も日本語はNG!
サーバー上のフォルダー名も日本語だと思わぬトラブルの元になります。FTP接続時に文字化けしたり、サーバーによっては正常に動作しないことも。特にサーバー移行の際に大混乱になった経験があります💦 画像パスが通らなくなったときは焦りました…。
フォルダー名も必ず英数字にしておきましょう!プログラムやサーバーは基本的に英語環境で動いているので、英語表記が一番安全です👍
✉️ あなたのリクエスト教えてください!
「この記事わかりやすかった!」
「他にもこんな記事書いてほしい!」
そんな声を、ぜひXのDMで教えてください!😊📩
できるだけリクエストにお応えして、今後の記事作成に活かしていきます!
▶️ Xもフォローしてもらえるとめちゃくちゃ嬉しいです!
コメントを残す