この記事を読めば、大量の記事を一括で301リダイレクト設定する方法がわかります。具体的には「パーマリンク変更時」を事例として解説。

たくろー
たくろー
どうも。札幌のwebライター、たくろーです。

このブログのパーマリンク、ずっと日付がはいってたんです。

https://tklandphoto/2020/10/01/投稿名

上記のようなパーマリンク設定ですね。いろいろと不便だし、カッコ悪いし、SEO的にも良くないし…という事で、思い切って200以上あった記事のパーマリンクを全部一括で変更しました。

その際の作業手順やミスして30分ほど手作業したポイント、つかったプラグインなどをご紹介します。

検索エンジンの評価を新URLに引き継がないといけないので、慎重にやりましょうね。

この記事が役に立つ人

  • サイト全体のパーマリンクを変更したい人
  • 一括で301リダイレクトする方法が知りたい人
  • ワードプレスの基本的な操作は分かる人
  • CSVファイルの扱い方が分かる人

パーマリンク設定の変更は、とにかく順を追って準備してやらないと大変です。ぜひ参考にして下さい。

サイトのパーマリンク設定を変更する作業の全体像

サイトのパーマリンク設定を変更する作業の全体像

パーマリンクの設定を変更しようと思ったときは、3種類の作業が必要です。

  1. パーマリンク設定を変更する
  2. 全記事のURLを新→旧へ301リダイレクト
  3. サイトに記載してあるURL(内部リンク)を前→新へ書き換え

上記の作業なのですが…僕の場合は200記事以上あったので、手動でやろうと思ったら地獄です。なので今回は、入念に準備したうえでプラグインをつかってできるだけカンタンにスムーズに済ませてしまおうというテーマのお話。

今回の事例は「投稿日+投稿名のパーマリンク設定を、投稿名のみに変更した」というケースです。具体的には下記の通り。

パーマリンク変更事例

(変更前)https://kojin.blog/2020/09/05/wordpress-start/
(変更後)https://kojin.blog/wordpress-start/

もちろんその他のケースでも、パーマリンク設定を変更するときには同じ手順でOK。

このパーマリンク設定の変更ですが、正しい手順をごくスムーズにこなさなければ、せっかく検索エンジンから評価されていたページの評価が落ちてしまったり、外部から張ってもらっているリンクが404になったり、内部リンクのブログカードが表示されずに機会ロスに繋がったりします。

たくろー
たくろー
地獄絵図になります

なので、きちんと準備をしたうえで作業しましょうね。

パーマリンク変更時に一括で301リダイレクト処理する方法

パーマリンク変更時に200記事を一括で301リダイレクトした方法

それでは実際の作業手順をお伝えしていきます。

あくまで僕が実行した手順ですので、再現する場合はご自身で一つひとつの作業を確認して自己責任でやってくださいね。

もしもわけわからんことになっても、僕からはどの作業に問題があったのか特定できませんし、責任もてませんので。

  1. プラグイン「Export wordpress data to xml/csv」で全記事のリンクを出力
  2. グーグルスプレッドシートで301リダイレクト用のCSVファイル作成
  3. パーマリンク設定を変更する
  4. プラグイン「Redirection」にCSVファイルを流して全記事一括で301リダイレクト
  5. プラグイン「Search Regex」の正規表現を使って内部リンクを一括で変更
    (僕の場合はSearch Regexが上手く動かなくて30分くらいひたすら手作業しました)

基本的には上記5ターンです。作業時間は記事数にも左右されますが、200記事程度なら長くても2時間あれば終わるんじゃないでしょうか。

たくろー
たくろー
僕は何度かミスって大変なことになりながら2時間ほどで完了しました。

事前準備でプラグインを入れておく

上記のプラグイン名をコピペして「プラグイン」のところで検索したら出てくるので、サクっと入れておいて下さい。

あとグーグルスプレッドシートも使いますが、エクセルの方が慣れてる方はそっちでもOKです。

プラグイン「Export wordpress data to xml/csv」で全記事のリンクを出力

まずは現在の記事のリンクを一気に取得しましょう。

「Export wordpress data to xml/csv」のプラグインをインストールすると、ワードプレスの左のバーに「すべてエクスポート」というメニューが増えてます。

Export wordpress data to xml/csvの使い方

新規エクスポートを選ぶと次の画面へ。

Export wordpress data to xml/csvの使い方

「投稿」を選ぶと、URLを取得する記事数が表示されます。

Export wordpress data to xml/csvの使い方

問題無さそうなら「エクスポートファイルをカスタマイズします」をクリックして次へ。

Export wordpress data to xml/csvの使い方

上の画像の画面になるので、設定しましょう。フィールドの中の箱はドラッグしたりクリックしたりすると削除できます。「コンテンツ」は記事の中身なので、そんなのは取得する必要ないので消します。

欲しいのは「パーマリンク」ですので、

Export wordpress data to xml/csvの使い方

上の画像のように「ID」「TITLE」「Permalink」の3つをフィールドにいれましょう。IDとTITLEは最終的に消すのでなくても良いのですが、整理しやすいので入れておきます。

Export wordpress data to xml/csvの使い方

すると上の画面になるので「エクスポートの確認&実行」を押しましょう。

Export wordpress data to xml/csvの使い方

最後に上の画像のとおりCSVを押せば、記事一覧をCSVファイルでダウンロードできて完了です。

グーグルスプレッドシートで301リダイレクト用のCSVファイル作成

先ほど出力したCSVファイルを、グーグルスプレッドシートにインポートしましょう。そしたら下のような画面へ。

グーグルスプレッドシートで301リダイレクト用のCSVファイルを作成する方法

ずらーっと記事が並びます。これを整理するんですが、例えば上の画像の状態なら、パーマリンク変更後のURLをD列に書いていきます。

グーグルスプレッドシートで301リダイレクト用のCSVファイルを作成する方法

上の画像のように変えていきます。

たくろー
たくろー
1個1個手作業でかえていってたらめっちゃメンドイ

なので、ある程度正規表現の分かる方は検索+置換でもOKです。

グーグルスプレッドシートで301リダイレクト用のCSVファイルを作成する方法

たとえば僕のように「投稿日」をまるまる消したい場合なら、D列を選択して上記のように検索して置換すれば一発ですね。2019と2020で2クリックでOKです。

一応補足として…正規表現の「.(ドット)」は「何か1文字」を表しますので、たとえば上の検索なら「/2020/08/06/」とか「/2020/03/21/」とかが全部対象になります。

たくろー
たくろー
2020だけ数字にしたのはなんとなくですので、そこまで「….」にしちゃっても基本的には大丈夫だと思います。

で、パーマリンクを全部変更したあとはA列とB列を消し、1行目も消して…

グーグルスプレッドシートで301リダイレクト用のCSVファイルを作成する方法

上の画像の状態まで整理すればOKです。ちなみに、このリストをそのままリダイレクトに使うので、間違ってたら大変なことになります。

Redirectionで一度CSVファイルを流すテストをする

この項目は省いても構いませんが、基本的には念のためやっておいて下さい。

次の項目から始まる「パーマリンク設定→リダイレクト」という流れはスピードが命なので、もしうまくいかなかったら完全にパニックになります

たとえば下の画像のように、テストで1行だけ入力したシートを用意しましょう。URLはフェイクでもいいですし、すぐに消せば良いのでアクセスの低い記事で実際に試してみても大丈夫です。

Redirectionで一度CSVファイルを流すテストをする

で、CSV出力します。

Redirectionで一度CSVファイルを流すテストをするRedirectionで一度CSVファイルを流すテストをする

そしたら、出力したCSVファイルをRedirectionに流してみます。

Redirectionで一度CSVファイルを流すテストをする

上の画像のように「ツール→Redirection→インポート/エクスポート」と進み、さきほどのファイルを選択して流します。

これで問題なく301リダイレクトが反映されれば、とりあえずOKですね。

パーマリンク設定を変更する

パーマリンク設定を変更する方法

繰り返しますが、ここからはスピード勝負になります。

このパーマリンク設定自体はめちゃくちゃ簡単なのですが、このあとに「いかにスムーズにRedirectionにCSVファイルを流して301リダイレクトを完了させるか」という勝負になります

「設定→パーマリンク設定」から上の画面に行き、パーマリンクを変更しましょう。

僕の場合は「投稿名」にしたかったので「投稿名」にチェックをいれて「変更を保存」にするだけ。ここはめっちゃカンタンです。

プラグイン「Redirection」にCSVファイルを流して全記事一括で301リダイレクト

で、さきほどテストしたのと同様の手順で全リストのCSVファイルを流します。転送ルールに下の画像のようにズラーっと並べば成功ですね。

プラグイン「Redirection」にCSVファイルを流して全記事一括で301リダイレクトする方法

万が一ここでトラブルがおきて上手くいかなかったら、パーマリンク設定をすぐに元に戻せばOKです。

でも、あせって前と違うパーマリンクに設定しちゃったりしたらもう大パニックですので、このあたりは慎重に、かつスピーディにやりましょう。

プラグイン「Search Regex」の正規表現を使って内部リンクを一括で変更

最後にSearch Regexを使って、内部リンクをぜんぶ修正していきます。

プラグイン「Search Regex」の正規表現を使って内部リンクを一括で変更

ここに関してもスプレッドシートでリストを作ったときと同様、よくわからなかったらURLを一つひとつ入れて修正していくしかないのですが…

正規表現をつかえれば上記のように一括で指定できます。

僕の今回の状況である「投稿日を消したい」って場合は

検索した例

検索「https://kojin.blog/…./../../」
修正「https://kojin.blog/」

上記のように検索して入れ替えました。ただパーマリンク設定によって違いますので、環境にあわせて設定して下さい。

「検索」を押した段階で修正後のプレビューが表示されますので、問題なければ「すべて置換」を押せば入れ替わります。

たくろー
たくろー
ただ、このSearch Regexがうまく動かないことがあって…

僕の場合、いくつか入れ替わってないURLがあって、もう一度やり直して「検索→すべて置換」って押しても「なぜか入れ替わらない」って状況になりました。

調べたものの根本的な解決法が見つからず…30分くらいかけて手動で全内部リンクを直しましたので、そんなケースもあるってことで一応覚悟しておいてください。

たとえばURLを直書きしてブログカードが表示されているテーマだと、直すまでは「謎のURLが書かれている状態」になっちゃうので、頑張ってスピーディに直していきましょう。

なぜ今回パーマリンクを変更したのか?

なぜ今回パーマリンクを変更したのか?

本題はここまでですが「なんでパーマリンク直さないといけないの?」って話も少しだけしておきます。

  1. 記事の信頼性の問題
  2. SEO的な問題
  3. 投稿日を変更するときの問題

僕が感じていたデメリットは上の3つ。

1は、ふと読者がURLを見たときの問題ですね。URLに作成時の日付がはいっちゃってますので、もし毎日更新している記事だったとしても3年前に作った記事だと「うわっめっちゃ昔の記事やん」と思われてしまう可能性があると。

2番目の「SEO的な問題」としては、Google的が「URLは短くて分かり易い方が良い」って公言してることが関係してます。僕のケースだと投稿日をあらわすのに「/」がいっぱい入って、無駄に複雑な階層のURLになってしまってたと。これは少なくとも「良くはない」状態ですね。

たまたまの可能性もありますが、URLが新しく入れ替わったタイミングで順位が上がった記事もあります。下記の画像の通り。

なぜ今回パーマリンクを変更したのか?

少なくとも悪い影響はないってことですね。

で、3番はメンテナンスするときの問題です。昔に書いた記事をリライトして「これ上に表示したいな」と思って「投稿日」をさわると、なんとURLが変わっちゃうんですね。

たくろー
たくろー
めっちゃめんどくさい

上記の3つを何とかしたいと思って変えたというわけです。

日付が入ったパーマリンクのデメリットについてもっと詳しく知りたい方は、ぜひ下記の記事もあわせてご覧下さい。

パーマリンクを「日付と投稿」にすると後悔する日が来るという話

まとめ

今回は、パーマリンク変更時に200記事を一括で301リダイレクトした方法をステップバイステップで解説しました。

けっこう複雑な作業ですし、あくまで僕が実行した手順ですので、再現する場合はご自身で一つひとつの作業を確認して自己責任でやってください。

もしわかりにくいところがあれば公式LINEとかツイッターで聞いてもらえれば、お答えできることならお答えしますね。

それでは、よきブログライフを。