WordPressの設定画面にある「パーマリンク」。
何を決める設定なのか、分かりにくい名前です。
意味と種類、選び方をまとめます。
後半は、URLが変わった実例です。
スラッグって、パーマリンクとどう違うの?
URL全体がパーマリンクで、スラッグはその中の名前の部分だよ。
パーマリンクとは?変えない前提の、記事やカテゴリのURL
パーマリンクは、記事、固定ページ、カテゴリなどに付く、変えない前提のURLのことです。
名前の「perma」は、永続的という意味。
WordPressの公式ドキュメントでも、これらのURLは変えないもの、とされています。
実際に見てみましょう。
記事: https://cats-hand.pro/wordpress-slug/
カテゴリ: https://cats-hand.pro/category/tools-ai/
どちらもパーマリンクです。
末尾のwordpress-slugが、スラッグです。
どこで決める?
「設定」→「パーマリンク設定」で決めます。
ここで選んだ形が、全記事のURLの形になります。
いまの設定は、WP-CLIでも確認できます。
WP-CLIは、ターミナルからWordPressを操作するツールです。
Claude Codeに確認してもらうと、こうでした。
wp option get permalink_structure
/%postname%/
これが「投稿名」の中身です。
パーマリンクの種類と選び方
管理画面で選べるのは、次の6つ。
- 基本:
?p=123のような、投稿IDを使った形 - 日付と投稿名:
/2018/12/30/post-name/ - 月と投稿名:年と月のあとに投稿名が付く形
- 数字ベース:投稿IDを使った形
- 投稿名:
/post-name/ - カスタム構造:自分で組み合わせる形
インストール直後の初期設定は「基本」です。
公式ドキュメントでは、「基本」は人にも検索エンジンにも分かりやすい形ではないとされていて、投稿名などを含む形は「Pretty permalinks」と呼ばれ、読みやすい形として説明されています。
うちは「投稿名」を使っています。
スラッグがそのままURLの末尾に入るので、URLを見ただけで何の記事か分かる形です。
カスタム構造で使えるタグ
「カスタム構造」は、タグを組み合わせて決めます。
主なタグは次のとおりです。
%postname%:記事のスラッグ%post_id%:記事のID%category%:カテゴリのスラッグ%year%・%monthnum%・%day%:公開した年・月・日
公式ドキュメントには、URLの形の最後は%post_id%か%postname%で終えるように、とあります。
記事を1本ずつ特定するためです。
ひとつ、気をつけたいのが%category%。
複数カテゴリの記事の場合です。
1つの記事に複数のカテゴリを付けた場合、URLに入るのは1つだけ。
どれが入るかは、名前順で決まるとされています。
あとから設定を変えても大丈夫?
変えること自体はできるよ。ただ、設定を変えると公開済みの記事のURLも変わるから、公開前に決めておくのがいいんだ。
自分はこう使ってます
「投稿名」で、スラッグを英語で決める
記事のスラッグは、英語で必ず指定しています。
日本語タイトルのまま公開すると、パーセントエンコードされた長いURLになるからです。
リライトでも、検索結果に登録された(インデックスされた)URLが変わってしまうので、スラッグは変えません。
カテゴリの親子を変えたら、URLも変わった
記事のURLだけの話ではありません。
カテゴリのURLにも関わります。
「制作ツール」の子カテゴリだった「AI活用」を、親カテゴリに上げました。
すると、カテゴリのURLはこう変わりました。
変更前: /category/tools/tools-ai/
変更後: /category/tools-ai/
カテゴリのURLには、親子関係が含まれます。
親子を変えたので、URLも変わったわけです。
古いURLは、どうなったの?
そのまま開けちゃってたんだ。Claude Codeに確認してもらったら、ステータス200で表示されてた。だから今のURLへ301で転送するようにしたよ。
古いURLを開いても、転送もエラーもなく、同じ一覧がステータス200のまま表示されていて、同じページが2つのURLで見える状態でした。
そこで、301で転送する処理をテーマに追加しました。
301は、古いURLへのアクセスを新しいURLへ案内する転送のことです。
原因と転送のコードは、カテゴリの親子変更後に古いURLが200のまま残る原因と301転送で詳しく書いています。
迷ったときの確認ポイント
- 公開前に、パーマリンクの形を決める。このブログは「投稿名」
- 設定を変えるときも、記事のスラッグを変えるときも、公開済みのURLが変わることを前提にして、変わるURLを先に控えておく
- カテゴリの親子を変えたら、古いURLを開いて、転送されるか確認する
%category%を使うなら、複数カテゴリの記事で、どのカテゴリがURLに入るか確認する
公開後にURLを変える場合は、古いURLから新しいURLへ転送されるかを確認しましょう。
パーマリンクの形とスラッグは、公開前に決めておくと安心です。
あわせて知っておきたい用語
- スラッグ
- 記事やカテゴリを、URLの中で表すための名前。
- 301(リダイレクト)
- 古いURLへのアクセスを、新しいURLへ案内する転送のこと。詳しくはこちら
- カテゴリベース
- カテゴリのURLの先頭に付く「category」の部分。変更はできますが、なくせません。