サイトや各種ページの所在を表す「URL」はSEOにも影響があるとされています。
ユーザーの視点から見て、現在どの位置にいるのかがわかりやすい、シンプルなURLでことがGoogleから推奨されています。
例えば、「https://example.jp/category/topics/test/12345.html」というURLであった場合、ユーザーからは、どのカテゴリに属しているページにいるのかがわかりにくいという状況になってしまいます。
そのため、よりシンプルに「https://example.jp/topics/12345.html」のような形にすると、topicsというカテゴリに属したページにいるということがわかりやすくなります。
URLの長さによって評価が変わることはないとされていますが、ユーザーの使いやすさ(ユーザビリティ)の観点からわかりやすいURLに変えることで、間接的にSEO効果を得ることができます。
ただ、WordPressの機能上、かならず「/category/」や「/tag/」というベースURLが挿入されてしまうため、この文字列を短くしたり、非表示にしたりすることで、シンプルなURLにすることができます。
今回はURLからカテゴリベースやタグベースの変更・省略する方法を、いくつか紹介していきたいと思います。
カテゴリベース・タグベースを変えるには?
サイトのURLを変える方法としては、主にWordPressでの方法が多いですが、次の3つになります。
①「パーマリンク」機能で設定する
②プラグインで除外設定をする
③function.phpにコードを追加して設定する
手軽で簡単なのはパーマリンク機能を使うことですが、特定条件下では利用できない場合があります。
そのため、汎用性に関してならば、プラグインの方が使いやすいとも言えるでしょう。
そして、「function.php」にコードを追加する方法は、難易度が高いものの、最も最適な方法になります。
では、それぞれの方法について、手順を解説していきます。
WordPressの「パーマリンク」で変更する
WordPressの「パーマリンク」機能では、日付入りのURLにしたり、投稿画面の「スラッグ」で設定した文字列をURLにしたりという設定が可能です。
こちらの機能で、自動的に挿入される「/category/」や「/tag/」を指定した文字列に変更することもできます。
WordPressの管理画面にログイン後、左側にあるメニューの「設定」をクリックすると、その下に各詳細メニューが表示されます。
そして、詳細メニューから「パーマリンク」の項目を選択すると、パーマリンクの各種設定内容が表示されます。
ここで、「オプション」の項目にある「カテゴリベース」と「タグベース」で文字列を変更できます。
例えば「/a/」と入力しておくと、「httpes://example.jp/category/xxx/」と表示されていた一覧ページが「httpes://example.jp/a/xxx/」と表示されます。
ただ、空白にすると、デフォルトの文字列が表示されるため、完全に表示させないようにすることは不可能です。
なお、個別ページについては、「オプション」のうえにある「共通設定」で変更可能です。
こちらにある「投稿名」もしくは「カスタム投稿」の項目であれば、カテゴリ部分を除いたURLや、「投稿ID」などを含んだURLにできます。
プラグインを使って非表示にする
こちらの方法では、「/category/」などの自動挿入される文字列を完全に非表示にすることができます。
タグを使用しておらず、カテゴリページのみが存在するのであれば、「No Category Base」というプラグインをインストールして有効化するだけで、「/category/」の部分をなくせます。
ただ、このプラグインはタグページには対応していません。
もしタグも利用しており、タグページも存在するのであれば、「WP No Base Permalink」というプラグインが便利です。
このプラグインを有効化すると、「パーマリンク」の設定画面にて、「WP No Base Permalink」の項目が追加されます。
ここにある「Disabled Tag Base」の右にあるチェックボックスにチェックをつければ、タグページにおける「/tag/」部分を消すことができます。
なお、「WP No Base Permalink」でカテゴリの非表示もできるため、どちらか片方のプラグインを使えば問題ありません。
ただし、どちらとも無効化した際には記事ページのURLも変わってしまうため、プラグインを有効化していたときのURLでは表示されなくなる場合があります。
この時は「パーマリンク」設定画面に移動し、何も変えることなしに「変更を保存」のボタンをクリックすれば、修正可能です。
function.phpを編集して変える
「function.php」というファイルにて、下記のコードを最下部などに追加することで、「/category/」の文字列を「/」に置き換えることができます。
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');
2列目にある「return str_replace(“/category/”, “/”, $link);」の部分が置き換えの指定になっています。
「/category/」の部分を「/tag/」に変更すれば、タグベースにも適用可能です。
また、2列目の「”/”」を別の文字に変更すれば、ベース部分を変更できますが、同様のことが「パーマリンク」設定で可能ですので、わざわざコードを書き換えて変更する必要もないでしょう。
また、パーマリンクの「オプション」におけるそれぞれの項目で、何か文字が入っていると反映されないので、かならず空白の状態にしておきましょう。
それぞれの方法のメリットとデメリット
URLを変更する方法として、3つの方法をお伝えしましたが、それぞれメリット・デメリットがあります。
パーマリンクでの変更によるメリット・デメリット
パーマリンクでの変更によるメリットとしては、管理画面から設定できる手軽さと、プラグインを用いないためにサーバーへの負荷がかからないことが挙げられます。
ただ、パーマリンクによる設定の場合、3階層以上の長さを持つURLに適用させようとすると、不具合が起こることがあるというデメリットが存在します。
先に例として挙げた「https://example.jp/category/topics/test/12345.html」は「ドメイン/カテゴリベース/親カテゴリ/子カテゴリ/ページ」という5階層のURLになっているため、パーマリンクによる変更には適していません。
「https://example.jp/category/12345.html」のように「ドメイン/カテゴリベース/ページ」と3階層になっているURLであれば、パーマリンクでの変更も可能ですので、カテゴリ構造は確認しておきましょう。
また、パーマリンクでの変更を行った場合は、カテゴリ名が表示されていた部分に「/xxx/」のように設定した文字が表示されることになります。
デフォルトの状態に比べると省略されてはいるものの、完全に消せるわけではなく、見栄えの問題ではありますが、あまり良い印象にはならないでしょう。
プラグインでの変更によるメリット・デメリット
プラグインを使用した場合は、パーマリンクでの変更と同様に手軽で、またさまざまな形に調整できるという高い汎用性があります。
しかし、プラグインを使用することにより、サーバーとの通信で負荷がかかり、サイトの表示速度などに影響が出てきます。
画像圧縮やセキュリティなど、他に多くのプラグインを利用していると、負荷はさらに大きくなるため、管理画面の操作で反応が遅くなるなどの不具合も出てくる可能性もあります。
サイトの表示速度はSEOの評価にも関わることであるため、もし他にも多くのプラグインを使用しているのであれば、パーマリンクによる設定・もしくはfunction.phpへのコード追加による設定の方が良いでしょう。
function.phpによる設定のメリット・デメリット
パーマリンク機能による設定とプラグインによる設定のメリットを合わせたものがfunction.phpでの設定になります。
自由にURLの形式を変更できることに加え、プラグインを使用していないので、サーバーへの負荷もありません。
SEOとユーザビリティ両方の観点で見ると、最適な方法であると言えます。
ただ、その分、プログラム言語の「php」をある程度理解していなければいけないという難易度の高さがデメリットになります。
function.phpは機能を司るphpファイルになるため、下手に編集してしまうとサイトが表示されなかったり、使用できていた機能が使えなくなったりという不具合が出る可能性があります。
function.phpのファイルを編集する場合には、かならずバックアップを取るようにしましょう。
一番リスクの無い方法で実装するように
方法をいくつか紹介していきましたが、初心者であるほど、難しい方法を取るリスクが大きくなります。
WordPressでサイトを作ることは簡単ではあるものの、そこからカスタマイズする際には最新の注意を払わなければいけません。
特に今回においては「function.phpを編集する方法」が一番リスクの高い方法になります。
コード例を記載してありますが、挿入する場所を間違えてしまうと、その他の機能が動かなくなることや、phpのバージョンによっては上記の例では反映されないこともあるでしょう。
そのため、やりたいことに合わせて、最も低リスクで確実に反映できる方法を選ぶことをおすすめします。
最近のコメント
コメントなし