このブログをはじめたときは、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 というプラグインをダウンロードします。
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 」に変更します。
3:ダウロードした「permalink_redirect-2.0.5」フォルダごとwordpress内の/wp-content/plugins/にアップロードする。
※アップロード方法がわからない方は、「プラグインインストール FTP」等で検索してみてください。
パーマリンク設定にてパーマリンク構造を変更する
wordpressの「ダッシュボード」>「設定」>「パーマリンク設定」に移動して、現在の構造をコピーする。
「投稿名」を選択して「変更を保存」。保存したら旧URLはエラーになるので、一連で下記作業も行いましょう。
Permalink Redirectプラグインの有効化と古いパーマリンク構造の設定
Permalink Redirectプラグインを有効化し、「設定」>「Permalink Redirect」にて「Old Permalink Structures」の欄に、先ほどコピーした古いパーマリンク構造を貼り付けて「Update Option」を押して設定完了。
パーマリンク変更のテスト
設定完了後、古いリンクでアクセスしてみてテストしましょう。
正常に設定できていれば、新しい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
プラグイン入れてすぐのトラブルなので、原因はもちろんプラグイン。
「has_cap」という関数関連で問題を起こしているのもメッセージからわかるので、早速検索。
すると、「add_options_page」関数の引数が問題とのこと。
早速プラグインのファイルをもう一度確認すると、ばっちりありました。
Codexで「add_options_page」を確認すると、第3引数は数字ではなく文字列で指定しなきゃいけないみたい。Codexにある通り、「5」の部分を「’manage_option’」に変更。
見事エラーは解消されました。古いプラグインにはありがちなようですね。
その他注意点
ブログカード等サイト内のURLから情報を取得しているものがあると、上手く表示出来ないでしょう。
そのため新しいURLに書き換えてあげる必要があります。これはかなり面倒ですが 「Search Regex(サーチ リジェックス)」 というwordpress内の文字列を置換してくれるプラグインを使って、URLの余計な部分を削除するしかなさそうです。
「Search Regex(サーチ リジェックス)」の使い方は https://techacademy.jp/magazine/7168 などをご参照くだささい。