5秒で終わり!WordPressのパーマリンクで”category”を取り除く【No Category Base (WPML)】

SEOにとって重要視されるパーマリンクですが、自分の思い通りに動いてくれなくて困ってしまうことが多々あります。

今回はWordPressの投稿のパーマリンクからcategoryを取り除く方法をご紹介致します。

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

情報源: No Category Base (WPML)

この「No Category Base (WPML)」をインストールするだけ。設定もなく、ものすごく簡単です。
リダイレクトもしっかりしてくれますので安心です。

2.functions.phpにコードを追加して取り除く

functions.php

add_filter('user_trailingslashit', 'remcat_function');
function remcat_function($link) {
    return str_replace("/category/", "/", $link);
}
 
add_action('init', 'remcat_flush_rules');
function remcat_flush_rules() {
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}
 
add_filter('generate_rewrite_rules', 'remcat_rewrite');
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;
}

上記コードをfunctions.phpに追加してください。この方法はサブカテゴリがある記事は404になってしまうので注意が必要です。
カテゴリ構造がシンプルなサイトで、プラグインを使用したくない人にはいいかもしれないです。

functions.phpの編集はサイトが表示されなくなる可能性がありますので素人の方や知識のない方はプラグインの方法をオススメします。

最新情報をチェックしよう!