• Popular
  • Category
  • Tags
  • アーカイブ

News

follow us in feedly
Toggle

Tips

【Tips】WPのカテゴリーページでパーマリンクから”category”を取り除く4つの方法

3769771267_cfaaf65d3d_o_miniWordPressを使っている人なら、大抵はパーマリンクの設定を変更していると思います。

日付ベースや数字ベースなどのプリセットもありますが、カスタム構造で/%category%/%postname%/として「カテゴリー名/投稿名」なんていう設定をしているケースも多いのでは?

しかし、このままでは実際のカテゴリーページはサイトのURLの後に「category」という文字列が入ってしまいます。

カテゴリーページのパーマリンク

http://example.com/category/gadget/

本来表示したいパーマリンク

http://example.com/gadget/

この不要な「category」文字列をカテゴリーページのパーマリンクから取り除く方法をご紹介します。

1. パーマリンク設定のみで取り除く(プラグイン不要)

これが一番簡単でシンプルな方法です。

WordPress管理画面の「設定」→「パーマリンク設定」の “カテゴリーベース” に 「.」 (ドットのみ)を指定して保存するだけ!
category-base
ただし、パーマリンク設定を/%category%/%postname%/としている場合、このカテゴリーベースでは404エラーとなってサブカテゴリーページが表示されません

この設定が使えるのは、/%category%/%postname%.html というカスタム構造にて運用しているケースのみに有効なので注意してくださいね。

2. プラグインを使って取り除く

WP No Category Base」というプラグインを使えばすべて解決!
設定不要、ただインストールして有効にするだけでOKです。

http://wordpress.org/plugins/wp-no-category-base/

ちなみに、このプラグインで「category」文字列をパーマリンクから削除後、検索エンジンにインデックス済みの「category」付きのURLからアクセスされてもちゃんとリダイレクトされるのでご安心を。

3. function.phpでデフォルトのスラッグを置換して取り除く

以下を function.php に追加します。

これは1番目のパーマリンク設定のみの方法と同じことを、テーマの function.php からWordPressにフックしています。
なのでこちらもパーマリンク設定が/%category%/%postname%/でサブカテゴリーを持つ場合はNGです。

4. .htaccessで取り除く

既存の.htaccessをバックアップしてから、以下の1行を追記します。

RewriteRule ^category/(.+)$ http://yourwordpresssite.com/$1 [R=301,L]
※もちろん「yourwordpresssite.com」はあなたのサイトのドメインに置き換えて!

以上、既出感満載なTipsでしたが、やっぱりプラグインを使った方法が一番オールマイティに安全にスラッグを書き換えれますね!

URL
TBURL

COMMENT ON FACEBOOK

Return Top