はてブpocketWordPressエンジニア向け入門その2です。前回『WordPressエンジニア向け入門その1、ページが表示されるまでの仕組み』は、ページが表示されるまでの流れをざっと説明しました。今回はその中でパーマリンク(URL)に関するお話です。サイト運営上、パーマリンクは非常に重要なものです。パーマリンクを自由にカスタマイズできるすべを身につければ、サイト運営にもきっと役に立ちます。まとめそもそもパーマリンクとは?パーマリンクとはURLのドメイン以降の部分です。パーマリンクの意味は半永久的なリンクです。記事の内容が変わったり新しい記事が増えても、元の記事のURLは変わらないことを指します。寄り道、SEOとパーマリンクの話サイトの新しいページが検索エンジンに表示されるには、検索エンジンにインデックス(登録)される必要があります。インデックスされるのはページ(URL)単位です。一度登録されると、その後ページ内容に変更が合っても登録されたままです。(変更内容が検索エンジンに認識されるまで少し時間がかかります。)インデックスされたページのURLが変更されるとどうなるでしょうか?URLが変更されるとページの内容が一切変わってなくても、再度検索エンジンにインデックスされるまで検索結果に表示されません。そのページが上位表示されていたとしても、再度インデックスされた際、元の順位に戻る保証はありません。古いURLはしばらくインデックスされているので、古いURLから新しいURLへ301リダイレクトすれば問題ないのですが、それを忘れた場合、せっかくの上位表示もパーです。忘れてなくても莫大なページのURL変更が合った場合、301リダイレクトの設定も大変です。WordPressのパーマリンク設定は大事です。あとから変更することが無いように設計することが理想です。管理画面からパーマリンクを設定できます。管理画面の左メニューの設定-パーマリンク設定を開いて編集します。パーマリンク形式WordPressデフォルトの設定は以下の形式です。http://example.com/?p=NUgly(見苦しい)形式と呼ばれており、あまり好ましい方法ではありません。後述の形式を使われることが多いのですが、すべてのサーバー環境で動作されるためにデフォルト設定はこの形式です。他の形式として、以下の4つのデフォルト形式が用意されており、それ以外に自分でカスタマイズすることもできます。http://example.com/sample-post/カスタマイズする場合、構造タグを使用します。構造タグとは%%で囲まれた文字のことです。デフォルトで用意されているものは以下の通りです。%year%投稿された年を4桁で取得します。%monthnum%投稿された月を取得します。%day%投稿された日を取得します。%hour%投稿された時(時間)を取得します。%minute%投稿された分を取得します。%second%投稿された秒を取得します。%post_id%投稿の固有IDを取得します。%postname%投稿の投稿名を取得します。%category%投稿のカテゴリーを取得します。サブカテゴリーは入れ子にされたディレクトリとして取得されます。%author%投稿の作成者を取得します。Codexより引用これらから好きなものを組み合わせてカスタム構造として定義します。http://example.com/%category%/%postname%/を設定しています。パーマリンク制御の仕組みここまでで、パーマリンクの基本に触れました。ここからはWordPressでパーマリンクがどうやって制御されているのか順に説明していきます。大きくわけると2つあります。get_permalink等、URLを取得する処理にてパーマリンク設定を元に処理するリクエストされたURLをWordPressが理解できる形に変換して処理するget_permalinkの仕組みget_permalinkは投稿記事のURLを取得する関数です。内部ではパーマリンク設定を参照し、設定に基づいたURL構造に変換して表示しています。リクエストされたURLの変換デフォルト以外のパーマリンク設定が動作するためにはサーバーの設定が必要です。Apacheのmod_rewriteやnginxのnginx.confの設定を用いることで、WordPressのパーマリンク構造を実現しています。いうと以下の処理の流れとなります。後続処理が続くWordPressのルーティングはindex.phpが一手に引き受け、リクエストされたURLからリクエストの種類・意味を判断し、適切なページを表示しています。これらの説明は長くなるので次回に持越します。まとめWordPressのパーマリンクについて基本と、処理の入り口まで説明しました。次回、リクエストされたURLの変換等について更に詳しく触れていきます。スポンサーリンクこの記事が気に入っていただけたらシェアお願いします。コメントをキャンセルメールアドレスが公開されることはありません。Web担当者として日々学んだことを書いていきます。