デイトラ上級DAY22「WordPressサイトを本番環境に移行」でサブドメインに悩む

code

1月も終わりが近づき、あまりブログを更新していなかったので、「もう一本書きたいな」ということでちょうどいい題材をデイトラで見つけました。1月はデイトラ上級に苦戦していたのですが、なぜならWordPressのテーマ制作編に入っていたからです。

<?php get_template_directory_uri();?>とか

if ( has_post_thumbnail() ) {
  the_post_thumbnail( 'large' );
}とか

echo esc_url( get_category_link( $category[0]->term_id )とか

ホントに「何?急にどうした?」の呪文が毎回出てきます。ただのコピペ作業になっていました。

そんなことで1月はWordPressと格闘していまして、ブログが進まなかったわけです。

ただ上級DAY22は「まとめておきたいな」と思う内容だったのでこの記事を書きます。自分のためでもありますね。

DAY22は何やるの?

テーマ制作という上級のメインは既に終わっていて、ローカル環境で作っていたその成果物を「本番環境のサーバーに移行してみよう」がDAY22の内容です。初級の「ポートフォリオサイトを作ってみよう」もそうでしたが、実際に環境構築、ドメインやサーバーが絡んでくると「面倒くさい…」って思うんですよね。MacとWindowsで違ったり、デイトラはXserverで説明されているのですが、僕の場合はデイトラを始める前からこのブログをやっているので、他のサーバーを既に使っていて動作が若干異なっていたり、なんてことも。

「サーバーにWordPressをインストール」と最初から「Xserverでは…ここの…次に」といきなり関門が出てきますが、ここは「○○サーバー WordPressインストール」など使っているサーバーの情報を取りに行きましょう。そこまでマニアックなことではないため、簡単にヒットすると思います。

サブドメイン?サブディレクトリ?

デイトラの解説に「空きドメインがない方は、この作業の前にサブドメインを作ってくださいね!そちらにWordPressをインストールします」とあります。

「何?…ドメイン?…また?」

今回の僕の最大悩み箇所がこれでした。ドメインってポートフォリオサイトの時に作ったあれです、サイトの住所ってやつ。「またドメイン買うの?」安く買えるドメインもあるので「まあ、いっか」と思いましたが、そんな頻繁にみんなドメイン買ってないはず、なので調べました。まず「サブドメイン」って?

独自ドメインは例えば「shirokuma.com」ですね、com以外にもいっぱいありましたよね。サブドメインとは独自ドメインを分割するためのドメイン名で

「shopping.shirokuma.com」

「food.shirokuma.com」

「travel.shirokuma.com」など

兄弟みたいなイメージでしょうか。ブランドイメージの統一などのメリットが挙げられますが、なんといっても一番気になっていた、「ドメイン費用」が掛からない!これはデカい!

サイトの完成度を高め、一つの部屋をキレイにするのもいいけど、住所・土地はありますから、兄弟より「離れ」といったカンジでしょう。

ただ調べていくと「サブディレクトリ」というワードが出てきます。これはメインサイトの下層ページ扱いになるようです。「shirokuma.com/###/」という表記になり、増築でしょうか、メインサイトと内容がより近く関連性があって、内容を補う意味を持たせることに適しています。

長くなりましたが、つまり費用は掛からない!「常識だろ」かもしれませんが、初心者はそこからわからない。デイトラではどこのサブという指定はないため、僕は初級で作ったポートフォリオサイトの「サブディレクトリ」にしました。上級で何週間も作ってきた「成果物」ですからね、ポートフォリオサイトに関連していて、内容を補強しますよね。

というわけで、契約しているサーバーのサイト管理画面からWordPressをインストールします。これはサーバー会社が公式にQ&Aの形で説明してくれていたのでその手順に沿ってURL(shirokuma.com/###/の###の部分を決めます)、サイト名、メールアドレス、ユーザー名、パスワード、さらにデータベースのデータベース名、ユーザー名、パスワードと項目は多いですが、あとで必要となるのでしっかりメモしておきましょう。これらを入力するだけでWordPressのインストールは完了です。

ここでローカル環境と本番環境を区別したい、と考えてユーザー名とパスワードはそれぞれ異なるものにしましたが、あとでちょっと問題が…

サブディレクトリでも問題なくHello world画面になり、サイト名とJust another WordPress siteが出ました。余計なお金が掛かるのは困りますが「まぁこのくらいでパソコン壊れはしないだろ」と勢いでやってみるのもアリです。自己責任でお願いしますね。

次にデイトラではデータベースの「phpmyadmin」を使って「データベースの中身にアクセスできるよ」を教えてくれますが、我々初心者は「触るのこわ…変なとこ押したら…」ですよね。ここでデイトラから「そのくらい扱えなくてどうする!」と喝がはいります。

プラグイン『All-in-One WP Migration』は便利

これはデイトラの解説通りで大丈夫です。

①今まで作ってきたローカル環境と新しくインストールした本番環境のWordPressの両方にプラグイン『All-in-One WP Migration』をインストール、有効化でサイドバーに追加され

②ローカル環境からデータを送り出すので「エクスポート→ファイル」ファイルダウンロード

③本番環境はデータを受けるので「インポート→ファイル」でファイルを選択

④「開始」を押すと今まで作ってきたものと同じサイトが本番環境に移行できています!

ここで先ほどの問題、ローカル環境と本番環境のユーザー名とパスワードは違うものにしたはずが、本番環境の方のユーザー名・パスワードがローカル環境のものにどうやら上書きされたのです。勘違いではない…はず、「phpmyadmin」のwp_usersにユーザー情報も入っているためだと思われます。「そこまで移行するんだ…」と驚きました。

インストールした際の元のパスワード(A)がローカル環境を移行したことによりローカル環境で使っていたパスワード(B)になったようなので、「phpmyadmin」からユーザー情報のパスワードを(A)に書き換えて戻してみました。違う箇所を変更してしまったら大変、バックアップを取りましたが、データベースを触るのは慣れないとやはり不安です。

直しが発覚

無事に移行できたわけですが、サムネイル画像が入っていない投稿があったり、アイコンが読めていなかったり、ローカル環境では表示されていなかったはず、header.phpの中にコメントアウトの–>が残っていたり、とポートフォリオサイトの下層ページにするにはいくつか直した方がいい箇所が見つかりました。

コードを直す必要がありますから、VScodeでおかしなコードを修正し、ローカル環境を使ってチェック。

が、例えば「直したからsingle.phpだけを読んどいて」ができるのか?という問題が浮かびましたが、調べるとどうやらこれも『All-in-One WP Migration』で全て更新が簡単で確実とのこと。先ほどと同じ手順で再び移行し直しです。

今回はデイトラ上級DAY22「ローカル環境で作ったWordPressサイトをサーバーと使って本番環境に移行」をレポートしてみましたが、これは実際の案件でも確実に役に立つ内容でしたね。

「サブドメイン」は独自ドメインを分割する

「サブディレクトリ」はメインサイトの下層ページ扱い

DAY22はこれを教えたかったわけではないでしょうが、疑問に思ったことを調べて理解が深まったので良しとします。

ではまた

コメント

タイトルとURLをコピーしました