はじめに
案件でwprdpress構築を任せていただき、クライアントオッケーがでて、いよいよ公開!のタイミングになりました。
スムーズにクライアント希望時間に公開できるようにいろいろと下準備をしましたので、メモ代わりに書きます。
(実際には、まだ公開はしていないのでミスが発覚したら、随時書き換えます。)
経緯
とあるサイトにて、40ページ近くあるコンテンツを最初はhtmlで組んでほしいとの依頼で制作をしたものの、やはり自分たちで更新をしたいからCMS(wordpress)で作り直してほしいとのことで再度制作。
環境
新規でドメイン・サーバー(xさん)を契約し、htmlファイルを置いていました。
サブドメインにwordpressをインストールし、basic認証をかけながら構築を進めました。
なので、実質wordpressでの新規のサイト構築といったかんじです。
cssやjsは手を加えなくて済んだんで、助かりました〜。
WP構成
サブフォルダ
wordpressのインストール先をテスト・公開ともに、フォルダを一つかましています。
home/public_html/__cms
こうすることで、__cms
と同階層にindex.php
を置かない限り、テーマは表示されない。(ディレクトリアクセスされたら、エラーは出ますが少しの間なのでokとしておきます。)
なので、公開サイトに本来の静的ファイルを公開しつつ、裏ではテーマ移行を進めておくことができる。
worpressを本番サイトにインストールして、テスト環境とは別にデータベースも作成しておく
/assets/
また、__cms/
と同階層にassets/
をおき、その中にcss・js・img
等をぶち込んでおく。必要なのはimg
のみですが
こうすることで、静的ページなんかは長ったらしい画像パスを書かなくても、/assets/path/to/img
で読み込むことができる。
※元々の静的ファイルも画像パスは、全てルートパス読み込みしています。
データベース
エクスポート
phpMyAdminを使用して、テストサイトのデータベースを複製(エクスポート)する。
- エクスポート方法は、全てのテーブルをインポートする場合は**「詳細」**(必要に応じて除外選択できる)を選択する。
- 生成オプションについては、
DROP TABLE / PROCEDURE / FUNCTION ...
を選択しておくといいらしい。(ドキュメント参照)
DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」オプションを選択します。復元するデータベース上でテーブルを作成する前に、同名のテーブルが存在すれば DROP コマンドでこれを削除します。
- あとは触らなくても、デフォルトで基本おkのはず。今回は特に触っていません。
そしたら、sqlファイルが出力されます!
インポート
今度は、新しく作成したDBに先ほどエクスポートしたDBを反映(インポート)させる。
インポートファイルを読み込んで実行する!
これでDBの複製ができる。
注意
今回の案件では一箇所かなとは思いますが、DB内にドメイン
が記述されている箇所がある。
**そこをテストドメイン→本番ドメインに書き換えないとエラーが起こってサイトが見られない。**ここは注意してねと言われただけなので、詳しく理解できていない、後日調べなければ!
今回変更したのは以下
wp_options option_name: site_url
wp_options option_name: home
20.06.19 追記
参考:https://www.vektor-inc.co.jp/post/multisite_iko/
テーマ
テーマの以降をする際は、duplication
を使うことが弊社では多い。しかし、今回は新規構築とのことで、プラグインを使用せずに、テスト環境から該当ファイルをインポートした。
テーマ移行に必要となるものは以下
- themes / theme_name / 該当のテーマファイル一式
- uploads (メディアアップの画像等が保管されている)
- plugins インストールされていたプラグイン。これがインポートもエクスポートも時間かかる。我慢。
確認
ひとまず、上記が一通り完了したら、ちゃんと反映されているか確認する。緊張する。
https://domaindesu/__cms/wp-admin/
で管理画面にアクセス。
(本当は、セキュリティのために管理画面URL変えていますが!)
投稿データ等間違えがなければひとまずおっけ
公開
サブフォルダにwordpressをインストールすると、同階層にindex.php
を置かないと、サイトアクセスできなくなるので注意。
テストサイトに置いているindex.php
を公開サイトに映して完了~~(のはず。。。現状、実作業がまだなのでわからない、、、)~~
あと、テーマのパーマリンクディレクトリと既存の静的URL(ディレクトリ)が同一の場合は、静的を消しておかないと、503エラーが出る。
怖い。
index.php以降のタイミングの前に消しちゃいましょう!
スムーズに行くはずといっても、瞬間的にサイトが見れなくなるタイミングはあるので、メンテナンス画面も一緒に準備して、.htaccess
でリダイレクトするとよし!
公開終了後には、コメントアウトするなりしないと、忘れたら怒られる。
最後に
本番公開うまくいくといいな。 無事完了しました!