デザインそのままMovable Type→WordPress移行

2022/08/23 What's Up, サイト制作, 技術系 投稿者:

デザインそのままMovable Type (MT) から WordPress (WP) に移行をしましたので、その備忘録です。

移行の要件

・MTバージョン6.8.6からWPバージョン6.0.1に移行
・同一サーバー内でMTを止めることなくWP化を行う
・全ページのデザインはそのまま(オリジナルテーマ化)
・全ページWPで編集できるようにする(固定ページ・テーマファイル化)
・問い合わせなどのフォームはプラグイン化

 

移行の全体の流れ

WPの設置
  ↓
投稿記事の移設
  ↓
WPテーマの新規作成
  ↓
css、jsなどのファイル移設
  ↓
共通箇所(ヘッダーフッターサイドバー)の移設
  ↓
トップページの移設
  ↓
サブページの固定ページ化
  ↓
投稿記事・一覧ページの整備
  ↓
その他ページ、フォームの整備
  ↓
切り替え

ある程度WordPressをカスタマイズできる方向けの内容となっています。
サイトの内容や、MT・WPなどのバージョンによっても対応が異なりますので、参考程度にお願いいたします。

移行先のWordPressの準備

まず移行先のWordPressを準備します。
データベースを新たに作成し、ドメイン直下にwpフォルダを作成してWordPressをインストールします。
インストール方法は他に沢山記事がありますので省略します。

WordPressダウンロード / 公式howto

今回はwordpress-6.0.1をインストールしました。
WordPressのインストールが完了したら移行完了前まで検索に引っかからないようにするため、
管理画面の設定→表示設定→検索エンジンがサイトをインデックスしないようにする にチェックを入れておきます。

続いて基本的なプラグインを追加します。

追加したプラグイン

・Classic Editor(MTのソースを貼り付けて移行するため)
・WP Multibyte Patch(日本語文字化け対策)
・Yoast SEO などのSEO対策プラグイン(ページごとのディスクリプション・キーワード設定用)
・Yoast Duplicate Post などのページ複製プラグイン
・All In One WP Security & Firewall などのセキュリティ対策プラグイン
・Password Protected などのパスワード保護プラグイン(移行完了前までサイト全体にパスをかけました)
・Search Regex(投稿記事移行時の画像などのパス置換用)

投稿記事の移設

それでは投稿記事を移設します。

MT側エクスポート

MT管理画面の「ツール」→「記事のエクスポート」から投稿記事をエクスポートします。

WP側インポート

WP管理画面の「ツール」→「インポート」で「Movable Type と TypePad」のインポーターをインストールし、「インポーターの実行」をクリックします。

MT側でエクスポートしたファイルを選択、アップロードしてインポートします。

記事の投稿者として新規ユーザーを作成するか、既存ユーザーに割り当てるかを選択し、インポートを実行します。

カテゴリーは自動で生成されますのでWordPress側で作成する必要はありません。

投稿画像の移設

これを行わないとMT側の画像ファイルを削除した場合リンク切れします。

/httpdocs/wp/wp-content/uploads 内に、oldフォルダを作って投稿記事内のアップロード画像をコピーしてきます。

MTは投稿時に毎回アップロード場所を指定できるので、アップロード場所がバラバラだった場合画像を集めるのに苦労します…
あまりおすすめしませんがMT側の画像をそのまま残せば、移行しなくても表示には問題ありません。

投稿記事内の画像パスを置換

プラグイン「Search Regex」で投稿記事内の画像パスを検索置換します。

使い方の参考記事はこちら
https://blog-bootcamp.jp/start/wordpress-searchregex/

「img」や「href」で検索をかけ、漏れの無いように置換していきます。

置換例
https://*****.jp/mt/img/

https://*****.jp/wp/wp-content/uploads/old/

記事を表示して、MT側を読みにいっていないか確認します。

※プラグインを削除すると置換した内容が巻き戻ってしまったので、使用後に削除しないよう注意してください。(無効化までなら大丈夫です)

WordPressテーマの新規作成

デザイン移行のためWordPressテーマを作成します。
元のソースがMTというだけで、新しくテーマを作成する方法と同じです。
テーマ作成については他に沢山記事がありますので、細かい説明は一部省略しています。

今回サンプルとして移行するのはMT公式テーマの「Eiger」です。

wp/wp-content/themes 内に新規フォルダを作成します。
今回はsampleと名付けました。このフォルダ内に以下のファイルを作成していきます。

index.php

テーマの必須ファイルで、front-page.phpやpage.phpなどのテンプレートが存在しなかった場合に表示されます。
今回は各テンプレートを作りますので一旦空で作成しておきます。

style.css

テーマの必須ファイルで、テーマ情報を記述します。
: 以降を適宜変更します。

screenshot.png

テーマのサムネイルになります。サイズは横880px 縦660pxが推奨。
今回は移行前のトップページをスクショしたものにしました。

functions.php

WPで使う色々な設定を記述します。
記述間違いがあるとサイト全体がエラーになることもあり、変更時はバックアップをとるなど注意が必要です。
このあとで使う設定を先に記述しておきます。

テーマの変更

WordPress管理画面の外観→テーマ で今回新しく作ったテーマに変更します。

サイトはまだ真っ白な状態ですが、これから各パーツを作っていきますので、表示確認をしながら進めて行きます。

css、js、imagesの移設

テーマフォルダに以下3つのフォルダを作成します。
css/
js/
images/

MT側のテーマで使っている全てのcss、js、imagesをここにコピーしてきます。
基本的には mt/themes/テーマ名 の中に入っています。

css内で@importで読み込んでいるcssなども忘れず持ってきます。

ヘッダー・フッター・トップページの作成

移行前のサイト上で右クリック「ページのソースを表示」を行い、そこから各パーツを切り出してきます。
その際、パスの書き換えも行います。

パスの書き換え方法

※パスは全て移動先に合わせてください。

ホームURLを出力するコード

サイトURL部分を <?php echo esc_url( home_url( ‘/’ ) ); ?> に差し替えます。
また、WordPressではページURLに.htmlや.phpなどの拡張子が付きませんので、削除しておきます。

<a href=”https://*****.jp/mt/about/about.html”>アバウトページ</a>
↓変更
<a href=”<?php echo esc_url( home_url( ‘/’ ) ); ?>about”>アバウトページ</a>

テーマURLを出力するコード

cssやjsまでのパスを <?php echo get_template_directory_uri(); ?> に差し替えます。

<link rel=”stylesheet” href=”https://*****.jp/mt/styles.css”>
↓変更
<link rel=”stylesheet” href=”<?php echo get_template_directory_uri(); ?>/css/styles.css”>

css、js内のパスの書き換え

css、js内にパスがあれば相対パスで修正します。

@import url(/mt/themes/eiger/css/base.css);
↓変更
@import url(base.css);

content: url(/mt/themes/eiger/images/arrow.png);
↓変更
content: url(../images/arrow.png);

header.php

<html>から全ページ共通ヘッダーの終わりまでを記述します。
title・description・keywordタグは各ページごとに設定しますので削除します。

<?php wp_head(); ?> を</head>の直前に追加します。プラグインなどの情報を出力するコードです。

※サンプルでは余分なものは全て削除しています。

footer.php

全ページ共通フッターの始まりから</html>までを記述します。

<?php wp_footer(); ?> を</body>の直前に追加します。プラグインなどの情報を出力するコードです。

sidebar.php ※サイドバーがある場合

サイドバー部分を切り出したものを記述します。
検索窓部分は
<form method=”get” action=”<?php echo home_url(‘/’); ?>”>
<input name=”s” type=”text”>

でWordPress標準の検索機能が使えます。

front-page.php

トップページで表示されるファイルです。

最初に<?php get_header(); ?>でheader.phpを読み込み、
間にトップページのヘッダーフッター以外の中身部分を記述して、
最後に<?php get_footer(); ?>でfooter.phpを読み込みます。

サイドバーがある場合<?php get_sidebar(); ?>に置き換えます。

search.php ※検索窓がある場合

検索結果を表示するテンプレートです。

トップページの表示確認

これでトップは出来たので、表示確認して問題ないか確認します。
ソースも確認してMT側を読み込みに行っていたら修正します。

サブページの作成

サブページを作成していきます。

page.php

固定ページを表示するテンプレートです。

固定ページ

移行したいページで右クリック「ソースを表示」して、メインコンテンツ部分だけコピーしてきたソースを、
WordPress管理画面で固定ページを新規作成して貼り付けます。
タイトル下のパーマリンクの箇所がURLになりますので、文字化けしないよう英語で設定します。

固定ページ内の画像やリンクなどのパスをfunctions.phpで設定したショートコードに置き換えます。

ホームURLをショートコード [homeurl] に置き換えます。
<a href=”https://*****.jp/mt/”>ホーム</a>
↓変更
<a href=”[homeurl]/”>ホーム</a>

テーマURLをショートコード [themeurl] に置き換えます。
<img src=”https://*****.jp/mt/img/home-main.png” alt=””>
↓変更
<img src=”[themeurl]/images/home-main.png” alt=””>

ページの表示確認をして、崩れている場合はパスやタグの入れ子などが間違っていないか確認して修正します。
これを投稿記事以外の全ページ行います。

投稿記事テンプレート作成

single.php

各投稿記事が表示されるテンプレートです。

category.php

カテゴリー一覧が表示されるテンプレートです。
wp/category/カテゴリー名 で表示されます。

その他のページ作成

page-スラッグ.php

同じスラッグのページに表示されるテンプレートです。
page-blog.phpならば wp/blog/ ページの表示に使われます。
管理画面の固定ページ側でも同じスラッグでページを空で作成し、タイトルやデスクリプションなどの設定だけはしておきます。

今回は投稿記事一覧ページに使いました。

404.php

404ページです。ページが見つからなかった時に表示されます。

index.php

空で作成してあったindex.phpですが、テンプレートが無い場合に表示されますので、念のため成形しておきます。

お問い合わせなどのフォーム

フォーム作成にはContact Form7というプラグインをオススメしています。
使用方法は他に沢山記事がありますので省略します。

また、スパム対策プラグインにはHoneypot for Contact Form7をオススメしています。
→使用方法はこちら

サイト切り替え

全ページ移行完了したら、移行前のサイトを移行後のサイトに切り替えて公開します。

パスワード保護や検索エンジンのインデックス拒否設定を解除してから、
サイトURL/wp/ で表示している状態から wp/ を取りたいと思います。

こちらの記事を参考にさせていただき、切替を行いました。
https://pasonyu.com/how-to-change-wordpress-url-address/

※ドメイン直下に、ページと同名のフォルダがあるとそちらを表示してしまうので、どちらかをリネームします。

切替後全ページ動作確認をして問題なければ、URLを変更したページのリダイレクトをかけます。
ページ評価の引き継ぎのため、先に302リダイレクトを行い、問題なければ301リダイレクトにします。

リダイレクト方法の参考記事はこちら
https://htaccess.cman.jp/explain/redirect.html

まとめ

長くなりましたが今回はMT→WP化の備忘録を紹介しました。

移行するサイトによっては説明が足りないところがあると思います。
弊社ネディアではサイト・システム制作や保守管理サービスを行っていますので、
分からない、上手くいかないなどがございましたら代行いたしますのでご連絡ください。

他にもサーバ・ネットワーク保守なども行っておりますので、
ネットワークのことなら全てネディアにおまかせください。

お見積もり・お申し込み・お問い合わせはこちら
 

追記

【2022.11.08追記】
トップページ・ナビ・サイドバーを固定ページ・ウィジェット・メニュー化して、管理画面から気軽に変更できるようにする方法を、次の記事で紹介しましたのでこちらもぜひご覧ください。
https://www.nedia.ne.jp/blog/tech/website/2022/11/02/20726
 
 

カレンダー

 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
1234567
891011121314
15161718192021
22232425262728
       
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
     12
3456789
10111213141516
17181920212223
24252627282930
31      
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
     12
3456789
10111213141516
17181920212223
242526272829 
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
    123
45678910
11121314151617
18192021222324
25262728   
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
   1234
567891011
12131415161718
19202122232425
262728    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
1234567
891011121314
15161718192021
22232425262728
29      
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
      1
2345678
9101112131415
16171819202122
232425262728 
       
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
2425262728  
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
U・Iターン転職しませんか?
群馬データセンター
群馬の法人ITサポートサービス Wide Net[ワイドネット]
ワイドオフィス
イヤホンのブランドでハイクラスを誇る | n+um(エニューム)