パーマリンクとは、各ページに割り当てられたURLのことで、WEBサイトにおける表面的なディレクトリ階層の構造となります。
ディレクトリ階層を簡単に言い換えると、どのページがどのフォルダに入っていて、どのように管理されているかという事になります。
項目(カテゴリー)ごとにファイル(ディレクトリ)を作り、テーマが同じページは同じファイル内に格納することが理想的です。
書類などを後々探しやすいようにフォルダ管理すると同様に、ページもフォルダで管理するよう心掛けることで、閲覧者に対するユーザービリティの向上はもちろん、検索エンジンロボットやクローラーの誘導にも効果があり、結果的にSEO内部対策にもつながります。
CMSのディレクトリ階層管理
動的な構造でWEBサイト制作ができるCMS(コンテンツ・マネジメント・システム)ですが、実ファイルとして存在するHTMLサイトとは違って、ディレクトリ階層でのサイト管理がとても複雑です。
サイトマップ通りにディレクトリ階層での管理を行うためには、事前に階層定義をする必要があり、WEBサイト制作に詳しくない人にとってはなかなか容易な事ではないかと思います。
WordPressはディレクト階層管理も容易
WordPressでは、パーマリンク設定によってディレクトリ階層の管理を簡単に行うことが出来ます。
WordPress管理画面 ⇒ パーマリンク設定
初期段階ではデフォルトの「http://sample.com/?p=123」となっています。PHPで作られたサイトに良く見られるのですが、URLに「?」が入っていると検索エンジンに動的URLと認識され、インデックスされにくいと言われています。
検証したわけではないのですが、リスクヘッジの為にデフォルト以外を選択することをおすすめします。
WordPressで選択できるパーマリンク
デフォルト | http://sample.com/?p=123 |
---|---|
日付と投稿名 | http://sample.com/2014/06/18/sample-post/ |
月と投稿名 | http://sample.com/2014/06/sample-post/ |
数字ベース | http://sample.com/archives/123 |
投稿名 | http://sample.com/sample-post/ |
カスタム構造 | https://10-plate.com~任意 |
カスタム構造でのパーマリンク設定
ここからが本記事の本題になります。冒頭にも説明したディレクトリ階層管理ですが、WordPressではカスタム構造と構成タグを使って理想的なディレクトリ階層に設定出来ます。
WordPressのカスタム構造で使用できる構成タグは以下の通りです。
投稿年(西暦) | %year% |
---|---|
投稿月 | %monthnum% |
投稿日 | %day% |
投稿時 | %hour% |
投稿分 | %minute% |
投稿秒 | %second% |
投稿名 | %postname% |
投稿ID | %post_id% |
カテゴリー名 | %category% |
タグ名 | %tag% |
著者名 | %author% |
これらの構成タグを組み合わせて、独自のパーマリンクを設定します。
理想的なパーマリンクは、「親」があって「子」がある状態です。よって「カテゴリー名」を呼び出す構成タグは必須で使用することになります。
デフォルト設定のディレクトリ階層
カスタム構造を使って設定した理想的なディレクトリ階層
カスタム構造での理想的なディレクトリ階層のパーマリンク
カスタム構造での構成タグは「/」で区切って使用します。以下がユーザービリティとSEOの観点で最も理想的なパーマリンクになります。
カテゴリー + 投稿名
http://sample.com/%category%/%postname%
最も理想的なパーマリンクはこの形式です。HTMLで構築したサイトのように、親になるディレクトが存在して、子には各ページを固有のファイル名で管理する方法。ちなみに、この場合の親であるカテゴリーの冒頭ページにあたる「index.html」は、カテゴリー内の記事一覧ページになります。
「%postname%」のあとに「.html」をつければ、HTMLサイトのような表記も出来ます。
http://sample.com/%category%/%postname%.html
カテゴリー + 投稿ID
http://sample.com/%category%/%post_id%
投稿名ではなく、投稿IDを使用する場合です。ページのファイル名には記事作成順に固有の番号が割り当てられます。
当ブログもこの形式を使用しています。投稿名同様に、親の冒頭ページにあたる「index.html」はカテゴリー内の記事一覧ページです。
サイト運用を考えたパーマリンク設定
理想的なパーマリンクは、各記事ページを投稿名で管理する方法です。理由は単純で、無機質なURLからでも設定した投稿名によっては、どんな内容の記事なのかが一目で分るからです。
この場合、ユーザービリティが高いサイト構成となります。
ですが、当サイトがパーマリンクを投稿IDにしているのにはちゃんとした理由があります。
私の場合ですが、ブログのように大量の記事を次々とアップするサイトでは、どうしてもページ管理がとてつもなく困難になります。
もちろんそうなると、過去にどんな投稿名で記事をアップしたかも把握できません。(正確には面倒なだけ)
さらには、投稿名を管理しない状態でパーマリンクを投稿名で設定していると、過去の投稿名と被るかもしれないというリスクがあります。
つまり、投稿名を使用する場合はそれなりの管理体制が必要になります。厳密には、そこまでの管理体制を構築する為の時間と労力が極めて無駄だと考えています。
よって、パーマリンクを投稿名でなく投稿IDにすることによって、自動でページ名の被りを防ぐことができ、記事管理の手間も省くことができるので、効率的にサイト運用ができると考えました。
カテゴリーをパーマリンクに含めないメリット
以前、他サイトの記事で「パーマリンクは投稿名、もしくは投稿IDだけにしておけば、運用後に記事が属するカテゴリーを変更してもURLが変わらないので、リンクエラーが起きない」と、階層なしのパーマリンク設定が推奨されていました。
http://sample.com/%postname%
http://sample.com/%post_id%
確かに、いくらカテゴリー変更しても、パーマリンクにはカテゴリー名が含まれていないため、カテゴリーに属する記事でもURLは変わりません。変更前URLから変更後URLへのリダイレクトも不要で、運用上は便利だと言えます。
ですが、あくまでこれは特例で、カテゴリーはそんなにコロコロ変更しない前提でサイト運用を行いことが大切です。
ユーザービリティやSEO内部対策の面でも、カテゴリーごとのディレクト階層がしっかりしているサイト運用を心掛けましょう。
ちなみにですが、「カテゴリー + 投稿名」や「カテゴリー + 投稿ID」で運用している途中での記事カテゴリー変更でも、一定期間は、WordPress側で自動リダイレクトされる仕組みとなっています。
記事のコメント