年末に@niftyのココログからwordpress(バージョン5.02-ja)へ約300記事を移行した。
移行した人の記事を参考に実施したが、いろいろ問題が発生して何度もインポートやり直したり、完全に移行完了するまでに時間を要した。
対処を記録する。
1.ココログから記事をエクスポートPCに保存する。
ブログ > 管理 > 読み込み/書き出し から 「書き出し(IPv4のみ)」 にマウスポインタを移動後、右クリックしてメニューから「名前をつけてリンク先を保存」してPCに保存する 。
デフォルトのファイル名はpost.txt
2.WordPressへ記事をインポート
ツール > インポート から
Movable Type とType Pad をインストール後に有効化する。
エキスポート済みのpost.txtを指定してインポートするとエラーもなく全ての記事とコメントはインポートされた。
・問題1.Wordpressの新ブログで記事を表示するとURLに記事タイトルの日本語の文字列が含まれていた。
このため、URLをコピーして貼り付けると、
%E6%9C%AC%E3%82%BB%E3%83%83%E3%83%88%E3%80%906%E6%
の様な文字列が現れとても長過ぎるURLになっていた。
・対処1. Wordpressの 設定 > パーマリンク設定 を変更
調べると 投稿名が良いと書いてある記事があったが、なぜいいのかよくわからない。
post-id だと短いが番号だけになるので、
ドメイン名/yyyy/mm/dd/post-9999
の形式になるように「カスタム構造」を選択して以下を設定した。
/%year%/%monthnum%/%day%/post-%post_id%/
その後、 記事を全て削除して、 ゴミ箱を空にしてから、再度インポートを行った。
・問題2. 画像のURLがココログのURLのままになっているので、ココログを解約できない。
インポート時にチェックを入れれば画像もインポートされるという記事もあったが、そのチェック欄がない。
・対処2. ココログから画像を全てダウンロードして新ブログへアップロードする。
http://www.shurey.com/js/works/linkview.html の「リンクと画像との抜出しツール」のサイトを使って、全ての画像のURLを以下の手順で抜き出した。
post.txtを開いて、全て選択してコピーし、 ツールの 「ソース(テキスト)」欄に貼り付け。
・ファイル名取得 × タグ取得 欄の <img> をクリック
・画像出力 × 整理 欄の 「並替」をクリック
・テキスト出力 × テキスト 欄の 「一覧」をクリックすると ソース(テキスト) 欄に 全ての画像のURLが表示される。
・URLが全選択されているので、コピーして、テキストエディタを開いて貼り付けてファイルへ書き出す。
・ココログ外の画像も含まれているので、それらのドメインが異なるURLの行はファイルから削除する。
これで全画像のURLリスト完成。
URLリストで一括ダウンロードできるソフトをインストールしてダウンロード
自分のPCはWindows10だが、一括ダウンロードには irvine を使った。
2600枚ぐらいが2時間ぐらいでダウンロードできた。
・問題3.全画像がPCの1つのフォルダにダウンロードできたが、画像参照のURLには
以下の様に年月日が含まれていた。新ドメインのURLに一括変換するのは簡単だが、年、月、日のフォルダに画像ファイルを配置するのは枚数が多過ぎて困難。
http://magmalog.cocolog-nifty.com/photos/uncategorized/2018/12/22/画像名.jpg
または
http://magmalog.cocolog-nifty.com/wata3/images/2015/04/29/画像名.jpg
・対処3. ココログから移行する画像ファイル 2600枚は 1つのフォルダにアップロードすることにする。
試しに画像をアップロードしたら、下記の年月を含むフォルダに配置された。
https://cycle-pedal.com/public_html/wp-content/uploads/2018/12/
post.txtの 年月日を含む画像のURLを全て 上記の2018年12月のフォルダに書き換える。
サクラエディタで 全置換 したが、置換前の設定方法にとても苦労した。
置換前
http://magmalog.cocolog-nifty.com/wata3/images/201[0-9/]*/
置換後
https://cycle-pedal.com/public_html/wp-content/uploads/2018/12/
FTPで 全画像を 転送
ffftpをインストールして、ダウンロード済みの全画像ファイルを
置換後のフォルダへ転送した
再び、新ブログから全記事を削除後、ゴミ箱を空にしてからpost.txtをインポート。
・問題4. 正しいフォルダに画像はあり、URLも正しいのに記事に画像が表示されない。ライブラリにもftp転送済み画像が表示されない。
・対処4.プラグイン Add From Server をインストールして、有効化
画像を転送したフォルダへ移動して、画像をチェック後インポートを行う。
100枚ぐらいづつチェックいれてインポートした。1枚の画像毎に複数のサイズの画像ファイルが出来た。
・問題5. ココログでは記事作成時、元画像を小さく記事に表示して、
画像をクリックすると元の大きな画像を表示できるようにできたが、
新ブログでクリックしても解像度が低い小さな画像だった。
・対処5. とりあえず、クリックで拡大される記事を探す。
ココログの記事一覧で onclick を検索して、拡大設定がある全タイトル表示。
ソースを見れば分かるが、ココログではhtmlに”onclick”があり、小さい画像と元画像のファイル名は同じで別フォルダに出来ていた。
小さい画像は imagesフォルダの配下の年月日のフォルダ内
元画像は photos\uncategorized フォルダの配下の年月日のフォルダ内
たまたま、このときには別の問題や対策で以下が既にあった。
①ココログのサイトを gethtmlw-8.3.0 を使て記事、画像を丸ごとPCにダウンロード済み。
②記事毎のココログURLと新ブログのURLを件名でvlookup関数でマッチングさせた対応表をEXCELで作成済み。
なお、マッチング前の 記事名とURL対応データはそれぞれ下記の方法で作成した。
ココログの記事件名とURLの対応ファイルはアクセス解析のPV数ランキングで開始日を2年前にして表示したのをコピーして、エディタで加工して作成した。
wordpressの記事件名とURLの対応ファイルはエクスポートしたxmlファイルから
<title> の文字列でgrepした内容と <link> の文字列でgrepした内容から必要な項目だけにしてから、サクラエディタの矩形編集で加工して一行に並べて作成した
②のEXCELで記事件名からURLを確認すると URLに年月日が含まれているので、
①のPCにダウンロード済みの該当年月日のフォルダに移動して元画像を
全て一つのフォルダにコピーした。
コピー後のファイル名は一律に _l を手作業で追加した。(同じファイル名のままでも既に1月なので別フォルダに配置されるので同じでも良かったが・・・)
メディア > 新規追加で まとめてファイル選択してドロップしてライブラリに登録した。
全て2019/01のフォルダに配置された。
50枚ぐらいの写真があった。
画像ファイル名で投稿記事を検索し、 その記事を編集。
htmlで編集。
画像名をページ内検索して、該当箇所に移動。
ファイル名に _l を追加。 URLが yyyy/mm/ddになっているのを 2019/01 に変更
<a href="https://cycle-pedal.com/wp-content/uploads/2019/01/img_20181124_150832_l.jpg"><img title="Img_20181124_150832" src="https://cycle-pedal.com/wp-content/uploads/2018/12/img_20181124_150832.jpg" alt="Img_20181124_150832" width="600" height="470" border="0" /></a>
これは手作業で行ったので数時間かかった。
3.SEO他実施(サイトマップ、リダイレクト)
”ココログ Wordpress 移行” で 検索して出てくるページを参考にして、
以下も完全ではないが実施しておいた。
サイトマップ : wordpressは プラグイン Google XML Sitemapsをインストールして有効化して終わり。
ココログ側は Gwebcrawler で現在のサイトマップ作成後に
EXCELで作成済みの新旧URL対応表とサクラエディタを駆使して、サイトマップ作成。
サクラエディタは矩形編集、正規表現で文字列検索したり置換したりできるので
簡単にできた。
旧URLと新URLを一行に並べたファイルを作り
旧URLと新URLの間の入れておいた文字列(タブ ¥t)を ¥r¥n に置換して、旧URLの行の下に新URLの行にしてから、前は矩形編集で追加、後は改行文字列を置換することで文字列追加して
記事毎にココログのURLの直下に新ブログのURLを並べたサイトマップを作製してココログにアップロード。 既存のサイトマップがあるフォルダにアップロードしたが、トップに入れるという記事もあったので、そこにもアップロードした。
ココログの記事を開いたら、新ブログを優先し、5秒後にリダイレクトする設定
<link rel="canonical" ref="https://新サイトのパーマリンク" />
<meta http-equiv="refresh" content="5;URL=https://新サイトのパーマリンク" /
をココログの記事毎に <head> と</head> の間に入れてからココログにアップロードしてファイル置き換え。
アップロードは コントロールパネル > ファイル で アップロード先の現在のフォルダから選んでから新規アップロードするファイルを指定してアップロード。
これは手作業でやったので 300記事もやりたくなかったので、過去によく読まれている
記事だけ選んでやった。 (一ヶ月後にココログ 解約するのであまりやっても効果ないと思った)
ココログから全画像ダウンロードして、新ブログへ全画像をFTP転送したはずなのに記事に表示されない画像が数十枚あった。
手作業でそれを目視確認してアップロードしたが、 後日リンク切れをチェックするwordpressのプラグイン Broken Link Checker を入れたら、更に手作業で漏れたものや外部の無くなったページまでチェックしてくれた。
最初からこのプラグインを入れれば良かった。
4. 常時SSL化
無料でSSL化できるサーバーだったので、手順参考にして実施して、当初からhttpsでアクセスできるようになっていた。
試しにhttpでアクセスしたときも、当初httpsでアクセスできていた記憶だったのだが、しばらくしてhttpでアクセスしてみたら、httpでアクセスしていた。
httpでアクセスしたらhttpsへリダイレクトする下記の設定を .htaccess へ追加した。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
たままた参考にしたページにあったこの設定で問題なかったが、記事によって
微妙に設定内容が違っていた。
offの部分が !=on [NC] だったり、 [L、R=301]の部分が[R、L]だったり
にほんブログ村