通常は.htaccessへ書くのが妥当なんでしょうが、いちいち.htaccess開いて編集するのが大変ですよね。
以下のコードは有効化しているテーマのfunctions.phpへ追記して、リダイレクトさせたいページの旧パーマリンクと新パーマリンクを列記すれば301リダイレクトされるようにするコードです。
これで大量のリダイレクトの記述が必要だったり、後々編集する場合にも便利になりますね。
上記コードの「’/old-page-1/’ => ‘/new-page-1/’」の部分を変更(または追加削除)していくと、旧パーマリンク宛にあったアクセスが新パーマリンクでアクセスされるようになります。
また、301リダイレクト(永久リダイレクト)として処理されますから、検索エンジンにもURLが変更となったことを明示できます。
補足 投稿IDから投稿名なら一括で変更させることもできるけど..
前述のコードの代わりに以下のコードを使うことで、投稿ID(%post_id%)をパーマリンクにしていたサイトを投稿名(%postname%)に変更した場合にすべての投稿をリダイレクトさせることもできますが、意図しない結果となることがあるので、面倒でも1件1件追加したほうが無難でしょう。
補足 別ファイルで管理したほうがいいかも..
今回のように.htaccessではなくfunctions.phpから301リダイレクトをかけるケースでは、たくさんの投稿のリダイレクトを行うことが多く、テーマのfunctions.phpへ直接コード追加するとコードが長くなって使いづらいかも知れません。
そんな時は別のphpファイルをテーマフォルダ内に追加して、functions.phpからはそのファイルの内容を実行するという形にした方がいいでしょう。
以下はテーマフォルダ内に「redirects」というphpファイルを追加した場合に有効化しているテーマのfunctions.phpへ追加するコードです。
コメントを残す