wordpressとデータベースの関係

wordpressはHTMLを自動的に生成して、利用者はフォームに文字の入力や画像を張り付けるだけでホームページを公開できる仕組みを持ったプログラムのことを言います。こういったシステムのことをCMSと言います。これが登場しだす以前は、テキストエディタを使ってHTMLや文章の入力を行っていた経緯があります。

wordpressのデータベースとは?

wordpressで出力するための記事などの情報を保存している領域のことをデータベースといいます。かつてのHTMLファイルと同様にwordpressでも本体のシステムファイルはウェブサーバに保存されています。一方、データベースは別のコンピュータに設けられていることが多いです。そして、wordpressはデータベースがなければ動きません。一般に、phpMyAdminというウェブアプリケーションで操作します。以下はMySQLを利用した解説になります。

データベースに保存されている情報

記事をはじめ、ユーザ名やパスワード、カテゴリ、プラグイン、コメント、各種設定内容が保存されています。また、画像と記事、或いはwordpressのどのプラグインやテーマファイルが使用されているを紐づけた情報もここに保存されています。

バックアップに必要なものは?

プラグインやテーマファイルなどはwordpressのシステム本体に入っているため、完全にバックアップするには、wordpress本体とデータベースの両方が対象となります。ただし、wordpress自体は本家からいつでもダウンロードできるため、厳密には本体そのものをバックアップしなくても、プラグインとテーマファイルのみで事足ります。

他ドメインへ移行するには?

データベースのwp_optionsなどには、シリアライズされたデータも存在するため、SQL文によるURLの一括変換ではwordpressのプラグインがうまく動作しないこともあるようです。

筆者はダウンロードしたSQLファイルをサクラエディタでドメインを一括置換し、そのまま新ドメインにアップロードしていますが、今のことろpluginや画像も含めて問題はないようです。

また、wordpressのデータベースの移行をはじめるにあたり、バックアップをとってから行ってください。慣れてくるとついつい手抜きしてしまいますが、そういう場合は自動的にバックアップするようにして置くと安全です。

テキストエディタで一括変換

  1. phpMyAdminの「エクスポート」タブから「詳細 - 可能なオプションをすべて表示」で、以下を選択。コメントなど、他に使っているものがあれば、それも選択します。不要なものは取り除いて下さい。
    1. wp_postmeta
    2. wp_posts
    3. wp_term
    4. wp_term_relationships
    5. wp_term_taxonomy
  2. 「CREATE TABLE コマンドを追加する」と「挿入前にテーブルを空にする」のチェックを外す。
  3. ダウンロードしたファイルをテキストエディタで、旧ドメインから新ドメインへ一括置換。
  4. 移行を行う予定のサーバでは新たにwordpressをインストールして、初期設定を行う。また、テーマファイルなどもアップロード。
  5. 上記でエクスポートしたものは、移行を行う予定のデータベースへインポートする。

wordpressでpluginがうまく動作しない場合

wordpressでデータベースを移行した際などに、プラグインがうまく動作しないことがあります。また、wordpressをがっつりいじってると、plugin編集画面で編集できなくなることもあります。そんな時、一旦、無効化することでうまく動くことがあります。

SQL文での無効化

「UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins';」
これで全て無効化されますが、個別に削除してからもう一度入れなおして有効化しても構いません。

SQL文での確認

「SELECT * FROM wp_options WHERE option_name = 'active_plugins';」
この命令文で、現在動作している数やパスなどが分かります。

長く安定しそうなレンタルサーバを選ぶのが吉

ワードプレスとデータベースは切っても切れない関係にありますが、それ以前にホームページを公開するなら、サーバなども必要です。また、インストールされているソフトウェアの種類やPHPのバージョンといった環境も考慮する必要がありますが、多くの共用サーバではワードプレスが使えるようになっていますので、使えるかどうかの心配はあまり必要ありません。

ただ、ワードプレスは普通の静的なHTMLファイルと違ってどうしても表示が遅くなります。それは表示時に色んなプログラムを動かしているからです。CMSの宿命ですね。

そのため、表示に時間のかかるレンタルサーバは避けたいものです。しかし、速いと言われているレンタルサーバも年数の経過と共に変化します。かかる費用にもよりますが、なるべく安定したところを選ぶのが得策です。

速いからといってその都度変更していたら、あまりにも面倒くさいからです。企業によって管理パネルでの制御やその方法がかなり異なるのもネックとなりますね。静的なHTMLファイルで構築しているサイトならそれほど難しいものではありませんが、ワープレはデータベースがらみの問題が多く、画像が表示されないなどの面倒な作業が増えます。

まとめ

ワープレとデータベースの関係、いかがでしたでしょうか?かつてはメモ帳などのテキストエディターを使ってホームページを作成していた時期もありましたが、ワープレをはじめとするCMSの登場で、誰でも簡単に情報発信をできるようになりました。CMSとは「Contents Management System」の略で、コンテンツを管理する仕組みのことを意味します。つまり、ワープレはデータベースとテンプレートなどによってコンテンツを管理するプログラムのことです。