Blog

WordPressのカテゴリーページURLから「category」を削除する方法

2017.03.31 WordPress

WordPressでは、カテゴリーページのパーマリンク(URL)にcategoryという文字列が入ります。

たとえば、WordPressというカテゴリー(スラッグ:wordpress)の場合、パーマリンクは以下のようになります。

http://shibatatakeshi.com/category/wordpress/

気にならなければそれまでなのですが、余分な文字列が入ることでURLが長くなってしまいます。やはり以下のように、ドメインのあとにカテゴリースラッグがくるというシンプルな構造にしたいという場合もあるでしょう。

http://shibatatakeshi.com/wordpress/

ということで今回は、カテゴリーページのパーマリンクからcategoryという文字列を削除する方法をご紹介します。

パーマリンク設定をカスタム構造に

WordPressダッシュボードのパーマリンク設定にて、カスタム構造にチェックを入れ、横の入力欄に下記のように記入します。

/%category%/%postname%.html

functions.phpを編集する

次に、functions.phpに下記のソースを追記します。

/* カテゴリーURLから「category」を削除
---------------------------------------------------------- */
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;
}
参考ページ

URLが変更になるのでSEO的には注意を!

これで、カテゴリーページのURLからcategoryという文字列が取り除かれました。

しかし当然ですが、これをするとURLが変更になるため、そのページに対するこれまでのSEO的な評価はリセットされます。カテゴリーページでもSEOによる集客を狙っている人は慎重に行ってください。

また、Redirectionなどのプラグインを利用することで、古いURLから新しいURLへリダイレクトすることができます。

これをやっておかないと、ソーシャルメディアなどでシェアされた古いURLがすべて無駄になってしまいます。必ず設定しておきましょう。

Author: 柴田竹思

ベトナムと日本のに拠点生活Webディベロッパー。国内外のSOHO/フリーランスの方のウェブサイト制作から企業の大規模案件まで幅広く携わっています。