Gooブログからワードプレスへ、ブログ記事を一括で引っ越しする方法を、解説します。
本記事に沿って作業すれば、引っ越しが一通り完了するように書いてあります。
これまで、とくに大変だったのが、以下の2つの作業です。
- Gooブログから画像をすべてダウンロードする。
- 記事内のリンクを全て、新しいワードプレス内の画像URLへ書き換える。
この2つが自動でできるPerlスクリプトをプログラムしましたので、公開します。
これを使えば、Gooブログからワードプレスへの移転が非常に簡単に完了します。
はじめに
本記事では、今回開発したPerlスクリプト convertBlog.pl の使い方を含め、Gooブログからワードプレスへ引っ越しをするやり方の全体を解説します。
この記事に従って作業すれば、引っ越しが完了できるように書いていますので、参考にしていただければ幸いです。
ただ、必ず以下の利用規約をご一読いただき、了解の上で使用してください。
動作環境と環境の構築について
Unix環境が必要です。
すでにUnix環境をお持ちで使い慣れている方は、【Unix初心者向け】と明記した節はスキップして読み進めてください。
Unix環境がない方は、Windowsで作業する場合に限り、WindowsのアプリとしてUnixをインストール・使用するやり方も解説します。Unixの知識がない方でも、読み進めて作業できるように書きました。
また、convertBlog.pl では、Gooブログのバックアップデータを入力ファイルとします。このファイルの入手方法も解説します。
Perlスクリプト convertBlog.pl の利用規約
本サイトで開発したPerlスクリプト convertBlog.pl を利用する方(ユーザー)は、本節にまとめる規約に同意したものとみなします。
convertBlog.pl は、個人的な使用に限り、自由にダウンロードし、また改造していただいて構いません。
convertBlog.pl は、転載、再配布を禁止します。
本記事へのリンクは歓迎です。紹介したい場合には、本記事へリンクすることで紹介してください。
convertBlog.pl を使用することで、なんらかの損害や不利益が生じた場合、当方は責任を負いません。ユーザーの責任で使用してください。
使用に関して不具合が生じた場合、お問い合わせいただければ、可能な限りで対応はしたいと考えております。ただし、素人が余暇に書いたプログラムであり、対応も同様です。ご希望に添える対応が必ず取れるとは限りません。ご了承ください。
使用してうまくいった、役に立ったと思った場合には、コメントを頂けると励みになります。よろしくお願いします。
前準備1―Gooブログのバックアップデータをダウンロードする
Gooブログのバックアップデータを取得するには、有料会員(goo blog フォト)になる必要があります。
初回は初月が無料になるので、月初めに有料契約し月末までに作業を完了して無料会員に戻せば、料金は発生しません。
有料会員の契約をしたあとで、以下を実行してバックアップデータをダウンロードします。
- Gooブログの編集画面、左側のメニューで「バックアップ・書籍化」を選択。
- バックアップデータの作成の「作成する」ボタンを押す。
- (データ作成には、私も実際に30分くらいかかりました)。
- 「ダウンロード」ボタンを押して、バックアップデータをダウンロードする。
ダウンロードしたデータはコピーを取り、gooBlog.txt とリネーム(名前を変更)してください。
前準備2―Unix環境を準備する 【Unix初心者向け】
Unix環境は、perlとshスクリプトが使用できればなんでも構いません。
Windows上で作業する場合に限りますが、Unix環境を構築するやり方を本節では紹介します。
ここでは、Windows上でアプリとしてUnixが動作するUbuntuアプリをインストールします。
- Windowsメニュー(画面左下のWindowsマークを押すと出る)で、「Windows Store」と入力してWindows Storeアプリを起動する。
- 「Ubuntu」を検索し、「Ubuntu 20.04 LTS」をダウンロード、インストールする。
パッケージのバージョンは、2023年5月現在では”22.04.2 LTS”が最新のようです。最新のものをインストールするのがよいと思いますが、基本的にはどのバージョンでも問題なく作業可能だと思います。
Ubuntuのパッケージはかなり大きい(2.7GB)です。
ダウンロードに時間がかかるものの、インストールやアンインストールの扱いが簡単なので、おすすめします。
インストールが済んだら、Windows上でのUnixが実行できるように設定する。
- Windowsメニューで「control panel」と入力し、コントロールパネルを起動する。
- 「プログラム」→「Windowsの機能の有効化または無効化」。
- 「Linux用Windowsサブシステム」にチェックを入れる。
以上ができたら、「Windowsメニュー」から「Ubuntu 20.04 LTS」と探して、アプリを起動してください。
convertBlog.pl の動作概要
Gooブログのバックアップデータは、テキストファイルです。
さきほど、ダウンロード後に、gooBlog.txt という名前にリネームしてもらいました。
convertBlog.pl は、この gooBlog.txt ファイルを解析し、以下を行います。
- Gooブログ内の画像ファイルのURLへのリンク記述を探す。
- 見つけた画像ファイルURLをもとに、全画像ファイルをダウンロードする download.sh シェルスクリプトを生成する。
- ファイル内で画像ファイルへのリンクを、Gooブログ内のURLから新しいワードプレス内のURLに変更する編集を行い、 gooBlog_converted.txt という新しいファイルを作成する。
以下、それぞれの動作の要点を簡単にまとめます。
探す画像ファイルのURL
通常、Gooブログの画像ファイルは、
- https://blogimg.goo.ne.jp/user_image/??/??/*.jpg
というURLになっています。
“*”は何文字でも普通の文字(アルファベットか数字または”_”)のパターン、”??”は任意の2文字のパターンです。
たとえば、以下のような感じです。
https://blogimg.goo.ne.jp/user_image/7f/d3/a1116b2c340f6f1e43a63d8eceed07c3.jpg
画像ファイルを探すときは、以下のパターンを探しています。
- http(s)://blogimg.goo.ne.jp/*/??/??/*.jpg
- http(s)://blogimg.goo.ne.jp/*/??/??/*.png
- http(s)://blogimg.goo.ne.jp/*/??/??/*.gif
画像ファイルのダウンロード先の指定
たとえば、
https://blogimg.goo.ne.jp/user_image/7f/d3/a1116b2c340f6f1e43a63d8eceed07c3.jpg
をダウンロードする場合、作業ディレクトリ(フォルダ)内に、user_imageというディレクトリを作成し、
user_image/a1116b2c340f6f1e43a63d8eceed07c3.jpg
として画像ファイルは保存されます。(Unixでのディレクトリの区切りは、URLと同じく”/”です。Windowsでのフォルダの区切りは”\”で表すので、Windowsでは、user_image\a1116b2c340f6f1e43a63d8eceed07c3.jpg に見えます)
通常の場合、user_image と thumbnail という2つのディレクトリが生成されると思います。
画像ファイルの新しいURLの決め方
convertBlog.pl の33行目くらいにある次の行は、 $newdomain という変数に新しいワードプレスのドメインを入力します。(編集の仕方は、後ほどもう一度お話しします。)
my $newdomain= "https:\/\/travel-log.net";
この変数をもとにして、新しい画像ファイルの置き場を指定します。
先ほどと同じ例ですが、
https://blogimg.goo.ne.jp/user_image/7f/d3/a1116b2c340f6f1e43a63d8eceed07c3.jpg
このファイルの新しい置き場は、${newdomain}を、編集して置き換えたドメインとして、
${newdomain}/wp-content/uploads/gooblog/user_image/a1116b2c340f6f1e43a63d8eceed07c3.jpg
になります。
Perlスクリプト conertBlog.pl の使用方法
convertBlog.pl をダウンロード
以下から、convertBlog.plをダウンロードしてください。
作業ディレクトリに必要ファイルを用意する
UNIXで、作業用に新規のディレクトリを作成し、そこに移動する。
Gooブログのバックアップデータを gooBlog.txt とリネーム(名前を変更)する。
convertBlog.pl と gooBlog.txt を作業ディレクトリに置く。
作業ディレクトリの用意の仕方【Unix初心者向け】
ディレクトリという言葉は、Windowsでいうフォルダとほぼ同義です。
作業ディレクトリという意味は、ファイルに保存したりする場合に、このディレクトリに保存するという意味だと思ってください。
そして、Windowsでもいま見ているフォルダ内にあるファイルをダブルクリックするとファイルが開いたりしますね。UNIXでも作業ディレクトリに移動しておいてから、ファイルを編集したりそのディレクトリ内に新しくファイルを作ったりするのが基本的な作業の仕方です。
Windowsユーザーで本記事に習ってUbuntuをインストールした方は、Windowsで作業ディレクトリを準備しておくことができます。
WindowsのDesktopに “BlogConvert” という名前で新しいフォルダを作製しましょう。
Windowsでのパスは、”C:\Users\[ユーザー名]\Desktop\ConvertBlog\”です。
このフォルダ内に、Gooブログのバックアップデータをリネームした gooBlog.txt と、本サイトからダウンロードした convertBlog.pl を置きます。
convertBlog.pl をエディットする
テキストエディタ(Windowsなら、メモ帳で結構です)で、convertBlog.pl を開きます。
33行目くらいにある、以下の行で、””内の部分を、引っ越し先のドメインに変更します。
ただし、”/”(スラッシュ)は、前に”\”(円サイン)を付けて”\/”のように表します。”\”でなく以下のようにバックスラッシュで表示される場合もあります。
新しいドメインが、”https://travel-log.net” の場合の記述は、以下のようになります。
my $newdomain= "https:\/\/travel-log.net";
作業ディレクトリに移動する【Unix初心者向け】
本記事に従ってWindows上で作業用フォルダを作製した皆さんは、Ubuntuを起動してください。
Windowsのコマンドプロンプトみたいな、黒くてコマンドを入力して実行するUnixのプロンプト画面が表示されると思います。
ひとつだけ注意してほしいのは、コマンドは基本的に半角英数字で全角で入力してはいけないことと、大文字と小文字は区別するので不用意に大小を変えると処理が正しく行われないことです。Windowsで日本語で付けてしまったファイル名やディレクトリ名は、Ubuntuではそのまま使用できると思います。
Windowsで”C:\Users\[ユーザー名]\Desktop\ConvertBlog\”だったパスは、UNIXからは、”/mnt/c/Users/[ユーザー名]/Desktop/ConvertBlog”です。
まず、以下のコマンドを入力して、作業ディレクトリに移動しましょう。もちろん、[ユーザー名]は、ご自身のWindowsでのユーザー名に読み替えてください。
cd /mnt/c/Users/[ユーザー名]/Desktop/ConvertBlog
Unixでは、現在のディレクトリの内容を表示するコマンドは、
ls
です。実行すると以下のように、用意したファイルが作業ディレクトリ内にあることが確認できると思います。
convertBlog.plを実行する
以下のコマンドを打ち込みます。
perl convertBlog.pl
実行すると、Gooブログにあった記事のタイトルと、その記事内で参照していた画像ファイルのURLが画面に書き出され、全記事の処理が終わるまでスクロールします。
処理の完了後で、lsコマンドを実行すると、
ls
以下のように、download.sh と gooBlog_converted.txt が新たに生成されています。
- download.sh 画像ファイルをGooから全部ダウンロードするシェルスクリプト。次節で実行する。
- gooBlog_converted.txt 画像URLをワードプレスサイト内に変更したGooブログのバックアップファイル。後ほど、ワードプレスにインポートする。
gooBlog_converted.txt はこのまま、ワードプレスにインポートできます。
インポートする前に中身を確認したい場合や、手動で直し足したい場合は、テキストエディタで編集しましょう。
Gooブログから画像ファイルをダウンロードする
画像ファイルのダウンロードは、download.sh を実行するだけです。
以下のコマンドを実行しましょう。
sh download.sh
すると、ファイルを1個1個ダウンロードするので、以下のようなメッセージが表示されながら、画面がスクロールし続けると思います。
画像ファイルのダウンロードなので、たくさん画像があれば時間がかかります。
処理が終了したら、再び ls コマンドを実行してみてください。画像の入っているディレクトリが生成されているのが確認できると思います。
できたディレクトリの内容を確認したい場合は、もちろんWindowsからでも確認できます。
以上で、convertBlog.pl とそれに派生する download.sh による変換とダウンロード作業は完了です。
あとは、できたファイルやディレクトリをワードプレスにインポートする作業です。次節で解説します。
ワードプレスへインポートする作業
画像ファイルのアップロードと、gooBlog_converted.txt のインポートをすれば、一通り引っ越しは完了です。
画像ファイルのアップロード
[ワードプレスサイトのドメイン]/wp-content/uploads/gooblog/
というディレクトリを作成し、ダウンロードされた user_image や thumbnail をアップロードします。
私の場合ドメインが https://travel-log.net なので、以下がアップロード先です。
https://travel-log.net/wp-content/uploads/gooblog/
アップロードの仕方は、契約サーバーによりますので、サーバーの仕様に従ってください。
gooBlog_converted.txt をワードプレスにインポートする
プラグイン「Movable Type・TypePad インポートツール」を使用してインポートする。
- WPメニュー→「プラグイン」→「新規追加」 から、「Movable Type・TypePad インポートツール」をワードプレスにインストールする。
- WPメニュー→「ツール」→「インポート」 で、「Movable Type と TypePad」の「インポーターの実行」 をクリック。
- 「ファイルを選択」で、gooBlog_converted.txt を選択すると、記事がすべてインポートされる。
これで一応、ひと通りの引っ越しは、完了します。
ご自分のワードプレスを見ると、すでにGooから持ってきた記事が公開できています。
残りの作業
本記事では以下の作業を、やり残しており、これらは手動で実施してください。
- アイキャッチ画像の設定 (自動設定できるプラグインもあるようです)。
- ブログ記事内の内部リンクの張り直し。
まとめ
Gooブログで書き溜めてきた記事を、ワードプレスに全部引っ越したいときの、引っ越し方を解説しました。
とくに面倒な、画像ファイルの引っ越しと、記事内の画像ファイルへのリンクの張替えを、自動化するPerlスクリプト convertBlog.pl を開発し、公開しました。使い方も詳しく解説しました。
これによって、引っ越しの手間がだいぶ楽になると思います。
convertBlog.pl を使用する際には、本記事内の利用規約を必ずご一読、了解の上で使用してください。
本記事を利用して引っ越しがうまくいった、役に立った場合には、コメントをいただけると、大変励みになります。
コメント
すみません、質問と言うかアドバイスを頂きたいのですが。。
Unixは、初心者どころか初です。gooブログ(https://blog.goo.ne.jp/lu-x)からWPへ引っ越し作業中ですが、blogデータをそのまま移行したら、画像がgooに直リンクしている事に気付き、慌てていろいろなサイトで紹介している画像の置き換え方を片っ端から試しましたが、ワケの分からないアプリとかプラグインとかDLしても使い方などで何かに躓き(そもそもプラグインって何?なレベルです;;)、半月以上挫折を繰り返し、こちらのサイトに辿り着きました、というか、舞い戻りました。画像が1万枚近くあるので、手作業は無理だと。。
(最初にこちらにやって来て、UNIX?、pl?と知らないワードに恐れおののき、逃げ帰っていたという経緯でして;;)
で、どこで躓いているかと言いますと、『convertBlog.pl をエディットする』ところで、『33行目くらいにある、以下の行で、””内の部分を、引っ越し先のドメインに変更』をしました。
windows利用ですが、「メモ帳」で書き換える時、ドメイン名で\を半角で入力したら自動的に(?)バックスラッシュに変わったので、ん?これで良かったのかな?と思いつつ、上書き保存しました。
そして、次の作業へ~Ubuntuを起動し、『作業ディレクトリに移動する』ところの『cd /mnt/c/Users/[ユーザー名]/Desktop/ConvertBlog』を入力しましたら、下記↓のようになってしまい、進めなくなりました。
因みに、作業ディレクトリはディスクトップにフォルダを作り、convertBlog.pl と gooBlog.txt のみ格納しています。
きっと何か大事な作業を抜かしてしまっているのか、保存の仕方が間違っているのか、ド素人なので、ほぼほぼワケが分からずに推し進めてしまっており、詳しく説明して下さっているのでしょうに、何か私がきっとやらかしているのだろうと思いますが、さっぱり分からないので申し訳ありませんがどうかご助言をお願い致します。
————-↓↓———–
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows
PS C:\Users\PC05> cd /mnt/c/Users/PC05/Desktop/ConvertBlog
cd : パス ‘C:\mnt\c\Users\PC05\Desktop\ConvertBlog’ が存在しないため検出できません。
発生場所 行:1 文字:1
+ cd /mnt/c/Users/PC05/Desktop/ConvertBlog
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\mnt\c\Users\PC05\Desktop\ConvertBlog:String) [Set-Location], ItemNot
FoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
PS C:\Users\PC05>
hoimiさま、
ブログ見ていただき、ありがとうござます。
エラーが出ているのは、Windowsのパワーシェルで実行しているのでないでしょうか。
「前準備2―Unix環境を準備する 【Unix初心者向け】」の節を参考に、Ubuntu(ウインドウズ上で走るUNIXです)をインストールして実行してみてください。
この記事のコンソールみたいな画面(黒地にテキストの画面)は、すべてUbuntuで行います。
慣れない作業でやりにくいと思いますが、とくに予備知識なくともできるように書いたつもりです。
また疑問点がありましたら、どしどし聞いていただければと思います。
たびびと様
ご返信有り難うございます。
Ubuntuを立ち上げて、黒い画面で、『Press any key to continue…』の次行で白いカーソルが点滅していて、カーソルの後にコマンド”cd /mnt/c/Users/PC05/Desktop/ConvertBlog”を入力しようとキーを押すとUbuntuが何故か閉じてしまうので、そのタブの使用を諦めて、タブを追加『+』すると、Windowsのパワーシェルになってしまいます。
コマンドを入力出来るようにするには何が足りないのでしょうか?
ご指導、宜しくお願い致します。
hoimiさま、
『Press any key to continue…』となったあとでキーを押すとUbuntuが閉じてしまう現象、私も再現できました。
「前準備2―Unix環境を準備する 【Unix初心者向け】」の節で、(黄色いメッセージボックスの下にある)「インストールが済んだら、...」の段落以下の部分を実行していただくと、Windows上でUbuntuを正しく使用できるようになると思います。
たびびと様
再現して頂き有り難うございます。
「インストールが済んだら、...」の段落以下の部分~の件ですが、Linux用Windowsサブシステムにチェックは入っておりました。
再度トライしましたが、何かキーをひとつ押すだけでやはりUbuntuがやはり閉じてしまいます(TT)
こちらのPCに問題が有るのかも?
すみません、何度もm(_ _)m
hoimiさま、
申し訳ございません、たしかにPCの設定などに違いがあるなどかもしれません。
これまで同じやり方でUbuntuをWindows10と11に何台かインストールし、そのたびに同じ症状が「Linux用Windowsサブシステム」設定で解決できていたので、同様に解決できると思い込んでました。
このこと、調べてみたところ、最近ではUbuntuのインストール・設定がもっと簡単になっているとの案内がMicrosoftから出ておりました。
https://learn.microsoft.com/ja-jp/windows/wsl/install
詳しくはリンク先を見ながら作業していただくのがよいですが、管理者モードのpowershellで”wsl –install”と実行するだけでWindows側の設定もできるとのことで、試していただく価値はあるかと存じます。
すでにインストールしたUbuntuとの競合が問題になる場合には、上記Microsoftページ内にある「Linux ディストリビューションの登録解除またはアンインストール」のリンクを実行したうえでインストールを試していただければと思います。
たびびと様
いろいろとお調べ下さり有り難うございました。
ご紹介頂いたリンク先(とっても難しくて)自分に出来るのか全く自信は有りませんが、頑張ってみます。
何度もお手間を取らせてしまい、恐縮です。有り難うございます。
hoimiさま、
スムーズにいかず、すみません。
また何かありましたら、お聞きいただければと思います。