MENU

WordPressのカテゴリーページURLから「category」を削除する方法【プラグイン不要】

WordPressでパーマリンク設定を「投稿名」などに変更した際、カテゴリーページのURLに自動的に「category」というスラッグが挿入されます。

例:
https://example.com/category/news/

この「category」はSEO的にもユーザー体験的にも不要と感じるケースが多いのではないでしょうか。

今回は、カテゴリーページのURLから「category」を削除する方法について、プラグインを使わずに実装する方法を中心に解説します。

目次

方法1:プラグインで削除する(簡単だけど注意点あり)

例えば、Yoast SEOなどのSEO系プラグインには、「categoryをURLから削除する」オプションがあります。

メリット

  • 設定が簡単
  • 他のSEO設定と一元管理できる

デメリット

  • 不要なプラグインを増やしたくない場合には不向き
  • 他にSEO系プラグインを導入していると競合の可能性あり

方法2:functions.phpにコードを追加して削除する(おすすめ)

プラグインを使わずに実装したい場合は、以下のコードを**functions.php**に追加するだけで、カテゴリースラッグの「category」を除去できます。

コード例:

/**
 * カテゴリーページのURLから/category/を削除
 */
function remcat_function($link) {
return str_replace("/category/", "/", $link);
}
add_filter('user_trailingslashit', 'remcat_function');
function remcat_flush_rules() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_action('init', 'remcat_flush_rules');
function remcat_rewrite($wp_rewrite) {
$new_rules = array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2));
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
add_filter('generate_rewrite_rules', 'remcat_rewrite');

補足:

上記コードを追加した後、「パーマリンク設定」ページを一度保存してください。これにより、リライトルールが更新されます。

functions.phpはテーマによって異なるため、子テーマを使用している場合は子テーマ側に記述するようにしてください。

まとめ:URLの最適化でユーザー体験もSEOも向上

WordPressを運用していると、「category」という不要なスラッグに悩まされる場面は多いはずです。
今回ご紹介したように、functions.phpを使えば、プラグインに頼らずスッキリとURLを整えることができます。

構築のたびに毎回書くのが面倒という方は、functions.php用のカスタムテンプレートとして保存しておくと便利です。
今後のWordPress開発に、ぜひ役立ててください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

運営者はWeb制作歴5年のWebデザイナーです。
本ブログでは現場で培ったWebの知識やノウハウを、初心者の方にもわかりやすくお届けできるよう心がけています。

また、旅先での気づきや、美味しいもの、ちょっとした日常の楽しみも発信しています。
「Webも人生も楽しみたい!」そんな思いで、雑記ブログというスタイルで気ままに更新中。

目次