WordPressで、記事のURLに使われる「スラッグ」を普段あまり意識せずに使っている人も多いと思います。
パーマリンクを投稿名に設定しており、スラッグを意識せずに記事を書いていると、タイトルから自動で作られた日本語のスラッグが、長いエンコード文字列になったり、英語と日本語が混在したり、気がついた時にはURLの形式がばらばらになっていることがあります。
かといって、記事を書くたびに英語のスラッグを考えて統一するのも手間がかかります。
Slug-Free Permalinksは、その手間を減らすために作った無料のWordPressプラグインです。投稿やカテゴリーなどのパーマリンクを、タイトルやスラッグではなくIDを使った一定の形式へ変更します。
WordPress.orgの公式配布ページからインストールできます。
URLを考えず、記事の中身に集中する
例えば、記事のURLを/post/123/のように統一しておけば、公開のたびに英訳したスラッグを決める必要がありません。タイトルを修正しても、IDに基づくURLの形式は変わりません。
使える形式は次の2種類です。
- スラッシュ型:
/post/123/ - ハイフン型:
/post-123/
postなどの部分には、対象の投稿タイプやタクソノミーに登録されているrewrite slugを使用します。標準の投稿だけでなく、公開されているカスタム投稿タイプやタクソノミーも選択できます。
変更する対象は設定画面で個別に指定するため、サイト全体のURLを一括で切り替える必要はありません。固定ページは対象外で、階層型のURLをそのまま使えます。
導入はWordPressの管理画面から
WordPress.orgでの配布に対応したので、GitHubからZIPを取得する必要はなくなりました。
- 管理画面の「プラグイン」→「新規プラグインを追加」で
Slug-Free Permalinksを検索してインストール・有効化する。 - 「設定」→「Slug-Free Permalinks」を開き、スラッシュ型かハイフン型を選ぶ。
- IDベースへ変更したい投稿タイプとタクソノミーを選択する。
- 既存のスラッグURLからのリダイレクトを使う場合は有効にし、変更を保存する。
設定変更時のリライトルール更新はプラグインが行います。
既存サイトでは、URLの切り替えを慎重に
このプラグインが特に向いているのは、新規サイトや、これからパーマリンク方針を決めるサイト、投稿タイプごとにURLを揃えたいサイトです。
すでにスラッグ形式のURLが広く使われている場合は、検索流入や外部リンク、SNSで共有されたURLを確認してから変更してください。
旧URLからのリダイレクト機能も用意していますが、すべての古いURLを見つけて転送する機能ではありません。WordPressが旧URLのアクセス先を解決できる場合に限って動作し、404のたびに過去のスラッグを推測・検索することはしません。
また、同じrewrite slugを持つ投稿タイプとタクソノミーを同時に対象へ選ぶことはできません。URLの衝突を避けるため、設定画面で検出して拒否します。
多言語サイトではPolylangとの連携に対応しています。Polylangが公開する言語別URLに沿って、例えば/en/post/123/のような経路を利用できます。ほかの多言語対応プラグインでも同じように動作するとは限りません。
無効化する前に確認したいこと
通常の投稿でID形式を使っている場合、プラグインを無効化するとWordPress標準のパーマリンク設定へ戻るため、URLが変わる可能性があります。
設定画面には、現在のID形式に相当するWordPressの「カスタム構造」が表示されます。通常投稿のURLを維持したい場合は、無効化する前に「設定」→「パーマリンク」でその値を設定してください。カスタム投稿タイプやタクソノミーについては、それぞれのrewrite設定を別途確認する必要があります。
シンプルなURL運用を選びたい人に
検索キーワードを含むスラッグが必要なサイトもありますし、長く使ってきたURLを変えるには慎重な移行が必要です。
一方で、記事ごとにスラッグを考えるより、IDで一貫したURLを使う方が運用しやすいサイトもあると思います。Slug-Free Permalinksは、その選択肢を必要な投稿タイプだけに適用するための小さなプラグインです。
すべての機能を無料で使えます。機能や対応環境、インストール方法は公式配布ページで確認できます。
Slug-Free Permalinks — WordPress.org
開発状況や不具合報告はGitHubリポジトリをご覧ください。