この記事は内容がだいぶ古くなっています。今は、WordPress と EC-CUBE の組み合わせはお勧めしていません。詳しくはこちらのエントリーをご参照ください。(2019.9.13 追記)

EC-CUBE が大好きで、このブログでも何度か取り上げてきましたが、ついに EC-CUBE とはお別れする時がやってきました。これから EC-CUBE の導入を検討している方に向けて、なぜ EC-CUBE をやめることにしたのか、その理由を説明します。きっかけは PHP のバージョンアップEC-CUBE から離れなくてはならない最大の理由は、PHP のバージョンアップです。PHP は Webアプリケーションに広く普及しているプログラミング言語で、EC-CUBE は PHP で作られています。この PHP の仕様が変更になり、バージョン7に引上げられました。私が愛用して...

WordPress と EC-CUBE を同じドメインにインストールするのは、わりと簡単にできます。ブログやコンテンツは WordPress を使い、ショッピングカートは EC-CUBE を使えば、月額無料で集客力のあるネットショップを運営できるので、是非挑戦してみてください。(レンタルサーバー代や決済基本料は別途必要になります)

EC-CUBE+WordPressがなぜスゴイのか?

ネットショップでの集客方法は、広告を打つとかSNSで宣伝するなど色々な方法がありますが、検索エンジン対策上、取得したドメイン内のコンテンツを増やすことはもっとも重要です。だからこそ、手軽にコンテンツを増やす仕組みの整っている WordPress は人気が高いのです。

ネットショップを簡単に構築できるカラーミーやBASEなどは、ネットショップを運営する機能は揃っていますが、コンテンツを増やす仕組みは物足りません。FutureShop2 や MakeShop など高機能なASPならWordPress オプションを選択できますが、月会費が割高になってしまいます。

その点、EC-CUBE + WordPress の組み合わせは、ランニングコストを抑えつつコンテンツを増やし集客に結び付けていけるので、最強の仕組みと言えるのではないでしょうか。

そこで今回は、同じドメイン内に EC-CUBE と WordPress をインストールする方法を解説します。

まず、EC-CUBE と WordPress どちらをメインにするか考える

例えば、トップページを EC-CUBE にするのか、WordPress にするのかで、インストールの方法が変わってきます。また、メインのコンテンツを WordPress で作るのか、EC-CUBE でつくるのかも、あらかじめ決めておいた方が良いです。

EC-CUBE をメインにする

トップページや固定ページを EC-CUBE で製作し、ブログ部分だけ WordPress にする方法です。ネットショップで扱う商品の数やカテゴリが多いときにお勧めの方法です。EC-CUBE をトップページにすると、お勧め商品などをトップページで紹介しやすくなります。ただし、EC-CUBE は、記事をブロックで作成するので、WordPress に比べると、記事を作成したり更新したりするのにちょっと手間がかかりるというデメリットがあります。

WordPress をメインにする

ブログや固定ページを WordPress で製作し、ショップ部分だけ EC-CUBE にする方法です。商品点数が少ない場合はこちらがお勧めです。また、記事の作成や更新は WordPress の方が優れていますので、トップページに投稿一覧を表示したいとか、固定ページを頻繁に更新したいというときに向いています。

EC-CUBE のインストール

EC-CUBE、WordPress のどちらをメインにするのかにかかわらず、まず、WordPress より先に EC-CUBE をインストールします。
ただし、EC-CUBE をメインにする場合は、htmll フォルダの中身をドメイン直下に転送する必要があります。

インストール方法は以下でご紹介していますので、ご参照ください。

EC-CUBE 2.13系のインストール

EC-CUBE 3系のインストール

WordPress のインストール

次に、WordPress を手動でEC-CUBE のフォルダにインストールします。

ワードプレス本体をダウンロード

WordPress 日本語ローカルサイト で、ワードプレス本体をダウンロードします。

ダウンロードしたら解凍しておきます。

FTP で EC-CUBE のフォルダへ転送

FTP で EC-CUBE をインストールした場所に全てのファイルを転送します。
例えば、EC-CUBE を public_html/html 内にインストールしている場合は、WordPress もpublic_html/html 内に転送します。

転送後、wordpress フォルダの名称を変更する場合は変更します。wp とか post とか。

インストール開始

ブラウザから転送先の wp-admin/install.php にアクセスします。

データベース情報を入力します。
データベースユーザー名を EC-CUBE と合わせておくと、phpMyAdmin でデータベースをいじる時、1回のログインで EC-CUBE と WordPress の両方のデータベースを見られるのでお勧め
セキュリティ上問題があるので、分けた方が良いです。

送信ボタンをクリックすると、インストール前の確認画面が表示されます。
インストール実行ボタンをクリックします。

ブログの設定画面が表示されます。
入力して、WordPress をインストールボタンをクリックします。
これで、WordPress のインストールは終了です。

念のため、install.php は削除するか、名前を変更しておきましょう。

トップページを設定する

EC-CUBE をトップページにする場合

インストール時に、すでにドメイン直下にファイルを転送してある場合

インストール時に、ドメイン直下に html フォルダの中身を転送してあれば、すでに EC-CUBE がトップページになっているはずです。

インストール時に、html フォルダごとファイルを転送した場合

html フォルダごとファイルを転送してあるときは、FTP で、html フォルダの中身をドメイン直下に移動させる必要があります。
(この処理をすると、EC-CUBE が動作しなくなる可能性がありますので、バックアップを取り、慎重に行ってください)

define.php の修正

define.php の 3行目にある define(‘HTML2DATA_DIR’, ‘../data/’); の 「’../data/’」は、html フォルダから見た data フォルダの位置になります。

define(‘HTML2DATA_DIR’, ‘../../data/’);

↓ に変更する

define(‘HTML2DATA_DIR’, ‘../data/’);

public_html 内に htmlフォルダを置いているときは、html フォルダから data フォルダは 2階層上になりますので、「’../../data/’」になります。
ドメイン直下にファイルを転送した場合(html フォルダを介さない場合)、data フォルダは 1階層上になりますので、「’../data/’」のままでOKです。

config.php の修正

data フォルダの中の config フォルダの中にある config.php をダウンロードし、以下のように修正してから、再度転送します。

変更前

define(‘HTTP_URL’, ‘https://ドメイン名/html/’);
define(‘HTTPS_URL’, ‘https://ドメイン名/html/’);
define(‘ROOT_URLPATH’, ‘/html/’);

変更後

define(‘HTTP_URL’, ‘https://ドメイン名/’);
define(‘HTTPS_URL’, ‘https://ドメイン名/’);
define(‘ROOT_URLPATH’, ”);

以上です。
動作確認して、正しく表示されないときは、キャッシュを削除してください。data フォルダ内の cache フォルダの中のファイルを削除し、EC-CUBE の管理画面のパラメタ管理で、内容は変更せずにいったん保存をかけます。これでキャッシュをクリアすることができます。

WordPress をトップページにする場合

WordPress のルートにある「index.php」を開き、ドメイン直下からの「wp-blog-header.php」ファイルの位置を指定し直します。
例えば、WordPress のインストール先が、public_html/html/wp/ の場合、ドメイン直下から wp-blog-header.php の位置は2階層分下になりますので、以下のように変更します。

require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );

↓ 変更

require( dirname( __FILE__ ) . ‘../../wp-blog-header.php’ );

変更した index.php ファイルをドメイン直下にコピーします。元のファイルは削除せず、そのまま残しておきます。
これで、WordPress がトップページに表示されるようになります。

EC-CUBE に WordPress の投稿記事を表示

EC-CUBE 2系でしたら、以下の記事のとおりに設定すれば、WordPress の投稿を EC-CUBE のブロックにして表示させることができます。

EC-CUBEとWordpressの連携をプラグインを使わずに実装してみました。ブロックによるWPの新着記事出力とEC-CUBE側の商品検索ワードとWP側のタグを使った関連記事出力をご紹介。

EC-CUBE 3系は、Symfony フレームワーク上で動作しているため、Wordpress の投稿を引っ張ってくるのは無理そうです。WordPress としっかり連携させたい方は、EC-CUBE 2系を選択した方が良いでしょう。