WordPressのパーマリンクをSEOの影響を受けずに簡単に変更する方法

WordpressのパーマリンクをSEOの影響を受けずに変更する方法

このブログをはじめたときは、SEOの知識もなかったので、パーマリンク(記事のURL)を重複しないようにと、
「月と投稿名」の形式で設定していました。

https://dot1.tv/2017/04/itunes-music-delete/

という感じです。なんかやぼったいですし、更新して新しい情報にしても古い感じがしてしまいますね・・

そこで、googleの推奨するURL構造「できるだけシンプルにわかりやすくすること」というルールにのっとって、パーマリンクを変更したいと思います。

どのようなパーマリンクが理想か?

「https://dot1.tv/カテゴリー/投稿名」の形式が構造的にも、またURLを見てページの情報が連想しやすいので理想的です。

ですが、カテゴリーは構造を変更したい場合がよくあるので、今回は「https://dot1.tv/投稿名」の形式にします。

上記のページですと、https://dot1.tv/itunes-music-delete/にします。

ホームページを立ち上げる前から構造をしっかりと決めて、カテゴリーの変更がない場合は「https://dot1.tv/カテゴリー/投稿名」の形式にした方がよいでしょう。

パーマリンクの変更手順

では、実際にパーマリンクを変更するための手順です。
パーマリンクを変更することの最大の障害はURLが変わってしまうこと

当然ですが今までの被リンク(他のウェブサイトやFacebook等のSNSからのリンク)やブックマーク等は古いURLにアクセスします。パーマリンクを変更するとURLが変わるので、アクセスされても「ページが見つかりません」となってしまいます。

それを防ぐために、古いURLにアクセスされた際に自動的に新しいURLにアクセスするようリダイレクト(自動転送)を行います。

リダイレクト(自動転送)

リダイレクトすることにより、googleにこっちのURLに変ったよと通知するとともに、ユーザーも今まで通りページが表示されるのでURLが変わったことを意識させることもありません。

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

まず初めに、古いURLから新しいURLへ自動転送(リダイレクト)してくれるPermalink Redirect というプラグインをダウンロードします。

WordPress内のプラグイン検索では出てきません。
ZIP版でご説明しています

Permalink Redirect(プラグイン)の書き換えとアップロード

ダウンロードしたPermalink Redirectの一部を書き換えます。

リダイレクトには301リダイレクトと302リダイレクトがあり、用途が違います。

リダイレクト方式301リダイレクト302リダイレクト
意味合い恒久的転送一時的な転送
用途・ドメイン移転
・SSL設定後の転送
・wwwの有り無しの統合
・ページのA/Bテスト
・モバイルページ転送

Permalink Redirectプラグインの初期設定は「302リダイレクト」となっているので、「301リダイレクト」に変更します。

1:ダウンロードしたプラグインの「ylsy_permalink_redirect.php」を開きます。

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

406行目の「$status=301」を「$status=302 」に変更

3:ダウロードした「permalink_redirect-2.0.5」フォルダごとwordpress内の/wp-content/plugins/にアップロードする。
※アップロード方法がわからない方は、「プラグインインストール FTP」等で検索してみてください。

パーマリンク設定にてパーマリンク構造を変更する

wordpressの「ダッシュボード」>「設定」>「パーマリンク設定」に移動して、現在の構造をコピーする。

wordpressの「ダッシュボード」>「設定」>「パーマリンク設定」に移動して、現在の構造をコピー

「投稿名」を選択して「変更を保存」。保存したら旧URLはエラーになるので、一連で下記作業も行いましょう

Permalink Redirectプラグインの有効化と古いパーマリンク構造の設定

Permalink Redirectプラグインを有効化し、「設定」>「Permalink Redirect」にて「Old Permalink Structures」の欄に、先ほどコピーした古いパーマリンク構造を貼り付けて「Update Option」を押して設定完了。

Permalink Redirectプラグインの有効化と古いパーマリンク構造の設定

もちろん直打ちで記入しても大丈夫です。

パーマリンク変更のテスト

設定完了後、古いリンクでアクセスしてみてテストしましょう。

正常に設定できていれば、新しいURLにリダイレクトされます。
お疲れ様でした。URLが短いとすっきりしますね!

301リダイレクトしておく期間

301リダイレクト設定はしたけど、いつまでこのままにしておけばいいの?という疑問が出てくるかと思いますが、こちらは色々調べてみると「できるだけずっと」が良いようです。404エラーが出ちゃダメってことですね。

特別な理由がない限り、そのままにしておきましょう。

パーマリンク変更時のトラブルと注意点

何事も変更には痛みが伴うもので、今回もトラブルが発生しました・・

add_options_page のエラー

上記の手順でパーマリンクの変更はうまくいったのですが、wordpressの管理画面にエラーが出るようになってしまいました。

Notice: has_cap がバージョン 2.0.0 から非推奨になった引数付きで呼び出されました。ユーザーレベルの使用は推奨されていません。代わりに権限を使ってください。 in /usr/home/XXXXX/html/wp/wp-includes/functions.php on line 4115
ERROR

Notice: has_cap がバージョン 2.0.0 から非推奨になった引数付きで呼び出されました。ユーザーレベルの使用は推奨されていません。代わりに権限を使ってください。 in /usr/home/XXXXX/html/wp/wp-includes/functions.php on line 4115

プラグイン入れてすぐのトラブルなので、原因はもちろんプラグイン。
「has_cap」という関数関連で問題を起こしているのもメッセージからわかるので、早速検索。
すると、「add_options_page」関数の引数が問題とのこと。

早速プラグインのファイルをもう一度確認すると、ばっちりありました。

Permalink Redirectで「has_cap」エラーとなる「add_options_page」

Codexで「add_options_page」を確認すると、第3引数は数字ではなく文字列で指定しなきゃいけないみたい。Codexにある通り、「5」の部分を「’manage_option’」に変更。

Permalink Redirectのadd_options_pageの第3引数を5からmanage_optionに変更

見事エラーは解消されました。古いプラグインにはありがちなようですね。

その他注意点

ブログカード等サイト内のURLから情報を取得しているものがあると、上手く表示出来ないでしょう。

そのため新しいURLに書き換えてあげる必要があります。これはかなり面倒ですが 「Search Regex(サーチ リジェックス)」 というwordpress内の文字列を置換してくれるプラグインを使って、URLの余計な部分を削除するしかなさそうです。

「Search Regex(サーチ リジェックス)」の使い方は https://techacademy.jp/magazine/7168 などをご参照くだささい。

この記事を書いた人

木村 太一

ドットワンの代表です。1979年生まれ。3女の父。ゴルフと筋トレが趣味。立川にあるキヤノン代理店に就職後、1万件以上飛び込み営業したのち独立。たくさんの企業を見てきた経験と自分自身も零細企業の経営者ということを活かし、相手の立場に立ったDX推進、ITコンサルを行っております。

お気軽にお問い合わせください

ホームページ、ネットショップの集客方法から、IT機器や、顧客管理、採用に関することまでご相談ください。
WEBマーケティングのノウハウを生かして、お客様のお悩みを解決します。