パーマリンクの決め方を考える

WordPress
WordPress(2)
この記事は約13分で読めます。

WordPressのパーマリンクとは、簡単に言い換えれば、投稿のURLです。パーマリンク設計とは、投稿のURLの構造を考えるということです。WordPressでは、あらかじめ容易されている日時や投稿IDなどのパーツを組み合わせることで決めることができます。これが考え出すと結構大変だったので、まとめてみました。

基本的な考え方

パーマリンク=Permanent Link(永続リンク)という意味です。

パーマリンクとは、固定ページやブログ投稿、カテゴリー・タグアーカイブなどの永続的 (パーマネント) な URL のことです。パーマリンクは、コンテンツにリンクするための Web アドレスです。各投稿の URL は永続的で、変更されるべきではありません。このため「パーマリンク」という名称になっています。

ともあるように、パーマリンクは変わらないことが前提です。投稿のURLがころころと変わってしまっては、アクセスする利用者や検索エンジンなどいろいろと不都合が起きます。

つまりなるべく変わらないのがパーマリンクを決めるときの基本的な考え方ですが、URLに含める情報を増やせば増やすほど変化に対する耐性が無くなります。パーマリンクに投稿名を含めれば、タイトルを考える手間が増えますし、カテゴリを含めればカテゴリを容易には変えられなくなるなど、よりシビアな運用を求められることになります。

その代わりですが、カテゴリやタイトルを含めるのは、効果的に使えれば、SEOやユーザビリティには良い効果があると思われます。とは言っても、URLはあくまでもコンテンツそのものではないため、その価値には限度があるので、運用の手間との兼ね合いを考えて決めることになります。

【先にまとめ】で、最適解は?

長くなってしまったのでURLの主要なパーツについておすすめ度を簡単にまとめてみました。

パーツブログ(簡便性)ビジネス(SEO)
日付
カテゴリ×
投稿名
投稿ID

WordPressのパーマリンク設定に予め用意されているもののおすすめはこんな感じでしょうか。

設定ブログ(簡便性)ビジネス(SEO)
基本(/?p=123)×
日付と投稿名(/2019/06/14/sample-post/)
月と投稿名(/2019/06/sample-post/)
数字ベース(/archives/123)
投稿名(/sample-post/)

ビジネス向けはURL短く、英数字で記事のタイトルを英語にして投稿名を付ける形がおすすめみたいです

1

ブログ向けは、英数字で投稿名を付けるのは面倒だけど、日本語で良いかというとそれもどうだろう…ということで数字ベースをおすすめにしています。

基本的には日付はお好みで、文字(投稿名・カテゴリ)はビジネスやSEOを考えるのであれば増やしていくことを考えるのが良いかと思います。

WordPressのパーマリンク設定にあらかじめ用意されているパターンはどう?

WordPressにあらかじめ用意されているパターンがそのまま使えるならそれを使うのが楽ですし、用意されているからにはそれなりに意味があるはずですから、まずはそれらを検討してみます。

まずは、あらかじめ用意されているパターンのメリット・デメリットを順番に見ていきます。

基本形式

https://sanzenki.com/?p=123

?以降のパラメータで記事を指定する、いわゆるクエリ形式です。

公式にUGLY(醜い)と言われてしまっていますが結構使えると思うんですよね。

クエリ形式とは…URLの?以降のことをクエリパラメータと言います。上の例では?p=123の部分です。p=123のようにパラメータ名=値を一組として使います。また、&を間に入れて?p=123&preview=trueのように必要なだけ繋げることができます。このとき、パラメータの順番は関係がありませんが、Googleのような検索エンジンは順番が変わると別ページとみなしてしまいます。クエリ形式は、主にプログラムで処理する動的なページに使われるため、いつも同じコンテンツを返すブログのようなコンテンツのURLには向いていません。

クエリ形式のメリット:パーマリンクを変更してもリンク切れにならない

最大のメリットは、WordPress内部でも使っている形式なので、あとから他のパターンにパーマリンクを変更してもリンク切れにならないことです。逆に他のパターンを利用していても、依然このクエリ形式でもアクセスはできます。

WordPressの初期設定では、次の日付と投稿名になっていますが、よくわからなければこっちにしておいても良いのでは…と思います。

クエリ形式のデメリット:コンテンツを指定するURLがはっきりしない

デメリットは、クエリ形式なので、コンテンツを指定するURL部が意味的にはっきりしないところです。

もう少し詳しく説明すると、例えば、サイト内検索でworldという語句を検索するときのURLはhttps://sanzenki.com/?s=world/ですがこのworldの部分は検索語句なのでどんな語句でも入る可能性がありますね?そしてそのすべてに対応した結果のページが返されます。これが動的ページです。そしてクエリ形式は動的ページに都合の良い形式です。

それに対して、投稿で使うときの基本形式(?p=123)の設定は、URLの形は検索と似ていますが、p=123123には決まった値しか入らない(決まった値以外は404エラーになる)、静的に近いコンテンツなので、クエリ形式をURLとするのは意味的にはイマイチです。

パラメータが並べ替えられる。 一部の大規模なショッピング サイトでは、同じアイテムを複数の方法で並べ替えできるため、多数の URL が生成されます。たとえば次のような場合です: http://www.example.com/results?search_type=search_videos&search_query=tpb&search_sort=relevance &search_category=25

このケースでは、URLが不必要に多くなってしまうことが問題とされていますが、一番の問題点は、同様の商品を表すURLが複数あることです。

投稿のURLがクエリ形式である場合に問題となりそうなのは、「パラメータが並べ替えられる」ということです。投稿のURLに他のパラメータがある場合には、それらを入れ替えた場合にも問題なくアクセスできます。しかしそれでは検索エンジンはそのURLのどの部分を投稿のパーマリンクを表すと解釈すれば良いの?😵ということになります。

クエリ形式のデメリット:URLに情報がない

当然ですがURLに特に情報がないので、タイトルやカテゴリ名をURLに含めるパターンと比べると、SEO等には不向きです。

日付と投稿名

これはたとえば次のようなパターンです。
https://sanzenki.com/2019/06/14/sample-post/
これもWordPressの初期設定になっています。パーツの組み合わせでいうと年・月・日+スラッグですね。
構造で書くと/%year%/%monthnum%/%day%/%postname%/です。

メリット:日付による分類は強い

メリットは、それなりにきれいに分類できているように見えることです。
ブログに限らずですが、日付順にするとうまく分類できる、できているように見えることは多いです。

メリット:URLを削ると月毎のアーカイブページに移動できる

URLを削ると月毎のアーカイブページに移動できるというメリットもあります。
あえてURLを削ってアクセスすることがあるのかどうかはよくわかりませんが🤤

デメリット:更新してもURLは古い日付のまま

デメリットは、URLが長めになること、そして更新してもURLは古い日付のままということがあります。
ページを再利用して加筆修正して最新情報を載せていく場合にはあまり都合がよくないです。

デメリット:スラッグ(投稿名)が必要

スラッグは日本語だとURLエンコードされたとき%%%記号で台無しになってしまうので、英数字で自分で指定することになります。URLバーに表示されているだけだと問題ありませんが、コピーとかするとすごく長くなってしまいますから。これは結構面倒です。

デメリット:スラッグを更新しにくい

一度決めたスラッグ(投稿名)はパーマリンクの一部になるため変更し辛いです。古いままにしておくこともできますが、そうなると日本語のタイトルと違ってしまうことになってしまい意味をなさなくなってしまいます。

月と投稿名

これはたとえば次のような感じ。
https://sanzenki.com/2019/06/sample-post/
簡単に言え日付と投稿名から、日にちを取り除いたものです。

日付と投稿名の亜種

違いが少ないのにわざわざ用意されているのは、一日に何度も投稿しない場合や、日付をまたぐ微妙な時間だったりするときに日付はない方がいい場合が想定されているのかもしれません。

数字ベース

https://sanzenki.com/archives/123

メリット:「基本形式」のクエリ部分をURL化

基本形式のクエリ部分をURL化したものと考えられます。

クエリ形式は、コンテンツを指定するURLがはっきりしないという意味的弱点がありましたが、URLのパスの一部に入れてしまうことで、それを解決する形になると思われます。

投稿名

これは次のようなURLになります。
https://sanzenki.com/sample-post/

メリット:自分で指定する以外はシンプル

何度も言うように、自分で指定することになると手間はかかりますが、それ以外はシンプルにできます。

デメリット:投稿ページのURLに見えないかも

WordPressには投稿以外のページもありますが、/カテゴリー名/ページの構造のサイトも多いため、一見すると投稿ページのURLに見えないかもしれなません。

パーツからメリット・デメリットを考える

使えるパーツはいろいろとありますが、URLに含めなければならないようなパーツは基本的にはないと思うので、そのURL上の効果を考えて、どのような効果を優先するか、という話になると思います。

日付関係

日付関係は年月日時分秒が使えます。
%year%%monthnum%%day%%hour%%minute%%second%

メリット:URLから投稿日時がわかる

どれほど効果があるかわかりませんが、URLから投稿日時がわかるのがメリット。
しかし、Googleの検索結果は最近はURL以外から拾ってきた日時を表示しているので効果は薄いと考えられます。

デメリット:投稿を更新してもURLは変わらない

上でも書いたとおり、投稿を更新してもURLは変わらないので、書きっぱなしにするのでなければあまり意味がなくなってしまいます。

デメリット:投稿日を変えるとURLが変わってしまう

それから、そうそうないとは思うけど、投稿日自体を変えるとURLが変わってしまいます。

活用:post_idと組み合わせてランダム感を出す

post_idはそこそこ投稿順になっているので、URLの数字を増やせば推測できてしまいますが、%minute%や%second%と組み合わせることで、推測されにくくすることができるかもしれない。やる意味があるかどうかはわからないけど。

活用:日付のみのパーマリンク

順番を問わず、年から秒まで全てが含まれていれば、投稿名か投稿IDがなくとも、投稿ページのURLとして使えるみたいです。しかし、一つでも抜けていると投稿ページではなくアーカイブページの扱いになってしまいます。

カテゴリ %category%

メリット:SEOに使える、と言われる

文字列を入れられるのでSEOに使える、と言われる。

デメリット:変更にはとても弱い

しかしカテゴリを変更するとURLが変わってしまうので変更にはとても弱い。仕事などで決まりきったカテゴリ設計をできるならよいかもしれません。

スラッグ %postname%

SEOに使える、と言われる

文字を入れられるのでSEOに使える、と言われています。

デメリット:骨が折れる

英語圏では投稿のタイトルが近い形でURLに入れられますが、日本語の場合は、SNSでシェアされたときなどにURLエンコードされると%%%記号だらけのURLになってしまうので英数字で付けましょうと言われる。

記事毎に英作文するのはさすがに骨折れると思います🙄。日本語のページだと、このパターンのURLにしているところは、残念ながらキーワードの羅列になっているページがとても多く、本来の意味を失っているように思えてなりません。この方法を使うのであれば、英語が得意でなければ自分で考えるよりも、日本語で考えてGoogle 翻訳に突っ込むのがおすすめです。

他のデメリットとして、検索結果にURLが表示される場合もありますが結局タイトルの代わりにはならないし、タイトルを変更するとURLが変わるか、URLと一致しないことになってしまいます。

というわけで個人的にはあまり好きではありません🙄。

投稿者名 %author%

複数人で編集しているのでもなければ必要はないと思います。

URLを削って投稿者毎の投稿の一覧ページにアクセスすることもできますが、これはアクセスする方法が他にあります。→ https://sanzenki.com/p/author/yourname

投稿ID %post_id%

数字で使うならもっとも一般的なパーツだと思います。具体的には、
https://sanzenki.com/archives/123123の部分です。この数字はリビジョンも含めて増えていくので連番にはならなりません。

基本的にはWordPressが記事を特定する方法は投稿IDまたはスラッグになります。

固定値

「https://sanzenki.com/archives/123」のarchivesの部分。

固定の文字もパス中に指定できます。固定値なので、投稿全体に共通の固定値・パス名を追加する場合、特にarchives/123のarchiveの部分に使う目的と思われます。

パーマリンクを変更したくなったら?

基本(/?p=123)設定からの変更であれば自動的にリダイレクトされるので何の設定もせずに変更すればリンク切れも起きず何も問題ありません。

基本(/?p=123)設定以外からの変更は設定が必要ですが、数字ベース(/archives/123)からであれば.htaccessを使ってリダイレクトで対処することができるようです。

どうしても個別に設定しなければならない場合も手間はかかりますがプラグインを使用すればできないことはないみたいです

2

後記

パーマリンクは一度設定するとなるべく変更したくありませんよね。同様に悩んでいる方の時間の節約になれば幸いです。

コメント

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