WordPressのパーマリンク変更した方法と注意点(/%category%/%postname%/から/%postname%/へ)

ブログ管理

wordpressのパーマリンクを変更。簡単にプラグインでリダイレクトできました。

このブログのURL(パーマリンク)は「ドメイン名/カテゴリー名/記事名」で構成していましたが、「ドメイン名/記事名」の形に変更しました。

WordPress管理画面のパーマリンク設定を「/%category%/%postname%/」から「/%postname%/」へと変更したのですが、これだけだと私のブログではちょっとした問題が発生しました。

[st-midasibox title=”ざっと説明” fontawesome=”” bordercolor=”” color=”” bgcolor=”” borderwidth=”” borderradius=”” titleweight=”bold”]

すでに「/%postname%/」の設定をしていても自動で301リダイレクトにならない場合もある

パーマリンク変更後に一括で301リダイレクトをしたいならプラグイン「Permalink Redirect」が簡単

パーマリンク変更方法とプラグイン「Permalink Redirect」を使った301リダイレクトの設定方法を紹介

[/st-midasibox]

パーマリンク変更は「404エラー」になるので気軽にしちゃダメ

パーマリンクの変更はページ(記事)のURL(アドレス)が変わってしますので、変更前のURL(アドレス)に訪れるとページは表示されません(404エラー)。

外部のサイトからリンクされている場合リンク切れが起こる(404エラーページが表示される)

Googleの検索結果で表示される時に変更後のURLに修正されるまで時間がかかる。
つまり、修正されるまでは旧URLにリンクされているのでずーっとリンク切れ(404エラーページが表示される)

ページは存在しているのに訪れた人はそのページにたどり着けないことになってしまいます。

なのでパーマリンクの変更はある程度の知識は必要になります。

例えば、変更作業中に問題が起こった時に変更前の設定に戻せる方法を知っているくらい。

ですが「/%category%/%postname%/」から「/%postname%/」への変更について調べているあなたなら問題ないと思います。

すでにパーマリンク設定を「基本」から「カスタム構造」に変更していますもんね。

WordPressにはパーマリンク変更だけで自動で301リダイレクトさせる機能がある

WordPressにはカテゴリースラッグを変更した場合など自動で変更後のURL(カテゴリースラッグ変更後)にリダイレクトしてくれます。

実は、パーマリンクを「/%category%/%postname%/」から「/%postname%/」へ変更する場合もWordpressの自動の301リダイレクトの条件にあてはまるんです。

ただ、この自動の301リダイレクト、子カテゴリーに属する記事(ページ)には適応されない

パーマリンクに子カテゴリースラッグが入ると301リダイレクトがされない

子カテゴリースラッグが入る形とは、このブログで説明すると

https://cielosinfin.com/海外旅行/グアテマラ/記事スラッグ/

といった形です。わかりやすく日本語表記していますが当ブログのスラッグはすべてアルファベットです。

親カテゴリーが「海外旅行」で子カテゴリーが「グアテマラ」。

パーマリンクを「/%category%/%postname%/」にしていると、記事投稿のカテゴリー選択で子カテゴリーだけにチェックを入れても、パーマリンクは親カテゴリースラッグが加わります

おそらくカテゴリースラッグが2つ以上URL(パーマリンク)に含まれていると自動の301リダイレクトはされません。

WordPress管理画面のパーマリンク設定の変更だけをして、Google検索で表示された当ブログのリンクから記事へ進む実験をしたところ

親カテゴリーの記事はリダイレクトされ「https://cielosinfin.com/記事スラッグ/」のかたちでページが表示され、一方、子カテゴリーの記事は404エラーページが表示されました。

親カテゴリーだけでブログを管理されている方

WordPress管理画面のパーマリンク設定を「/%category%/%postname%/」から「/%postname%/」へと変更するだけでOK!

Wordpress管理画面パーマリンク設定

投稿名」を選ぶだけ。変更を保存は忘れずに

ちなみに「投稿名」を選ぶと「カスタム構造」の「/%category%/%postname%/」は「/%postname%/」と切り替わります。

子カテゴリー以下(孫なども)を使ってブログを管理されている方

子カテゴリー以下のページは手動(プラグインや.htaccessなどを使った方法)で301リダイレクトするようにします。

プラグイン「Permalink Redirect」を使ってパーマリンク変更と記事をまとめて301リダイレクトさせる方法

リダイレクトさせるプラグインは多くあるのですが、ほとんどが記事ひとつひとつ設定していかないといけません。※正規表現をご存知の方はその限りではありません。

ブログ全体の記事をまとめてリダイレクトさせたいとき、特にパーマリンク設定を変更した時にはプラグイン「Permalink Redirect」が簡単でした。

プラグイン「Permalink Redirect」のインストールからブログ全体の記事をまとめてリダイレクトさせた方法を紹介していきます。

1. プラグイン「Permalink Redirect」のインストール

プラグイン「Permalink Redirect」はWordpress管理画面のプラグインの新規追加の検索ではヒットしないようなのでサイトからダウンロードしていきます。

プラグイン「Permalink Redirect」をダウンロード

プラグイン「Permalink Redirect」のダウンロードサイト

プラグインPermalink Redirectのダウンロード

phpファイルまたはzipファイルのどちらかをダウンロードします。

zipファイルの場合はダウンロード後に解凍します。解凍するとphpファイルとreadme.txtがあります。

ダウンロードしたphpファイルを修正

ダウンロードした ylsy_permalink_redirect.php を修正します。

たった1か所、数字「302」を「301」に変えるだけなので全然難しくありません。

では、ダウンロードした「ylsy_permalink_redirect.php」を開いてください。

プラグインPermalink Redirectを修正

406行目の「$status=302」を「$status=301」に変更します。

302と301の違いはリダイレクトの意味合いです。

302は一時的なリダイレクト(転送)、301は恒久的なリダイレクト(転送)の意味合いがあります。

今回のパーマリンク変更は恒久的な意味合いなので「301」にしておきます。

ylsy_permalink_redirect.php をアップロードして有効化

修正が終わったらFTPなどを使ってylsy_permalink_redirect.phpをアップロードします。

アップロード先は「/wp-content/plugins/」です。

普通はpluginsフォルダに各プラグイン専用フォルダが存在するのですが、プラグイン「Permalink Redirect」の場合はylsy_permalink_redirect.phpをpluginsフォルダ直下にアップロードするみたいです。

[st-kaiwa1]専用フォルダを作っても問題ない思うけど面倒だったので試していません。ごめんなさい。[/st-kaiwa1]

アップロードが完了したら、Wordpress管理画面の「プラグイン/インストール済みプラグイン」から「Permalink Redirect」を有効化してください。

2. パーマリンク設定を変更

プラグイン「Permalink Redirect」をインストール、そして有効化が完了したので

いよいよパーマリンクの変更をしていきます。

Wordpress管理画面パーマリンクを設定

投稿名」を選んでください、そして変更を保存は忘れずに

「/%category%/%postname%/」から「/%postname%/」へと変更する場合、すでにすべての記事で記事スラッグは設定されているはずなので作業は少ないです。

「変更を保存」をクリックした時点で記事のURL(パーマリンク)は設定したように変更されます。

3. プラグイン「Permalink Redirect」で301リダイレクトの設定

プラグイン「Permalink Redirect」のリダイレクトの設定はパーマリンクで設定した「%category%」「%postname%」といったタグが使えます。

[st-kaiwa1]正規表現を知らなくても、まとめてリダイレクトできるでわかりやすい[/st-kaiwa1]

プラグインPermalink Redirectでパーマリンクのリダイレクト設定

「Old permalink Structures」に変更前のパーマリンクの設定を入力します。

私の場合は「/%category%/%postname%/」です。

変更後のパーマリンクは自動で記載されているので一応確認してから「Update Options」ボタンをクリックします。

以上でプラグイン「Permalink Redirect」を使ってパーマリンクの変更と記事をまとめて301リダイレクトは完了です。

さいごに

私の場合はすでに「/%category%/%postname%/」のパーマリンクの設定でこのブログを運用していたので、「/%postname%/」にパーマリンクを変更するのにそこまで苦労はしませんでした。

まぁ子カテゴリーの記事が自動リダイレクトされなかったときは、ちょっとパーマリンク変更をあきらめかけましたが。。。

簡単にまとめてリダイレクト設定できるプライグインがあったのでよかったです。

雑記ブログだと知らず知らずにジャンルが増えたり、または新たなジャンルを作ってまとめたくなったりして、URL(パーマリンク)のことを考えたらカテゴリスラッグが邪魔になってきます。

なので「ドメイン/記事スラッグ」のパーマリンクの設定が無難な気がします。

[st-kaiwa1]ところで、パソコンって何使っています?やっぱ流行のmacですか?私はmacと迷ってmouseコンピューターのノートパソコン買いました。[/st-kaiwa1]

 

タイトルとURLをコピーしました