パーマリンクの設定、後悔してますか?
WordPressを最初にインストールしたとき、よく意味も分からずになんとなく設定しました。
変更する前は「日付と投稿名」でしたが、「投稿名」に変更しました。
変更前 | https://walkworkblog.com/2020/06/13/permalink-change |
変更後 | https://walkworkblog.com/permalink-change |
なぜパーマリンクを変更したのかというと、URLに日付がついていると過去に書いた記事が都度更新していても、古く見えてしまうと思ったからです。
行うことは2つです。
- WordPressの設定変更
- .htaccessファイルを編集
注意点や作業手順を解説します。
目次
パーマリンクを変更する際の注意点
作業自体は5~10分で行えますがパーマリンクの設定だけを変更すると大変なことになるので注意が必要です。
- 検索エンジンの評価が下がる
- 変更前のURLにアクセスした際にページが見つからなくなる
検索エンジンからの評価が下がる
URLはインターネット上の住所のようなものです。
パーマリンクだけを変更してしまうと検索エンジンからの評価は変更前のURLに対してだったので、新しいURLでは何も評価されていません。また1からやりなおしです。
具体的には「パーマリンク 変更」で検索をかけた時に、上から3番目くらいに検索結果が表示されている記事があったとします。
パーマリンクを変更すると、今まで3番名に出ていたURLが存在しなくなってしまい、いずれは検索結果からも消えます。
新しいURLは何も評価されていないので、検索結果で上位にはでなくなります。
何日か待っていれば、また上から3番目に来るかもしれません。
ただ、元に戻る保証はありません。
変更前のURLにアクセスした際にページが見つからなくなる
変更前のURLにアクセスすると、ページが存在しない旨のメッセージが表示されてしまいます。
内部や外部からのリンク先が、存在しないページへ遷移することになります。
他のブログやTwitterなど、外部からリンクを張られている場合、当然パーマリンクが変更される前のURLが指定されています。そのリンクがクリックされると、せっかくアクセスしようとしてくれているのに存在しないページが表示されてしまいます。
外部からだけではなく内部、自分のブログ内でほかの記事に誘導している場合も、存在しないページが表示されてしまいます。
被リンクによって検索エンジンの評価が高くなることがあります。
パーマリンクだけを変更してしまうと全部途切れてしまって、これまで積み上げたものの意味がなくなってしまいます。
301リダイレクトをさせるようにする
検索エンジンの評価がやり直しになることや、他のブログやTwitterのURLにアクセスした先が存在しないということを避けるために、301リダイレクトをさせるという方法があります。
変更前のURLがクリックされた際に、自動的に新しいURLに飛ばすことができます。
「https://walkworkblog/2020/06/13/pamalink_change/」と指定したら勝手に「https://walkworkblog/pamalink_change/」に飛ばしてくれるのです。
さらには、検索エンジンの評価が新しいURLに引き継がれるのです。
パーマリンクを変更する具体的な手順
ここから先は自己責任でお願いします。FFFTPや.htaccessについてある程度分かっている前提で手順を書いています。
.htaccessをバックアップ
FFFTPなどのFTPソフトを使用してWordPressインストールフォルダにある.htaccessを適当場所に念のためバックアップを取っておきましょう。
.htaccesにリダイレクトコマンドを記述
バックアップを取ったファイルとは別に.htaccessをコピーして編集して以下のリダイレクトコマンドを記述します。
<IfModule mod_rewrite.c>
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)$ /$4 [R=301,L]
</IfModule>
僕の場合は、SSL化の対応で別のRewriteRuleが書いてあったので、その下に追加しました。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)$ /$4 [R=301,L]
</IfModule>
パーマリンク変更
ダッシュボード>設定>パーマリンク設定
「日付と投稿名」になっているのを「投稿名」に変更し「変更を保存」ボタンを押してください。
変更を保存した後は、変更前のURLを指定するとページが見つからない旨のメッセージが表示されます。
.htaccesをアップロード
先ほどリダイレクトコマンドを追記した、.htaccesをWordPressのインストールフォルダにアップロードし、上書きします。
試しに日付付きのURLにアクセスしてみます。
例えば、日付ありの「https://walkworkblog.com/2019/10/12/myprotein-sale/」とURLを入力してアクセスした際に、日付なしの「https://walkworkblog.com/myprotein-sale/」に自動的に飛んで、今まで通りページが表示されれば成功です。
内部リンクのURL書き換え。
まだ終わりではありません。
最後に自分のブログ内でほかの記事に誘導しているリンクを書き換えます。
search Regexというプラグインを使用すると一括で文字を置き換えることができます。
僕の場合はなぜか正規表現で検索してもなぜか1件も引っかからなかったので、仕方なく100ページ程度を1ページずつ内部リンクを張っているか確認して、すべて手作業で書き換えました。
まとめ
10分程度で作業は終わりますが、検索エンジンの評価や、外部からのリンクに影響するので、慎重に作業を行いたいですね。