突然ですが当サイト、
パーマリンクを変更しました。
(※記事ごとに設定するURLのこと)
具体的にはパーマリンクの構造を「日付+投稿名」から「投稿名」に変えて、ずっとずっと悩んでいた日付を削除した形です。
変更前 turicco.com/yyyy/mm/dd/post-name/
変更後 turicco.com/post-name/

すっきり~
そして現在運営しているブログは全3サイトあり、すべてのサイトを変更。
- ルートドメイン(当サイトです)
- サブドメイン
- サブディレクトリ
同じようにパーマリンクを最初になんとなく設定してしまい、途中で変えたい!と悩んでいる方は一定数いるのではないでしょうか?
調べると「パーマリンクは絶対に変えるべきではない」と書かれていることがほとんど。
もちろんリスクが大きいからですが…
できるかできないかで言うならば、途中で変更することが「できる」んです!
この記事ではパーマリンクを途中で変更したい人向けに、変更の仕方から301リダイレクト(転送)、内部リンク置き換えまでを分かりやすく解説します。
検索上では見つかりにくい、サブドメインやサブディレクトリも合わせて変更する例をまとめてご紹介しますので、複数サイトを運営されている方にもおすすめです。
それではご覧ください。
パーマリンクとは
パーマリンクはWebサイトのページごとに個別設定されるURL全体のこと。
そのURLの末尾部分を「スラッグ」と言います。

パーマリンクの構造
ワードプレスではパーマリンク(スラッグ部分)の構造を下記の6種類から選べるようになっています。
- 基本
- 日付と投稿名
- 月と投稿名
- 数字ベース
- 投稿名
- カスタム画像

パーマリンクを変更しようと思ったきっかけ
サイト開設時にパーマリンクを設定した後は、構造を変えないことが前提となります。

でも私は変えたくて仕方なかった!
当サイトはとある理由で【日付】+【投稿名】を選択しました。
例)https://turicco.com/2000/01/01/post-name/
当初はよく考えて良かれと思って入れた日付だけどこんなことになるとは…
そこでパーマリンクに日付があるデメリットと、途中で変更するデメリットを比較しました。
パーマリンクに日付が含まれるデメリット
※SEOとは「検索エンジン最適化」を意味し、Googleをはじめとする検索エンジンからの流入数やCV数を増やすためにおこなう取り組みのこと
パーマリンクを変更するデメリット
どちらも悪影響が大きくしばらく悩んでいたのですが、結局は変更することに。
- この日付があるままだとずっと悶々とした思いで運営することになる
- まだ記事数が少なく少しでもリスクが少ないうちに変えておこう
デメリットを比較した上で、この2点が変更を決断した理由です。
パーマリンクを変更する手順
ここからは具体的なパーマリンク変更手順について。
流れとしては下記の3ステップで進めます。
- STEP1パーマリンクを変更
ワードプレスの設定から簡単に変更できます。
- STEP2301リダイレクト 大事!
リンク切れ防止のため、旧URLから新URLへ転送します。
- STEP3内部リンクURL置換
サイト内の内部リンクURLをプラグインを使って置換します。
パーマリンクを変更
管理画面の「設定」→「パーマリンク」から変更します。

「日付と投稿名」→ 「投稿名」
変更自体は一瞬で終わります。が…

このままでは大変なことが起こってしまうのはお分かりいただけるかと思います。
301リダイレクト/リダイレクトコードを取得
ここで終わってしまうとNOT FOUND(404)、つまりページが見つかりませんの嵐!!
新しく設定したURLへ自動的に転送する301リダイレクトが必要になります。
ちなみにリダイレクトには「301リダイレクト(恒久的)」と「302リダイレクト(一時的)」の2種類あり、ずっとここにリダイレクトしますという意味で301リダイレクトです。
サイトを開設後にhttps化(SSL化)した後にも同じように301リダイレクトをおこなっているはずですね。SEOにも大きく影響する部分なのでしっかりと設定しておきましょう。
この工程が一番重要なポイント。
プラグインか?.htaccessを使う方法か?
301リダイレクト(転送)する方法は2つ。
- プラグインを使う:「Redirection」等
- 「.htaccess」(ドットエイチティーアクセス)ファイルを使用する
プラグインを使う方法
- 簡単に操作できる
- リダイレクトしている間はプラグインを削除できない
.htaccessを使う方法
- プラグインに依存しない
- ファイルを編集するために高度な知識が必要
301リダイレクトをするにあたり、プラグイン「Redirection」等を使っておこなうこともできますが当サイトでは「.htaccess」(ドットエイチティーアクセス)ファイルを使用する方法を選択しました。

プラグインは増やしたくないので自力でできることが理想!
最大のメリットはプラグインに依存しないことの反面、デメリットは.htaccessファイルを編集するのに高度な知識がいるということ。
リダイレクトコードの書き方について調べた結果、自分でコードが書けなくてもリダイレクトを生成できるツールがあることが分かりました。
リダイレクトコードを取得できるツール
今回利用したのはこちらです。
パーマリンクの構造を変更したときにリダイレクトを生成してくれる素晴らしいツール。

- サイトのURL
- サブディレクトリがある場合はディレクトリ名
- 古いパーマリンクの構造を選択(日付と名前)
この3ヶ所を入力してリダイレクト生成をクリックすると自動的にリダイレクトコードが生成されるんです。
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(?!page/)(.+)$ https://turicco.com/$4

これはすごい!当サイトは3サイト分のリダイレクトコードを取得しました。
301リダイレクト/.htaccessに転送の記述をする
あとは.htaccessに転送の記述をします。
ここからは当サイトが利用しているエックスサーバーでの手順となります。
- ドメイン、サブディレクトリ→サーバーパネルから
- サブドメイン→ファイルマネージャーから
設定する場所に違いがあるので注意しましょう。また転送やアクセス制御など大切な内容を記述するデリケートな場所のため、設定時は細心の注意が必要です。
ルートドメイン、サブディレクトリの場合
エックスサーバーのサーバーパネルから行います。
- STEP1エックスサーバー/サーバー管理にログイン
- STEP2ホームぺージ:.htaccess編集をクリック
- STEP3ドメインを選択し、.htaccess編集タブを開きます
- STEP4リダイレクトコードを入力
既存のコードを消さずにリダイレクトコードを追加します。(先頭に)
サブドメインの301リダイレクトを設定
サブドメインの301リダイレクト設定は、 エックスサーバーのファイルマネージャーから行います。

サーバー管理で設定してもリダイレクトができなくてしばらく戸惑いました。
- STEP1エックスサーバー→ファイル管理画面に入る
- STEP2サブドメインの.htaccess編集画面を開く
①「ドメイン」→②「public_html」→③設定したい「サブドメイン」→④「.htaccess」→⑤「編集」をクリック(上部メニュー)
- STEP3.htaccessを記述する
既存のコードを消さずに、リダイレクトコードを記述します。(先頭に)
301リダイレクトの確認
301リダイレクト設定はこれで完了です。
ページが変更した新しいURLへ正常にリダイレクト設定できているか確認しておきましょう。
内部リンク置換/プラグイン「Search Regex」を使用
最後の仕上げとして内部リンクのURLを置き換えます。
ブログカードの場合、リダイレクトが正常におこなわれていればクリックしてのリンクは動作するのですが、旧URLのままだとアイキャッチ画像と記事タイトルが取得できません。(NOT FOUNDと表示されていたような)
「Search Regex」はテキスト置換ができるプラグイン。

記事内に書かれている日付入りURL(パーマリンク変更前)を検索して年月がない新URL(パーマリンク変更後)に置き換える作業をおこないます。
このプラグインには失敗したらやり直しができないリスクがあり、個人的には記事数が少ない場合は手作業で修正でもよいかと思います。また、Search Regexを使っても記事数が多い場合に一括で置換されずに残ってしまう事例があるので最終確認は必要です。

- 右側の記号∧をクリックし「正規表現」にチェックを入れる
- 検索:abc.com/[0-9]{4}/[0-9]{2}/[0-9]{2}
- 置換:abc.com
- 確認して検索をクリック
※abc.comのドメイン部分は自分のサイトに合わせてください
※他サイトの古い記事では|abc.com/[0-9]{4}/[0-9]{2}/[0-9]{2}|のように||で囲んで紹介されているケースもありますが、バージョンアップにより現在は必要ありませんのでご注意ください。
補足/古いパーマリンク(スラッグ)をプラグイン「Slugs Manager」で削除
パーマリンクを変更後はデータベースに古いパーマリンク(スラッグともいいます)が残っているので裏の方をすっきりさせたいときはプラグインで削除できます。
古いスラッグを削除するプラグイン:「Slugs Manager」
使い方は簡単なのでSlugs Managerの使い方をご覧ください。

プラグイン「Search Regex」「Slugs Manager」ともに使用後は無効化または削除して問題ありません。
余談/プラグイン「Search Regex」に起因するアクシデント発生
当サイトでは以前、新たにサブディレクトリを作成したときにプラグイン「Search Regex」を使ってURL置換を試みたのですが、操作ミスがあったためか処理途中で画面がフリーズしてしまい。
サイトが壊れてしまった!!
嫌な予感は的中し…サイトが壊れるまでに至ってしまいました……


なんでもリビジョンを削除するために入れていたプラグインWP-Optmizeがエラーを起こしているとのことで、管理画面にも入れなくなったのでリカバリーモードでプラグインの削除を試みるも「削除できません」と…
それならばとFTPソフトから直接プラグインを削除。
そうしたらサイト画面がすべて真っ白に…
致命的なエラーのメールが立て続けに何通も届き手に負えない状態となりました。泣

もうダメだ
頼るべきはエックスサーバーのバックアップ
最終的に頼ったのはエックスサーバーの自動バックアップ。

半日ほどかかりその間は気が気じゃない思いで過ごしましたが、データベースとMySQLの両方を復元することで無事にサイトが戻ってきました。
ブログ存続の危機からの復活、自動バックアップと復元も容易なエックスサーバーには感謝ばかりです。復元するには以前は有料(5000円)でしたが2020.9~現在は無料となっているのもありがたい限り。
これを機にもうひとつ入れていたバックアップ用のプラグインを削除し、サーバーバックアップに一本化しました。普段はなんとなく自動バックアップの存在を意識する程度でしたが、サイトが壊れるという不測の事態が起こったときに大切さを痛感する出来事となりました。

「Search Regex」といった可塑性(失敗しても元に戻せない)のプラグインを使うときは慎重に、またバックアップは必須です!!!
まとめ/無事にパーマリンク変更が終わりました
この記事では、パーマリンクの変更方法について解説しました。
SEOを考えると本当なら途中で変更するのは避けた方が無難ですが、変更して1ヶ月の検索流入は下がることなく横ばいを維持しております。
URLのほかSEO評価も合わせてきちんとリダイレクトはされている模様。
今回のパーマリンク変更は3サイト同時作業となり、サブドメイン、サブディレクトリと少し手順が違い戸惑うこともあったので同じように悩んでいる方の参考になれば幸いです。

現在、URLがすっきりしてとても快適です。
Comment