パーマリンク 『wp2.71』
今回は「パーマリンク」についてみていきます。パーマリンクとは簡単に言えば各ページへのURLを自由に変更しましょうということです。デフォルトでは「WP/?p=123」など「?」の後にカテゴリー番号や記事番号などをつけたURLになっています。これではURLをみただけではページの内容がわかりにくいですし、SEO的にも良くないらしいです。
【設定】

パーマリンクは「設定」→「パーマリンク設定」で設定することができます。デフォルトでは「?p=123」のように「クエスチョンマークと多くの数字からなる URL 」になっています。サンプルとして、①日付と投稿名、②月と投稿名 ③数字ベース の3種類はラジオボタンで選択することにより簡単に変更できます。この3種類がどのように設定されているかは、このページのソースを開いて「radioボタン」のvalue値をみればわかります。
①日付と投稿名
/%year%/%monthnum%/%day%/%postname%/
②月と投稿名
/%year%/%monthnum%/%postname%/
③数字ベース
/archives/%post_id%
【カスタム構造】
カスタム構造にしたい場合は、その投稿のカテゴリー、投稿の情報や日付などをどのように取得して表示するのか知る必要があります。「wp-admin」→「options-permalink.php」の get_permalink関数で指定、処理されています。
$rewritecode = array(
'%year%',
'%monthnum%',
'%day%',
'%hour%',
'%minute%',
'%second%',
$leavename? '' : '%postname%',
'%post_id%',
'%category%',
'%author%',
$leavename? '' : '%pagename%',
);
| %year% | 投稿年(西暦を4桁) |
| %monthnum% | 投稿月(2桁のの月 (01 ~ 12) ) |
| %day% | 投稿日(2桁の日付) |
| %hour% | 投稿時間(24時間単位 (00 ~ 23) ) |
| %minute% | 投稿分(2桁の分 (00 ~ 59) ) |
| %second% | 投稿秒(2桁の秒 (00 ~ 59) ) |
| %postname% | 投稿タイトル(スラッグ名) |
| %post_id% | 投稿ID |
| %category% | カテゴリ名(スラッグ名) |
| %author% | 著者名(スラッグ名) |
日付関連はphpのdate関数で処理されていました。各日付項目の表示型は「date('Y m d H i s', $unixtime))」でした。投稿タイトルやカテゴリ名、著者名は「スラッグ名」です。スラッグ名を登録してない場合、そのまま投稿タイトルなどが表示されますが、日本語など2バイト以上あるとurlエンコードして文字化けしたようにみえます。スラッグ(Slug)は、各登録・編集画面で登録できます。
私は「年月日_投稿ID.html」と語尾に「.html」をつけて静的ページのようにみせました。
例)/%year%%monthnum%%day%_%post_id%.html
【その他】
私は既に100以上の記事がある途中で変更しました。既存URLへのリンクなどはどうなるの調べてみました。
例)
http://memories.zal.jp/WP/?cat=27
とデフォルトのURLでアクセスしてみると
http://memories.zal.jp/WP/category/wordpress2-7
とパーマリンク形式のURLへ飛びました。ですので途中からでも影響ないと思います。記事も同様でした。パーマリンクの変更は「前のパーマリンク名」から「新しいパーマリンク名」へ自動的に飛ばないで、一回パーマリンク指定したら変更しないほうがいいです。
【注意点】
パーマリングは「htaccess」を利用し、サーバの「mod_rewrite」を使っています。「mod_rewrite」機能が使えない環境では利用できないので注意してください。また、「htaccess」を既に利用している場合、既存設定が上書きで消えないように注意してください。

