2026年6月2日

2026年6月2日

WordPress の日本語スラッグで起きる問題と英語スラッグへの直し方|URL が長い・途中で切れる

WordPress で日本語の題名の記事を作ると、スラッグ(URL の末尾の部分)も日本語になり、URL は %e3%83%af%e3%83%bc… のような形になります。これは WordPress が日本語を URL に使える形(パーセントエンコード)に変換しているためで、エラーではありません。ブラウザーのアドレスバーでは日本語に戻して表示されることが多いため、気づきにくい点です。

ただし、日本語のスラッグには実務上の不便がいくつかあります。この記事では、何が起きるのか、英語のスラッグに変える方法、公開済みの記事を変えるときの注意を説明します。WordPress 6.9 で動かして確かめ、7.1 のソースコードでも同じ動きであることを確認しました(2026年11月時点)。

日本語のスラッグはどう保存されるか

WordPress は題名からスラッグを作るとき、sanitize_title_with_dashes() で英字を小文字にし、日本語などの文字を UTF-8 のパーセントエンコードに変換します。このとき、変換後の長さを 200 文字までに切ります(sanitize_title_with_dashes())。

日本語 1 文字は %e3%83%af のように 9 文字になるため、日本語だけの題名なら先頭の約 22 文字でスラッグが切れます。実際に 40 文字の題名で試すと、スラッグは 198 文字(日本語 22 文字分)になりました。

題名:     WordPress 日本語 スラッグ
スラッグ: wordpress-%e6%97%a5%e6%9c%ac%e8%aa%9e-%e3%82%b9%e3%83%a9%e3%83%83%e3%82%b0

日本語スラッグで起きやすいこと

起きること 理由
URL をコピーして貼ると %e3%83… の長い文字列になる 共有するときは、エンコードされた形でコピーされることが多い
長い題名のスラッグが途中で切れる エンコード後 200 文字の上限があり、日本語は約 22 文字まで
サーバーのアクセスログで、どの記事か読み取りにくい URL がエンコードされたまま記録される

検索エンジンの面では、日本語の URL が不利になるとは限りません。Google は URL に読者の言語の単語を使うことを勧めており、ASCII 以外の文字はパーセントエンコードするよう説明しています(Google 検索セントラル: URL 構造のベスト プラクティス、2026年11月時点)。WordPress が自動で行っているのはこのエンコードです。そのため、日本語スラッグにするか英語にするかは、主に共有のしやすさと管理のしやすさで決めます。

これから書く記事を英語のスラッグにする

ブロックエディターの場合

  1. 記事の編集画面で、右側の設定サイドバーの「投稿」タブを開きます。
  2. 「スラッグ」の行にある現在の URL をクリックします。
  3. 入力欄に英数字とハイフンでスラッグを入れます(例: japanese-slug)。大文字や空白は、入力欄を離れたときに小文字とハイフンに整えられます。
  4. 「パーマリンク:」の下に表示される URL を確かめて、記事を保存します。

クラシックエディターの場合

題名の下にある「パーマリンク:」の横の「編集」ボタンを押し、スラッグを入れて「OK」を押します。

投稿一覧からまとめて直す場合

「投稿」→「投稿一覧」で記事にマウスを乗せ、「クイック編集」を開くと「スラッグ」欄を変えられます。

カテゴリー・タグのスラッグ

カテゴリーやタグも、日本語の名前で作るとスラッグが日本語になります。「投稿」→「カテゴリー」(または「タグ」)で、作るときに「スラッグ」欄へ英語を入れるか、作ったあとに編集します。

パーマリンクの形式そのもの(「投稿名」など)の設定は、WordPress のパーマリンク設定方法 を参照してください。

WP-CLI で日本語スラッグの記事を探して直す

SSH と WP-CLI が使えるなら、日本語スラッグ(% を含むもの)の一覧を出せます。

# 投稿と固定ページのうち、スラッグに % を含むものを一覧にする
wp post list --post_type=post --post_status=publish --fields=ID,post_name --format=csv | grep '%'
wp post list --post_type=page --post_status=publish --fields=ID,post_name --format=csv | grep '%'

# カテゴリーとタグ
wp term list category --fields=term_id,slug --format=csv | grep '%'
wp term list post_tag --fields=term_id,slug --format=csv | grep '%'

# 1 件ずつスラッグを変える(ID や番号は一覧で確かめたものに置き換える)
wp post update 123 --post_name=japanese-slug
wp term update category 5 --slug=news

まとめて書き換える前に、データベースのバックアップを取ってください。

公開済みの記事のスラッグを変えるときの注意

公開済みの記事の URL を変えると、検索結果・外部サイト・SNS に残っている古い URL が開けなくなる恐れがあります。WordPress が自動で面倒を見る範囲は、種類によって違います。

種類 古い URL からの転送
公開済みの投稿(階層の無い投稿タイプ) 古いスラッグを _wp_old_slug に記録し、古い URL に来た人を新しい URL へ 301 で転送する
固定ページ(階層のある投稿タイプ) 自動では転送しない
カテゴリー・タグ 自動では転送しない

この動きは WordPress 本体の wp_check_for_changed_slugs() と wp_old_slug_redirect() によるものです(wp_old_slug_redirect())。固定ページ・カテゴリー・タグのスラッグを変えたときは、Redirection プラグインやサーバーの設定で、古い URL から新しい URL への 301 リダイレクトを自分で作ります。

あわせて、次も行います。

  • サイト内で古い URL に張っているリンクを、新しい URL に直す
  • curl -I で古い URL を開き、301 と新しい URL が返ることを確かめる
curl -I "https://example.com/%e6%97%a5%e6%9c%ac%e8%aa%9e/"
# HTTP/1.1 301 Moved Permanently と Location: https://example.com/japanese-slug/ が返れば転送できている

投稿のスラッグを変えたのに古い URL から転送されないときの調べ方は、投稿スラッグ変更後にリダイレクトが効かないとき で説明しています。

よくある質問

日本語スラッグのままだと SEO で不利ですか

不利になるとは限りません。Google は読者の言語の単語を URL に使うことを勧めています。英語にする主な理由は、URL を共有・管理しやすくするためです。

公開済みの記事をすべて英語スラッグに変えるべきですか

検索から人が来ている記事や外部からリンクされている記事は、無理に変えないのが無難です。変える場合は、上の表のとおり固定ページ・カテゴリー・タグのリダイレクトを自分で用意してください。これから書く記事を英語スラッグにするだけでも、運用は楽になります。

日本語スラッグが途中で切れました。直せますか

スラッグ欄に短い日本語か英語を入れ直せば直ります。公開済みの投稿なら、古い URL からは自動で転送されます。

まとめ

  • 日本語のスラッグはパーセントエンコードされて保存され、エラーではありませんが、URL が長くなり、日本語は約 22 文字で切れます。
  • これから書く記事は、ブロックエディターの「スラッグ」欄やクイック編集で英語のスラッグにします。
  • 公開済みのスラッグを変えるとき、自動で転送されるのは公開済みの投稿だけです。固定ページ・カテゴリー・タグは 301 リダイレクトを自分で作ります。

お気軽にご相談ください

お見積りへ お問い合わせへ
▲