WordPressではタクソノミー名が邪魔!
「GOOGLEとユーザーに理想的なURL構造とその理由」で触れたように、ムダのないツリー型のURL構造は、検索エンジンにもユーザーにとってもページの内容・サイトの構造をわかりやすくする重要な項目です。
その為、今回はWordPressで
http://bookof.com/book/technical/pc/web/css/487311232X/
の様なURL構造を目指すことにします。
上記のURLを例えばWordPressで作成しようとした時、流れとしては下記のような形が考えられます。
- http://bookof.com/ というドメインにWordPressを入れる。
- bookというカスタム投稿タイプを作る
- typeというタクソノミーを作る
- technical>WEB>CSS等のタームを作成し、親子関係を付けてツリー構造にしていく
- パーマリンクを調整する
しかし、御存知の通りWordPressで上記の様に作成していくと、URLは例えば下記の様になります。
http://bookof.com/type/css/
「Custom Post Type Permalinks」プラグインを使用すれば、
http://bookof.com/post_type/taxonomy/term
の形までは再現できますが、タクソノミーが含まれてしまい、
http://bookof.com/post_type/taxonomy/
に表示させる内容がありません。パンくずリストともズレが出て来ます。
この状態は「GOOGLEとユーザーに理想的なURL構造とその理由」で触れた理想のURL構造とは違いますので、修正する必要があります。
この状態を修正するためには、WordPressのリライトルール(Rewrite Rules)を変更すれば対応可能です。
リライトルール(Rewrite Rules)とは?
WordPressにはリライトルール(Rewrite Rules)というものがあります。
リライトルール(Rewrite Rules)とは、そのままですがURLを書き直すルールです…

つまり、通常WordPressルートディレクトリにはwp-content・wp-includes・wp-adminのディレクトリがあり、直接アクセスするのはindex.phpですが、
静的サイトのディレクトリ構造の様に見せかけたりしたいので何とかしましょうよっていう仕組みですね。
リライトルールはDBに保存されており、rewrite_rules_array等のフックで追加・削除をすることが出来ます。
今回の理想のURLを実現するには、下記のようなリライトルールを追加すれば良いので、次のページでrewrite_rules_arrayフィルターに命令を引っ掛けて追加する具体的なコードを書いてみましょう。





WordPressでサーバーとドメインを移行する方法
WordPressで同一ドメインでサーバーを移行する方法
WPのタームと子タームでAjaxでドリルダウン(中古車屋さん編)
WPで作った不動産サイトに絞込検索機能をつける
WPで作った不動産管理画面から、suumo風物件一覧と物件紹介ページを作る
Advanced Custom Fieldsで基本設定等のオプションページを作る
Advanced Custom Fieldsで枚数制限無しのギャリーを作る
タームを一括登録できるプラグインWP Taxonomy Importの使い方
Advanced Custom Fieldsでユーザー自身で追加出来る繰り返しフィールドを作る