使用方法

Default Permalink のインストールから設定、既存スラッグの一括変換までの手順です。

インストール

  1. 管理画面の「プラグイン」→「新規プラグインを追加」で「Default Permalink」を検索してインストールする(または default-permalink フォルダーを /wp-content/plugins/ にアップロード)
  2. 「プラグイン」メニューで有効化する

有効化と設定

管理画面の「設定」→「Default Permalink」を開き、「有効化する」にチェックを入れて変更を保存します。プラグインを有効化しただけではスラッグ置換は動作しません。

設定項目

項目説明
有効化チェックを入れるとスラッグの自動置換が動作する
スラッグ形式置換後のスラッグの形式を3種類から選択
対象の投稿タイプ置換の対象にする投稿タイプを選択
対象のタクソノミーカテゴリー・タグなど、スラッグを置換するタクソノミーを選択(既定はなし)

スラッグ形式

形式例
投稿タイプ + 投稿IDpost-123
投稿日 + 投稿ID20260613-123
ランダム文字列(英数8文字)a1b2c3d4

「対象の投稿タイプ」は一度保存すると明示的な選択として扱われるため、その後に追加されたカスタム投稿タイプは自動では対象になりません。必要に応じて設定画面でチェックを追加してください。

「投稿日 + 投稿ID」形式は、これから保存する日付で作られます(予約投稿は予約日、日付を決めていない下書きを公開した場合は公開した日)。

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

「対象のタクソノミー」でカテゴリー・タグなどを選ぶと、日本語などの名前で新しく追加したタームのスラッグが category-12(タグは post-tag-5)のような形式になります。スラッグ欄に入力した場合はそのまま使われます。既存のタームは変更しません(WordPress にはタームの旧 URL をリダイレクトする仕組みがないため)。

動作の仕組み

投稿を保存したとき、スラッグが URL エンコードされたマルチバイト文字(%e3%81%82... のような形式)を含み、かつスラッグを明示的に指定していない場合のみ、選択した形式へ置換されます。パーマリンク欄でスラッグを自分で入力した場合はそのまま尊重され、マルチバイトのままの URL も利用できます。スラッグを空にして保存した場合は「指定なし」として扱われ、置換されます。

エディターから保存した投稿だけでなく、REST API・WP-CLI・メディアのアップロードなどで直接作成した投稿も置換の対象です。置換後のスラッグが既に使われている場合は -2 などが付きます。

スラッグが置換されると「Default Permalink がスラッグを「◯◯」に変更しました。」という通知が一度だけ表示されます。ブロックエディターでは保存した直後に、クラシックエディターでは次に編集画面を開いたときに表示されます。WP-CLI・インポート・cron で作成した投稿や、クイック編集で保存した投稿では通知を記録しません(スラッグの置換は行われます)。

既存スラッグの一括変換

プラグイン導入前に作成した投稿のマルチバイトスラッグは、設定ページ下部の「既存スラッグの一括変換」でまとめて変換できます。

  1. 設定ページ下部でマルチバイトスラッグを持つ投稿の件数と、次の実行で変換される投稿(最大50件。現在と新しいスラッグ)を確認する
  2. 「今すぐ変換」をクリックする(1回の実行で50件ずつ変換される)
  3. 残り件数が 0 になるまで繰り返す(毎回、前回の続きから処理されます。変換できなかった投稿は件数が表示され、残りを処理した後に再試行されます)

変換後の旧 URL は、WordPress 本体の仕組みで新しいパーマリンクへ 301 リダイレクトされるため、リンク切れは発生しません。予定時刻を過ぎて公開されないままになっている予約投稿も、予約のままスラッグだけを変換します(公開はしません)。

WP-CLI での一括変換

投稿が多いサイトでは、WP-CLI で件数の上限なしにまとめて変換できます。--post_type で投稿タイプを絞り、--limit で件数を区切って段階的に変換することもできます(1.10.0〜)。

# 設定と一括変換の対象件数を表示
wp default-permalink status

# 変換する投稿と新しいスラッグを確認(変更しない)
wp default-permalink convert --dry-run

# すべて変換(50件の制限なし)
wp default-permalink convert

# 固定ページだけを、500 件ずつ変換する
wp default-permalink convert --post_type=page --limit=500

# 止まったところ(表示される ID)の続きから変換する
wp default-permalink convert --post_type=page --limit=500 --after=1234

サイトヘルス

「ツール」→「サイトヘルス」に Default Permalink の検査が表示されます(WordPress 5.2 以降)。プラグインを有効化しただけで設定の「有効化する」にチェックが入っていない場合は「おすすめの改善」として知らせます。有効な場合は「合格」となり、マルチバイトのスラッグが残っている投稿があれば、その件数と一括変換への案内を表示します(意図して付けた日本語スラッグかもしれないため、問題としては扱いません)。

タイトルとURLをコピーしました