note から WordPress に出戻りました!😭

【大量移行】 WordPress から note への記事移行・リダイレクトする方法

だるかぶ

サンダルでスーパーカブ乗りの『だるかぶ』です!
ご訪問ありがとうございます。ゆっくりしていってね。(本ページは広告を含みます。一部 AI により作成。)

2001/09/29 から WordPress に細々と書き溜めていた 2,586 記事を note に移行中です。その時の記事移行・リダイレクト手順をメモしておきます。どなたかのお役に立てば幸い。

【前提】 WordPress から note への記事移行は時間がかかる

WordPress から note への記事移行は、アイキャッチ画像の再登録や、不要な改行の削除など、ある程度の調整が必要です。

私の場合、記事数が多かったのと、note で使えないタグの入れ子などがあったため、note への移行を始めてから四ヶ月が経過しております。

時間がかかると怖いのは重複コンテンツのペナルティー

最初は、WordPress から note への記事移行がすべて終わってから、旧 → 新記事のリダイレクトを行おうと思っていました。

ただ、移行完了後にリダイレクトすると、移行期間の間は同じ内容の記事がふたつのドメインで存在し、重複コンテンツのペナルティーが課せられるのではないかと怖くなってきました。

ということで、移行が終わった1ページずつリダイレクトをかけるようにしました。

以下、私がやった記事移行・リダイレクト手順をご紹介します。

※ややこしくなるので、続きの本文は下記の表記で書いております。
旧ブログ(移行元)= WordPress
新ブログ(移行先)= note

手順 ① WordPress で記事をエクスポート

▲ WordPress 管理画面で「ツール」→「エクスポート」を選択。
「投稿」を選択して「エクスポートファイルをダウンロード」をクリック。

※ 私は WordPress の 2,586 記事を note に一気に移行しようとしてエラーに悩まされました。そんな時は、カテゴリ毎にエクスポート&インポートしましょう。

手順 ② note で記事をインポート

  1. note にログインし、右上のプロフィールアイコンをクリック
  2. メニューから「自分の記事」を選択

▲「自分の記事」上部の「インポート」をクリック。

  1. WordPress(WXR形式)形式のファイルを選択し、アップロード。
  2. 「インポートを開始」をクリック。

しばらくすると note から「インポート完了」のメールが届きます。

手順 ③ Page Links To プラグインで note の新しい記事へひとつずつリダイレクトする

最初に Page Links To プラグイン入れておきます。

▲ このプラグインは WordPress 管理画面から直接インストールできないので、Page Links To のページからプラグインをダウンロードします。

▲ プラグイン追加画面で、先ほどのファイルをアップロード&有効化します。

▲ note の記事を修正したら、旧 WordPress の記事編集画面で note の新 URL を赤枠の部分に入力して記事を保存します。

すべての記事の移行が終わったら次の工程に進みます。

手順 ④ WordPress ブログのデータをエクスポートする

下記の All-in-One WP Migration プラグインをインストール・有効化します。

▲ All-in-One WP Migration のメニューから「エクスポート」を選択。

▲「サイトのエクスポート先」で「ファイル」を選びます。

無料版「All-in-One WP Migration」では、インポート可能なファイルサイズが 300MB までに制限されています。
制限を超える場合は「メディアライブラリを除く」を」選択し、画像ファイルは FTP でダウンロードして手動で移行します。

▲ 妙にアニメーションするボタンをクリックしてダウンロード。

手順 ⑤ WordPress ブログをローカル環境で再現する

念の為、移行元の WordPress をローカル環境に移行します。

ローカル環境は XAMPP を使おうかと思ったんだけどデータベースを作ったり難しそうなので、Local を使うことにしました。

ローカル環境の構築は下記の手順で行いました。

  1. ローカル環境「Local」をインストール。
  2. 新しい WordPress をインストール。
    下手にミドルウェアを最新版にすると表示が遅かったので、下記のデフォルトの設定をそのまま使用。
    ・Web server : nginx
    ・PHP : 8.2.27
    ・Database : MySQL 8.0.35
  3. 「Local」にインストールした WordPress に All-in-One WP Migration プラグインをインストール・有効化します。
  4. All-in-One WP Migration のメニューから「インポート」を選択。
  5. 先ほど書き出したファイルをインポート。

手順 ⑥ WP All Export プラグインで、新旧記事の URL を CSV ファイルに書き出す

WP All Export プラグインをインストールして、新旧記事の URL を CSV ファイルに書き出す手順は下記のとおりです。

▲ プラグイン追加画面で「WP All Export」を検索。検索結果に色々出てきますが上のようなプラグインをインストール&有効化します。

▲ 左メニューのタコのアイコンをクリック。

上のプルダウンから「投稿」を選択する。

「エクスポートファイルをカスタマイズします」をクリック。

▲ Title, ID, _links_to を選択。_links_to はカスタムフィールド内にあります。

▲ プレビューはこんな感じになります。
問題なければ「非表示」をウインドウを押して閉じます。

▲ すぐ下の「Export Type」をクリック。「スプレッドシート」と「CSVファイル」を選択して「続行」をクリックします。

▲ 緑色の「エクスポートの確認 & 実行」をクリック。

▲「Download」を選択して「CSV」をクリックして CSV ファイルをダウンロードします。

ダウンロードした CSV を Google スプレッドシートで開いて、新旧の URL が抜けていないか確認しておきましょう。

それから、スプレッドシートの D2 セルに下記の計算式を入力し、リダイレクト用のコードを生成します。
※全記事分を生成してください。

="RewriteRule ^" & B2 & "/?$ " & C2 & " [R=301,L]"

手順 ⑦ リダイレクト設定を .htaccess に書く

下記のコードをコピーし、自分の URL に合わせて書き換えた上で、.htaccess の一番上に貼り付けてください。

<IfModule mod_rewrite.c> RewriteEngine On # -------------------------------------------------- # 1. 個別記事のリダイレクト (ここを記事分だけ増やす) # -------------------------------------------------- # [旧WPパス] [移行先noteのフルURL] Redirect 301 /example-post-1/ https://note.com/your_id/n/n1234567890ab Redirect 301 /example-post-2/ https://note.com/your_id/n/n0987654321cd # ... 記事の数だけここに追記してください # -------------------------------------------------- # 2. カテゴリー・タグ・アーカイブページのリダイレクト # -------------------------------------------------- # noteには対応するページがないため、一律noteのプロフィールTOPへ飛ばします RewriteRule ^category/(.*)$ https://note.com/your_id/ [R=301,L] RewriteRule ^tag/(.*)$ https://note.com/your_id/ [R=301,L] RewriteRule ^date/(.*)$ https://note.com/your_id/ [R=301,L] # -------------------------------------------------- # 3. その他すべてのアクセスをnoteトップへ集約 # -------------------------------------------------- # 上記の個別指定に当てはまらなかった全てのページ(旧トップ含む)を飛ばします # ※無限ループを防ぐため、既にnoteドメインにいる場合は除外する設定です RewriteCond %{HTTP_HOST} ^(www\.)?your-wp-domain\.com$ [NC] RewriteRule ^(.*)$ https://note.com/your_id/ [R=301,L]
</IfModule>
# BEGIN WordPress (ここから下は元からある記述)
...

note に移行する前の WordPress ブログは XServer を使ってたんだけど解約予定。後は、ドメイン・レンタルサーバーの契約終了まで放置して解約します。

現場からは以上です。それでは、またッ!!!

だるかぶ

最後までお読みいただきありがとうございます! スキ・コメント・シェア・フォローなどで応援いただけると『だるかぶ』のやる気がアップします!
記事内容の修正について記載している内容は記事執筆時の情報です。 できるだけ最新情報を掲載するようにしていますが、情報が間違っている場合は「コメント」でご指摘いただけるとありがたいです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です