WordPressのパーマリンク、なんとなくモヤっとしませんか。
特に日本語サイトだと、こんなことが起きがちです。
- URLがやたら長くなる
%E3%81%82...のような文字列になって見づらい- タイトル変更に引っ張られて URL 運用が面倒になる
- 記事やカテゴリ、タグ毎にslug考えるのがめんどくさい
そこで、「スラッグではなく ID ベースで運用した方がシンプルでは?」と考えて作ったのが Slug-Free Permalinks です。
Slug-Free Permalinksとは
Slug-Free Permalinks は、選択した投稿タイプやタクソノミーの URL を、スラッグではなく ID ベースに切り替える WordPress プラグインです。
たとえば、通常の URL がこうだとすると、
/my-long-title/
これを次のような形式に変更できます。
/post/123/
または
/post-123/
投稿だけでなく、カスタム投稿タイプやタクソノミーにも対応しています。
解決したい問題
WordPress の URL は便利な一方で、実務では地味に困ることがあります。
1. 日本語 URL が扱いづらい
/%E6%97%A5%E6%9C%AC%E8%AA%9E...
URL をそのまま共有したときに読みにくく、見た目もあまりよくありません。
2. タイトル由来の URL を運用しづらい
タイトルを変更したり、命名ルールを後から見直したりすると、URL の扱いが気になる場面があります。
3. URL が長くなりやすい
/this-is-very-long-and-annoying-slug/
長い URL は見た目も重く、共有時にも扱いづらくなります。
解決方法: IDベースURL
そこで URL をシンプルに、
/post/123/
のような形にすると、次のようなメリットがあります。
- URL が短くなる
- 言語に依存しにくい
- スラッグ運用を気にしなくてよい
「URL をもっとシンプルにしたい」という用途にはかなり相性がいいです。
主な機能
選択した投稿タイプだけを ID ベース URL に変更
このプラグインは、すべての投稿タイプを一括で変更するのではなく、管理画面で選択した投稿タイプだけを対象にできます。
標準の投稿だけでなく、カスタム投稿タイプにも対応しています。
たとえば次のような形式です。
/product/456/
選択したタクソノミーにも対応
カテゴリーやタグ、カスタムタクソノミーも対象にできます。
たとえば次のような形です。
/category/12/
/tag/34/
ただし、どのタクソノミーを切り替えるかは設定で選択する方式です。
2種類の URL 形式を選べる
以下の 2 つの形式を選べます。
/post/123//post-123/
サイトの好みに合わせて、スラッシュ型とハイフン型を選択できます。
旧 URL からのリダイレクト
必要に応じて、従来のスラッグベース URL から現在の ID ベース URL へリダイレクトできます。
たとえば、
/post/my-title/
にアクセスしたときに、
/post/123/
へリダイレクトするイメージです。
ただし、この挙動は無条件ではありません。後述の通り、軽量で予測可能な動作を優先しています。
仕様について
このプラグインは、できるだけ 軽量で予測可能な動作 を重視して設計しています。
たとえば、次のような方針です。
- すべての 404 に対してスラッグ推測はしない
- WordPress がすでに対象を解決できる場合のみ、旧 URL から新 URL へリダイレクトする
こうしている理由はシンプルで、不要なデータベースクエリや誤判定を避けたいからです。
「とにかく何でもリダイレクトする」よりも、WordPress の標準的なルーティングと相性のよい、安全寄りの設計にしています。
固定ページは対象外
固定ページ(page)は意図的に対象外にしています。
固定ページは、WordPress サイトで次のような使われ方をしやすいためです。
- 階層構造を持つ
- 既存の固定 URL 設計と結びついている
- 他のページ URL と衝突しやすい
そのため、Slug-Free Permalinks は主に以下を対象にしています。
- 投稿
- カスタム投稿タイプ
- タクソノミー
- カスタムタクソノミー
注意点
投稿タイプとタクソノミーで同じスラッグは非推奨
カスタム投稿タイプとタクソノミーで同じスラッグを使うと、WordPress の rewrite ルールが衝突する可能性があります。
このプラグインを使う場合は、投稿タイプとタクソノミーで異なるスラッグを使うのが安全です。
こんな人におすすめ
- 日本語 URL をもっと扱いやすくしたい
- URL を短くしたい
- スラッグをできるだけ気にしたくない
- カスタム投稿タイプをよく使う
- シンプルで軽量なパーマリンクにしたい
ダウンロード
GitHub リポジトリはこちらです。
https://github.com/1008k/slug-free-permalinks
WordPress 公式ディレクトリについては、公開状況に応じて追記予定です。
使い方
GitHubからプラグインをダウンロード
- Githubリポジトリの「Release」から最新版のZIPファイルをダウンロード
WordPressにプラグインをインストール
- WordPress管理画面の「プラグイン」→「新規追加」→「プラグインのアップロード」
- ダウンロードしたZIPファイルを選択してインストール
プラグインを有効化
- インストール後、「プラグイン」画面で「Slug-Free Permalinks」を有効化
設定を行う
- WordPress管理画面の「設定」→「Slug-Free Permalinks」を選択
- 好みのURL形式(
/post/123/または/post-123/)を選択 - 対象にしたい投稿タイプ・タクソノミーにチェックを入れて保存
これで設定完了です。
まとめ
WordPress の URL は、普段そこまで意識されない一方で、実際かなり運用に影響する部分だと思っています。
Slug-Free Permalinks は、SEOを過剰にうたうタイプのプラグインではなく、
「WordPressをもっとシンプルに扱いやすくしたい」
という人向けのプラグインです。
スラッグ管理を減らして、投稿やカスタム投稿タイプ、タクソノミーの URL をすっきりさせたい人には、ちょうどいい選択肢になるはずです。
今後について
今後も基本方針は変えず、次の方向で育てていくつもりです。
- 配布まわりの整備
- 必要最小限の改善
- 軽量さと予測可能な動作の維持
大きく複雑にするより、使いどころがはっきりしたプラグインとして保っていきたいと考えています。
フィードバックがあればコメントやお問い合わせで是非お知らせください!
お問い合わせ