コーポレートサイトをWordPressに入れ替える時に苦労したこと

勤めている会社のウェブ担当になって1年半程になりましたが、ようやく最初の大きな仕事が一段落しました。

これまで静的なサイトで運営していたコーポレートサイトをWordPressを使って動的なサイトに切り替えました。

従来は業者に委託していて、部分的に変更があったら高額なお金を払って修正してもらってた感じです。

コストがかかる上に、担当らしい担当も不在だったため5年前の情報が掲載されたゾンビサイトができあがりました。

去年から僕が担当をするようになり情報を新しくしていったのですが、静的なサイトだと1つのページを追加したり削除するたびに、全ページを更新しないといけないというのが死ぬほど大変でした。

もちろん地道な作業をすれば済むだけですが、今後誰が担当をしても更新しやすいようにWordPressを使ってコンテンツ管理をしようと入れ替え作業を進めていました。

入れ替えの過程と苦労した点を書き留めておきます。

テーマ作成

半年ぐらいはテーマ作成に費やしました。この仕事だけだったらもっと短期間で済みますが、他の業務をしながらなので長引きました。

ローカル上に仮想環境をつくってそこに構築するという手法がスタンダードですが、僕はこのブログで使っている個人のサーバーを使ってやりました。もちろん非公開状態にしてnoindexで検索エンジンに登録されないようにした上です。

これが少しミスだったな、というのは後述。

カラーリングは元のサイトからあまり変えず、レイアウトをいろいろ動かしたということで、デザインについてはあまり力を使っていません。

ほとんどコーディングに終始し、特にPHPで動的に動かすところは調べては記述しての繰り返しでした。とても良い勉強になりました。

基本的な編集はHTMLを触らずWordPressからできるようにしたかったため、テスト環境であらかじめ固定ページを作成したり画像などのメディアを登録しておきました。

入れ替えの手順

入れ替えの準備としては、あらかじめ現行のデータをサーバーからローカルにバックアップを取っておきます。

そして作成したテーマファイルと、テスト環境で使っていたWordPressからデータをエクスポートします。

エクスポートはダッシュボードのツールから行います。記事やページなどの情報が入っています。メディアの登録情報も入っていますが、メディアのデータ本体はついてこないので、これはFTPソフトを使ってローカルに落としておきます。

メディアのデータとプラグインの設定もまとめてエクスポートしたい場合はこのプラグインを使えばいいのですが、無料だと容量に制限があって今回は使えませんでした。

次に空のデータベースを用意します。これはphpMyAdminから行います。WordPressを新規インストールしたあとにこのデータベースを登録、WordPressデータをインポート、メディアファイルをFTP経由でアップロードするという手順です。

サーバーによっては簡単インストールという形でWordPress本体とデータベースの作成・紐付けまでしてくれるものもありますが、インストール先を間違えてサーバーの中身をふっとばしかねないので、WordPress本体もFTPから手動でインストールします。

メンテナンス中の表示をする

設定をしている間にアクセスされるとうまく表示されずに「このサイト終わってるな」と思われちゃいますので、メンテナンス中を知らせる表示をします。

やり方はこのサイトがわかりやすく書かれています。

https://migi.me/wordpress/travel-maintenance/

maintenance.htmlというファイルをつくり、適当に「メンテナンス中です」と書いておきましょう。

そして,htaccessに

ErrorDocument 503 /maintenance.html

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !=/maintenance.html
  RewriteCond %{REMOTE_ADDR} !=0.0.0.0
  RewriteRule ^.*$ - [R=503,L]
</IfModule>

と記述してmaintenance.htmlと一緒にサーバー直下に置けばOKです。

よく見ずに知らないまま進めてましたが、RewriteCondに自身のIPアドレスを入れておけば自分だけ見られるという状況にできるそうです。

https://www.cman.jp/network/support/go_access.cgi

IPアドレスはこのサイトで調べればOKとのこと。

バージョン違いでトラブル

インストールを進めていったのですがここで大きなトラブル。

最新のWordPressがインストールできず、サーバーが最新のPHPに対応していないことが原因でした。

仕方なくWordPressの古いバージョンをインストールし直します。古いバージョンは以下のリンクにあります。

これで解決すれば楽だったのですが、うまくページが表示されず。

どうやらプリインストールされている公式テーマなら表示されるが、自分でつくったテーマは表示されません。

これもバージョン違いによる弊害で、コードの規則が違うようですね。例えば古いバージョンでは配列をarray (a, b, c)と記述していたのが、最新バージョンでは[a, b, c]と省略した表記にできます。

逆に言えば、[a, b, c]と記述していれば古いバージョンでは正常に動きません。この辺りの記述を直すと表示されるようになりました。

プラグインも公開されている最新バージョンは古いWordPressでは正常に動きません。

このサイトで紹介されているCompatibilityという項目が見つからなかったので、検索して調べるか正常に動くか総当りで対応するバージョンを選んで、ダウンロードのURLを変えてプラグインをインストールしていきます。

そこまでやってようやくまともに見られるようになりました。2時間ぐらいかかってしまいました。

最新のPHPを使えるサーバー

この対応の後、契約しているサーバーに問い合わせたところ現在の契約では最新版のPHPは使えないと言われました。

「そんなことあんのかい」って感じではありますが、別のサーバーを探すほかありませんね。

とまぁ、それは別の話で。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です