fantiaはじめました!無料素材やAI、PSDを配布中です。

【ワードプレス】URLから「category」を消す方法【WordPress】

この記事を読むのに必要な時間は約 5 分です。

WordPress(ワードプレス)でサイトを作成していますか?
WordPress(ワードプレス)で例えば「web」という名称のカテゴリを作った際、URLに「/category/web/ 」と表示されてしまいます。

そんなURLの不要な「category」を消す方法を詳しく、分かりやすく解説します。

「category」を消すメリット

SEO的に有利等のメリットは特段ありません。
単純にURLが短くなって見やすくスッキリする事が一番のメリットです。

「/category/カテゴリ名/投稿名」

と表示されると若干鬱陶しいですよね。

今から「category」を消す方法を3種類解説するので、お好きな方法でスッキリさせちゃいましょう!

その① プラグインの「WP No Category Base」を使う

プラグインの「WP No Category Base」をインストールして有効化する方法です。
一番楽な方法です。

管理画面左メニューの[ プラグイン ] → [ 新規追加 ] → [ WP No Category Baseで検索 ]を実行します。
WP No Category Base (WPML)を探してインストール、有効化すれば完了です。
とてもお手軽に使えるのが嬉しいですね。
※クリックで拡大します。

不要な時は無効化、または削除で元通りにできます。
プラグインなのでわずかにサーバに負荷がかかるという欠点があります。

その② function.phpを設定する

function.phpに下記コードを追記する方法です。
子テーマのfunction.phpにちょちょいとコピペしてください。

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');

非プラグインでサーバ負荷もかからないので個人的にオススメです。
PHPに不慣れな方はその①のプラグインをオススメします。

その③ パーマリンクを設定する

ワードプレス管理画面左メニューの[ 設定 ] → [ パーマリンク設定 ]を触る方法です。
[ パーマリンク設定 ] → [ 共通設定 ] → [ カスタム構造 ]を下記に変更します。

/%category%/%postname%.html

あとはカテゴリベースに「.」を入力します。

まとめ

以上、Wordpress(ワードプレス)サイトのURLから「category」を消す方法でした。

その②の方法がプラグインを使わず、軽くて確実なので個人的にはオススメです。
ただPHPに不慣れな方はその①のWP No Category Base (WPML)をつかった方法が安全です。
負荷がかかると言っても微々たるものなので気にする必要はありません。

ではまた!