WPマガジン
WP-MAGAZINE  wordpress  wordpressのURLに入るcategoryの対処法
6623 views

wordpressのURLに入るcategoryの対処法

wordpressで起こってしまうURL構造のトラブルの1つの、 URL構造の中に「/category/」が入ってしまう件についてのお話と対処方について解説していきます。
wordpressのURLに入るcategoryの対処法のイメージ

URLに入るcategoryの削除の3つの方法

wordpressで起こってしまうURL構造でのトラブルの1つによく挙げられるのが、 URL構造の中に「/category/」が入ってしまう件です。

このページでは、URLに入るcategoryを取り除く方法について紹介していきます。

wordpressの仕様のおさらい

wordpressでは、デフォルトで「投稿」と「固定」の2種類のページの作成タイプがあります。 「投稿」で作成したページは、カテゴリーで紐づきされます。

ですので、「投稿」で作成したページのURLは「ドメイン/カテゴリー名/投稿作成ページのスラッグ」といった形になります。
(※パーマリンク設定がカスタム構造の「/%category%/%postname%/」の場合)

しかし、カテゴリーの記事一覧(archive.phpやcategory.php)のURLは「ドメイン/category/カテゴリー名/」といった形で自動で「category」というパーマリンクが付与されて表示されてしまいます。

このcategory部分が邪魔になっています。理想の形は「ドメイン/カテゴリー名/」になります。

それを解消する方法として3種類あります。

  • プラグインのインストール
  • パーマリンクの設定
  • functions.phpにコードを記述

それでは、以上の3種類の方法についてご紹介していきます。

category問題をプラグインを使って解消する

category問題を解消するプラグインは、「No Category Base (WPML)」です。
(※過去は「WP No Category Base」でした)

No Category Base (WPML)のインストール

WordPressの管理画面の左側のメニューにある [プラグイン] > [新規追加]から、プラグインの検索ページに移動をし、 ページ上部にある検索窓にプラグイン名を入力し、検索を行います。 プラグイン名は「No Category Base (WPML)」です。

No Category Base (WPML)のインストール

ファイルを自分でアップロードする場合は、以下のページからプラグインのファイル一式をダウンロードできます。
アップロード場所は、サーバにあるwordpressディレクトリ内にある「plugins」内になります。

プラグインのアップロード場所はpluginsディレクトリ

No Category Base (WPML)の設定方法

設定方法はいたって簡単です。設定というほどの設定はなく、インストール後に有効化をするだけで「category」が自動的に削除されます。

もし、プラグイン以外の方法に変更する場合は、有効化している「No Category Base (WPML)」を停止にしてください。

プラグインで対処するメリットとデメリット

メリットは、インストールして有効化するだけでURLからcategoryを削除可能という、設定が簡単という点です。

デメリットとしては、多少サーバに負荷がかかる点と、プラグインの更新が途絶えたらwordpressの新しいバージョンに対応しなくなることや、セキュリティホールになる可能性があります。

パーマリンクの設定だけでも変更可能

先程、プラグインでの設定についてお伝えしましたが、もっと簡単に行える方法があります。

worpdressの管理画面にあるパーマリンクの設定を変更するだけでURLからcategoryを取り除けます。

パーマリンクにドットの設定

ダッシュボードの左側のメニューにある[設定]>[パーマリンク設定]からパーマリンク設定画面に移ります。

カテゴリーベースという項目に「.(ドット)」を設定するだけです。

パーマリンクの設定で対処するメリットとデメリット

メリットは、こちらも設定が簡単という点です。

デメリットですが、この設定には問題があります。

サイトがシンプルな3階層の場合は問題ないようですが、 「ドメイン/カテゴリー/記事ページ」の形から外れてしまうと不具合が起きてしまうようです。 ですので、カテゴリーの親子では不具合のがでる可能性ありです。

ですので、この設定を使う場合は、サイトが3階層の場合でご使用いただければと思います。

これらの問題点を回避する方法は次の方法になります。

ノーカテゴリーをfunctions.phpで修正

紹介した2つの方法だといくつか問題点があり、それを回避したいという人やプラグインはあまり入れたくないという方もいるかと思います。 最後の3つ目の方法として、functions.phpに記述して修正する方法について紹介していきます。

functions.phpに以下のコードを追記してください。

functions.phpに追記するコード

以上で、ファイルを更新すると、URLある/category/を/に置換して、表示をなくしてくれます。

注意点としましては、functions.phpに記述する方法でノーカテゴリーをする際 パーマリンク設定でカテゴリーベースに「.」を設定している場合は、「.」を削除して何も設定がない状態にしてください。

このページのまとめ

対処法 メリット デメリット
プラグイン
「No Category Base (WPML)」での対処
設定が簡単。 ・サーバに負荷がかかる。
・プラグインの更新が途絶えたら危険。
パーマリンク設定での対処 設定が簡単。 ・3階層以上、カテゴリーの親子では不具合の可能性あり。
・URLが自動挿入される箇所のcategoryに当たる部分に/./と入ってしまう。
functions.phpでの対処 今のところこの対処が完璧。 PHPの記述に慣れている人向け。
 

こちらの記事もよく読まれています

最新の記事

wordpress
wordpressのアイキャッチ関連の便利なコード一覧
wordpress
記事内・投稿・固定ページでテンプレートファイルを呼び出す方法
wordpress
wordpressの個別のテンプレートの設定
wordpress
wordpressのURLに入るcategoryの対処法
wordpress
カスタムフィールド系プラグインならAdvanced Custom Fields
wordpress
wordpressのセキュリティ
基礎知識
パンくずリストについて
wordpress
パンくずリストを表示するプラグイン Breadcrumb NavXT
wordpress
WordPressの管理画面へのログインページにBasic認証を設定
基礎知識
Basic認証とは

人気の記事

WP-MAGAZINE
WP-MAGAZINE
7627views
1
wordpress
wordpressのURLに入るcategoryの対処法
6623views
2
wordpress
wordpressのアイキャッチ関連の便利なコード一覧
2695views
3
wordpress
WordPressの管理画面へのログインページにBasic認証を設定
2288views
4
お問い合わせ
お問い合わせ
1368views
5