SEOにとって重要視されるパーマリンクですが、自分の思い通りに動いてくれなくて困ってしまうことが多々あります。
今回はWordPressの投稿のパーマリンクからcategoryを取り除く方法をご紹介致します。
1.プラグインを使って取り除く
この「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の編集はサイトが表示されなくなる可能性がありますので素人の方や知識のない方はプラグインの方法をオススメします。