baserCMSからwordpressへサイトを移行する工程の覚書です。
弊社がbaserCMSでサイトを作成することはありませんが、既存サイトのリニューアルでbaserCMSからWordPressに移行することが偶にあります。
今回は固定ページの移動を行ってみます。カスタム投稿タイプと違い、カスタムフィールドやカスタムタクソノミー、スラッグ被り等の考慮をしなくて良いので楽です。
baserCMSからwordpressへ固定ページ移動の流れ
- baserCMSから固定ページのデータをCSVでエクスポート
- CSVのデータをWordPressでインポートできるように加工
- WordPressでCSVをインポート
の流れで作業します。
データのエクスポートにはphpMyAdminを利用。
今回、CSVの加工全般はGoogleスプレッドシート、WordPressでCSVデータを読み込むのは、プラグイン『Really Simple CSV Importer』を利用します。
固定ページをエクスポート
phpMyAdminにログインします。
MySQLからCSV形式でテーブル「mysite_pages」をダウンロードします。
この際、詳細オプションで「1行目にカラム名を追加する」にチェックをしておきます。
CSVを加工する
Googleスプレッドシートで適当なファイルを作成し、ファイル→インポート。
CSVをアップロードします。
大量の項目が並び、見ずらいので列、行とも幅を適当に狭くします。
※全選択で、適当な列や行の幅を狭めます。
投稿タイプの移動と違い、固定ページはシンプルです。
付随するカスタムフィールド、タクソノミー、公開日など、気にしなくても良い項目は多いです。
いらなそうな項目はどんどん消していきましょう。
フィルタも使い、非表示状態(statusが0)のページも消しておきます。
このあたりも固定ページの移動の場合は必要なさそうです。
最終的に、下記の項目のみ残しました。
カスタム投稿タイプに比べてかなり楽です。
親子関係があったりする場合はもう少し項目は必要になるでしょう。
name
title
description
contents
status
created
『Really Simple CSV Importer』を参考に、カラムの名前を変更します。
このような感じで項目名を変更します。
post_status(公開状態)はpublishにしておきます。
また、投稿タイプの指定も忘れてはいけません。
post_typeの項目を追加し、pageを指定します。
コンテンツの加工
この時点で、コンテンツ内の画像リンク等は正規表現を使った置換で修正しておくと、後々楽でしょう。
詳細は割愛しますが、例えば画像リンクや、Baser特有のページ内のPHPコード等です。
[code]
<?php $this->BcBaser->img(‘/img/common/○○/○○.png’,array(‘alt’=>”)); ?>
[/code]
また、画像をクリックすると「同じサイズの画像」がポップアップ、等の意味のないコードも削除しておきます。
正規表現を使った置換を数多く行うので、一旦何らかのエディタ(PhpStormやVisual Studio Code)で作業しても良いかもしれません。
CSVをWordPressにエクスポート
ある程度コンテンツの置換も済んだところで、CSV形式でローカルにダウンロードします。
プラグイン『Really Simple CSV Importer』をインストールします。
WordPress管理画面のツール→インポーターからCSVインポーターを実行します。
無事固定ページがインポートされました。
後はWordPress側で細かい修正を行い(これが大変な部分なのですが)、完了です。