HOME>WEBプログラム覚書>[WordPress]パフォーマンスに影響するから実は非推奨なこと。

[WordPress]パフォーマンスに影響するから実は非推奨なこと。

よく見かけるけど実は非推奨なこと。暇なときはマニュアル読んでおくといろいろ発見がありますね。

パーマリンク

パーマリンクをカスタマイズするって話題には必ずと言っていいほど

/%category%/%postname%/

が推奨されているけど、実はパフォーマンスが劣化するので非推奨だったりする。

パフォーマンスの観点から、パーマリンク構造がカテゴリ名、タグ名、著者名、投稿タイトルフィールドから始まるのは好ましくないといえます。これらはテキストフィールドなので、パーマリンク構造の先頭に用いると、WordPress が投稿とページ (ページは常にページスラッグを URL に含みます) を区別するのに時間がかかり、代償として、WordPress が余計な情報をデータベースを蓄えることになります (多くのページがあるサイトは大変でしょう)。したがって、/%year%/%post_name%/ や、さらには /posts/%post_name/ のように、少なくとも 2 つのパスセグメントを含めるのがベストでしょう。(パフォーマンスの観点から /%post_id%/%post_name%/ を推奨する人もいますし、この形式はユーザーと URL のインタラクションの多くの文脈で親切でないと批判する人もいます。)

パーマリンクの使い方

書かれているとおりURI的には、 パフォーマンスを重視したい場合は避けた方がよさそう。 僕はもう手遅れです。w

flush_rules()

flush_rules関数はとても遅いので、実装するときにはすべてのページで実行されるinitフィルターで呼び出さないようにしてください。そのかわり、この関数はリライトルールが変更されるときにだけ呼び出すようにしてください。プラグインのregister_activation_hookだけで消去すれば十分でしょう。

関数リファレンス/WP Rewrite

カスタム投稿タイプとかカスタムタクソノミー設定時に404エラーが出た場合、flush_rewrite_rules()を実行することで解決することがあるみたいだけど、 flush_rewrite_rules()はWP_Rewrite::flush_rules()のエイリアスとなっている。

確証はないんですが、一度だけ実行すれば解決しそうなので、解決した場合はコメントアウトしておくといいかも。 ダメだったら毎回実行で。

もっとも、このマニュアルも古い情報なので最新版もこの状態かは不明。

投稿日 2011年8月24日 03:57
カテゴリ PHP
タグ WordPress
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1230

コメント

コメントする
Name
Email Address
URL