
皆さんお気づきでしょうか。Naiba サイト構築ノートのカテゴリURLには「category」が含まれていません。例えば https://blog.naibabiji.com/tutorial はデフォルトのURLより短く見えます。
一方、あなたのカテゴリURLには「category」が含まれているはずです。カテゴリURLから「category」を削除するにはどうすればいいでしょうか?3つの方法があります。
方法一:カテゴリーディレクトリのプレフィックスに.(ドット)を使用する。
WordPress管理画面で、カテゴリーディレクトリのプレフィックスを.(英文のドット)に設定し、保存するだけです。
方法二:コードをテーマファイルに追加する
以下のコードをコピーして、テーマのfunctionsファイルに貼り付け、保存してください。この方法は「我爱水煮鱼」ブログに由来します。
add_filter('request', function($query_vars) {
if(!isset($_GET['page_id']) && !isset($_GET['pagename']) && !empty($query_vars['pagename'])){
$pagename = $query_vars['pagename'];
$categories = get_categories(['hide_empty'=>false]);
$categories = wp_list_pluck($categories, 'slug');
if(in_array($pagename, $categories)){
$query_vars['category_name'] = $query_vars['pagename'];
unset($query_vars['pagename']);
}
}
return $query_vars;
});
add_filter('pre_term_link', function($term_link, $term){
if($term->taxonomy == 'category'){
return '%category%';
}
return $term_link;
}, 10, 2);方法三:プラグインを使用する
もしあなたがWPJAM Basicこのプラグインを使用している場合、プラグイン自体にこの機能が備わっています。
WPJAM Basic が気に入らない場合は、インストールできます。No Category Baseこのプラグインをインストールすることもできます。このプラグインは、マルチサイトモードでもカテゴリーのcategory URLを除去する設定をサポートしています。
Remove Category URLというプラグインもカテゴリーのcategoryリンクを除去できます。https://wordpress.org/plugins/remove-category-url/
どの方法がより使いやすいですか?
明らかに、方法1が最も使いやすいです。
3つの方法をNaibaがテストしましたが、違いはありません。ただし、sitemapではすべて次のように表示されます。
https://blog.naibabiji.com/./vps-you-hui
このように./が付いた形式で表示されますが、これは百度やGoogleのインデックス登録に影響せず、サイト上の通常の表示にも影響しません。表示されるのはサイトマップの中だけです。
