このページの本文へ

結局どれがいいの? WordPressのパーマリンク設定の違いと仕組み

2017年03月15日 14時50分更新

文●Jérémy Heleine

  • この記事をはてなブックマークに追加
本文印刷
WordPressの設定で迷うのが、投稿やページのパーマリンク設定。どれを選べばいいのか、知っていますか?

Webサイトのオーナーは一般的に、サイトかソーシャルネットワークのどちらかで読者がコンテンツをシェアすることを望みます。そのためにはシェア用のリンクが必要です。

WordPressのパーマリンクとは?

「パーマリンク(permalink)」とはWebサイトの特定のページや投稿に対する「固定リンク(permanent link)」のことです。リンクをシェアするときは変更がない固定のページにリンクされます。

WordPressでは作成された投稿やページのそれぞれに対してパーマリンクが生成されますが、パーマリンクは編集可能です。

WordPressで使われるパーマリンクにはタイプがあります。パーマリンクを紹介するこの記事を参考にすれば、運営しているWordPressサイト用に最適なタイプを選べるでしょう。

デフォルトのUglyパーマリンク

作成された投稿やページにはそれぞれIDと呼ばれる一意の識別子があります。これは投稿やページを一意的に識別できる番号なのでデフォルトのパーマリンクシステムとしては最適であり、WordPressはこの識別子をデフォルトとしています。

投稿IDが308なら、デフォルトのパーマリンクはhttp://example.com/?p=308となります。その名のとおりIDは一意的なものなので、WordPressはこのURLに含まれるpタグの値にアクセスして検索する投稿を探します。

このシンプルな仕組は、任意のサーバーで有効なのでだれでも使えるという大きなメリットがあります。しかし、この種のパーマリンクは見た目が悪く(ugly)実際分かりにくいため、pretty(良い)パーマリンクが用意されています。

WordPressでPrettyパーマリンクを有効にする

一般にPrettyパーマリンク(検索フレンドリーURLとしても知られる)は参照される投稿のタイトルなどの単語を含み、たとえば、http://example.com/my-blog-postのようになります。PrettyパーマリンクはURLを読むだけでページや投稿の内容がどのようなものか理解できます。さらに検索エンジンにも解読可能なので検索エンジンのランキングにも役立ちます。

パーマリンク構造を選択する

Prettyパーマリンクを有効にするにはWordPressのダッシュボードで、設定 > パーマリンク設定と進みます。パーマリンクの構造を選択できるオプションがいくつかあります。

「Uglyパーマリンク」はpパラメーターを持つデフォルトのパーマリンクです。利用可能な別の選択肢に「Prettyパーマリンク」があり、表示される例でどのような情報が使えるかが確認できます。WordPressが提供する選択肢に納得できなければ、最後のオプション「カスタム構造」で希望のパーマリンクを生成する選択もできます。

パーマリンクには任意のテキストを追加できます(ただし必ずURLで使用可能な文字だけを使ってください)。投稿年やタイトルなどの詳細を含められるタグがいくつかあります。これらのタグは「構造タグ」と呼ばれます。これはパーマリンクで使われる変数を指す用語です。この用語を通常のWordPressの「タグ」(コンテンツの分類を補助として使う)と混同しないよう注意してください。

投稿日時を指定できるタグは以下のようになります。投稿年は%year%で指定できます。投稿月は%monthnum%、投稿日は%day%で追加します。投稿時刻は%hour%%minute%second%で指定できます。

次の2つのタグで投稿に関する情報をさらに追加できます。カテゴリは%category%、投稿者は%author%です。投稿が複数のカテゴリに属する場合、%category%はアルファベット順で早いほうのカテゴリ1つだけを使用します。

最後に大切なタグが2つあります。投稿IDを表す%post_id%と投稿タイトルを表す%postname%です。ちなみに%postname%は実際には投稿のタイトルそのものではなく、タイトルを表現する文字列であるスラッグが使われます。スラッグは投稿名をベースに、URLで使用可能な文字だけで構成したものです。

カスタム構造を選択する場合%post_id%%postname%タグのどちらかまたは両方を含める必要があります。どちらかのタグのうちの1つが入っていないと、投稿に対してURLがユニークであることを保証できません。

どのようなことができるか示すために、かなり長いですが例を挙げます。投稿の日付と時刻、投稿者をURLに追加するのは次のようなタグを使います。

/%year%/%monthnum%/%day%/%hour%:%minute%:%second%/%postname%/written-by-%author%

下のようなURLになります。

http://example.com/2016/08/02/08:06:22/hello-world/written-by-jeremy

カテゴリとタグ

Prettyパーマリンクは投稿用に限定されません。カテゴリ、タグ、アーカイブページにも有効です。投稿のURLに対してUglyパーマリンク以外のオプションを選択すると、WordPressは自動的にそのページ用にPrettyパーマリンクを有効にします。

Prettyパーマリンクが有効になると、デフォルトのカテゴリ用http://example.com/?cat=1の代わりにhttp://example.com/category/uncategorized/といったURLをになります。

タグはタグのスラッグにプレフィックス/tag/を付けます。

アーカイブは、たとえば、http://example.com/2016/08/といった仮想ディレクトリになります。「オプション」部分のフィールドに入力してカテゴリとタグ用に希望のプレフィックスを選択できます。

.htaccessの編集

Prettyパーマリンクは.htaccessファイルを使って動作します。.htaccessファイルはWordPressがインストールされているルート(ディレクトリ)に置かなければなりません。このファイルはすべての訪問者のクエリを実行して適切なページを表示するindex.phpファイルにリダイレクトします。

.htaccessファイルをWordPressが自動更新できる場合、設定 > パーマリンク設定と進んだ画面で「変更を保存」ボタンを押すだけでPrettyパーマリンクが有効になります。とはいえホスティング構成などの場合によっては自動更新できないこともあり、手動更新が必要になります。

そのような場合パーマリンクページの下部に.htaccessファイルの手動更新が必要なことを示すメッセージが表示されます。WordPressがインストールされたルートディレクトリに.htaccessファイルが存在しない場合.htaccessファイルを作成してWordPressが提示するテキスト領域の内容をコピーしてください。.htaccessファイルがすでに存在している場合、テキストエディターを使って画面上に表示される内容をファイルに追加してください。

Almost Prettyパーマリンク

Prettyパーマリンクを使えない場合もあります。実際、.htaccessファイルが使えなければPrettyパーマリンクは使えません。幸い、ずっとUglyパーマリンクを使い続けなければならないという意味ではありません。

WordPressでは中間的なオプションとして「Almost Prettyパーマリンク」が提供されています。このパーマリンクにはプレフィックス/index.php/が付きます。この点を除けばAlmost PrettyパーマリンクはPrettyパーマリンクと同じもので、同じオプションとタグが利用できます。たとえば、先に示した長すぎる例をAlmost Prettyパーマリンクで使うと、「カスタム構造」フィールドに次のように入力できます。

/index.php/%year%/%monthnum%/%day%/%hour%:%minute%:%second%/%postname%/written-by-%author%

以下のようなURLになります。

http://example.com/index.php/2016/08/02/08:06:22/hello-world/written-by-jeremy

これでOKです。.htaccessファイルは必要ありません。

Prettyパーマリンクと同様、Almost Prettyパーマリンクを有効にするとカテゴリ、タグ、アーカイブページもAlmost Pretty URLを取得します。繰り返しになりますが、Almost Prettyパーマリンクはプレフィックス/index.php/が付くことを除いてPrettyパーマリンクと同じ構造です。

投稿のスラッグを編集する

パーマリンク構造で%postname%タグを使うとURLをさらにカスタマイズできます。各投稿に関してWordPressが生成するスラッグを編集できます。

デフォルトでWordPressはタイトルを使いURLに使用できる文字のみに変換します。たとえばスペースはダッシュに変換され、特殊文字も変換されるかまたは単純に削除されます。「é」は「e」に、「à」は「a」になり、「?」や「!」は削除されるといった具合です。

WordPressは「ストップワード」として知られる「the」や「for」などのスモールワードは削除しません。これらの単語はURLでそれほど意味を持たないので削除したいと思う場合もあるでしょう。投稿ごとに設定できます。

自動的にストップワードを削除するSEOプラグインは注目に値します。運営しているサイトですでに使っているかもしれません。Amit Diwanの優れた記事『The Top WordPress SEO Plugins Reviewed(人気のSEOプラグインをレビューする)』を参照してください。

投稿タイトルの編集フィールドの下に、生成された投稿のパーマリンクが表示されています。リンクの横の「編集」と書かれたボタンでパーマリンクを編集できます。

フィールドで新しいスラッグの編集を完了したら「OK」ボタンをクリックします。ちなみにWordPressでは入力したテキストを使って作成したスラッグがそのまま新しいURLとして有効になるとは限りません。たとえば「Hello World!」と入力したのに「hello-world」となることもあります。

editing permalink

最後に

PrettyまたはAlmost PrettyパーマリンクはURLを読みやすくSEOフレンドリーなものにします。投稿日付やタイトルなどの役立つ情報も含められます。パーマリンクはカスタマイズ性に優れ、ユーザーはWebサイト用に任意の構造を選択できます。

パーリンクの構造に時間をかけるのは良いことです。たとえば投稿用のパーマリンクを変更すると古いURLはすべて404エラーになり、リダイレクトが必要になります。フォーラムなどで投稿をシェアした人たちや検索エンジンのことを考えるとパーマリンクを変更しない方が好ましいといえます。

(原文:An Introduction to WordPress Permalinks

[翻訳:新岡祐佳子/編集:Livit

Web Professionalトップへ

WebProfessional 新着記事