SEO対策 プログラミング

EC-CUBE4内にWordPressを設置(共存)する方法

EC-CUBE4 PHP Symfony Twig WordPress
EC-CUBE4内にWordPressを設置(共存)する方法
今回使用したバージョン

EC-CUBE4.0.5

WordPress5.6

※EC-CUBE4、WordPressのカスタマイズは自己責任でお願いします。また、現在稼働中のサイトで試す際には、必ずバックアップを取ってから行なうようにしてください。

 

EC-CUBE4とは

ネットショップを作るとなれば、様々なサービスが出回っていますが、自社運営をするとなればCMSを活用したものが多いでしょう。その中でも良く候補として挙げられるのがEC-CUBE4です。

 

ただ、せっかく自社運営のネットショップを作るのであれば、それなりに様々な機能が欲しくなりますよね。そこで今回はもう一つの有名どころであるWordPressとの共存方法についてご紹介します。

 

WordPressとの共存

WordPressの主な役割はブログCMSです。自社サイトやプラグインによってはネットショップとしても活用することができますが、セキュリティ面からもネットショップ単体の機能として見ればEC-CUBE4に軍配が上がります。

しかし、ブログ機能としてはやはり優秀なため、その役割は持たせるべくEC-CUBE4内設置して共存させるというのが今回の大きな目的です。同一ドメイン化で管理することでSEO対策を意識したり、ユーザーが行き来しやすい状態を作り上げます。 

※直下で管理できたからと言ってもSEO対策で大幅な効果が得られるというわけではありません。無理やり直下管理することで構成がどうなっているかがわからなくなったり、本来のEC-CUBE4のシステムに干渉・影響を与えてしまい管理できなくなるのであれば、サブドメインで分けるなどして別管理することをオススメします。

  

やりたいこと 

今回やりたいことは、以下のURLでアクセスすることでそれぞれの管理下へ移管させることです。

EC-CUBE4

https://ドメイン名 

WordPress

https://ドメイン名/blog

 

blog以下はWordPress管理、それ以外はEC-CUBE4による管理としています。もちろん、EC-CUBE4でblogというパスを使用していないことが条件となります。

 

設置場所

では、WordPressファイルの設置場所についてです。公式よりダウンロードしたファイルを解凍すると、wordpressというフォルダ名になっているので、それをblogに変更してEC-CUBE4のルートディレクトリへ設置しました。

 

ディレクトリの名称はパスの名称ではありませんので、wordpressのままでも構いませんし、それ以外に自分でわかりやすい名称をつけてもらっても構いません。

 

Controllerの拡張

通常、EC-CUBE4でページ追加するとuser_dataというパスが付与され、それ以降に自分の決めたパス名が付与されたURLとなります。ですが、これはUserDataControllerを使用してページを拡張しているからに過ぎません。

なので、blog用にBlogControllerを作成して、新しいルーティングを作成しましょう。

 

/src/Eccube/Controller/BlogController.php
<?php

namespace Eccube\Controller;

 

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;

use Symfony\Component\Routing\Annotation\Route;

 

class BlogController extends AbstractController

{

    /**

     * @Route("/blog", name="blog")

     */

    public function index()

    {

        define( 'WP_USE_THEMES', true );

        require __DIR__ . '/../../../blog/wp-blog-header.php';

        return;

    }

 

}

 

ルーティングはドキュメントコメントのアノテーション(@)後に記述することで設定することができます/blogというルーティングを作成して、twigからname指定で呼び出せるようにname=”blog”と設定しています。

 

コントローラーが呼び出された際に行う処理は、WordPressのindex.phpで行なっている定数宣言とwp-blog-header.phpの呼び出しです。

これで、「https://ドメイン名/blog」というURLが指定された際にはWordPressファイルを呼び出すことができます。

 

.htaccessによる制御

この状態でblogURLにアクセスするとWordPressのインストールが可能です。しかし、インストール、ログイン画面までは表示出来たとしても、管理画面へアクセスすることができません。これを有効化させるためには、EC-CUBE4の.htaccessの制御範囲にWordPressディレクトリを対象外としなければなりません

 

/.htaccess
--省略

 

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !^(.*)\.(gif|png|jpe?g|css|ico|js|svg|map)$ [NC]

RewriteCond $1 !^(blog/)

 

--省略

 

上記の3行目が追加した記述です。blogディレクトリには干渉しないようにしています。これにより、WordPressを正常起動させることができます。

 

https://ドメイン名

 

https://ドメイン名/blog

 

 

https://ドメイン名/blog/ログイン画面パス

 

https://ドメイン名/blog/管理画面パス

 

EC-CUBE4の標準ページにも特に干渉していないため、正常稼働しています。

これで、各CMSの共存は完了です。パーマリンク設定やプラグインの導入によってはお互いが干渉し合うことで機能しない部分も出てくる可能性がありますので、一気に機能増設せずに1つずつ確認、どのプラグインや設定が原因となっているかチェックしながら開発するようにしましょう。

  

データベースの分離

EC-CUBE4WordPress共にデータベースを使用するCMSです。WordPressではインストール時に接頭語を決めることができるため、テーブルの衝突を避けることはできますが、できるだけそれぞれにDBを用意することをオススメします

同じDBを使えば、プラグインなどの影響で衝突が起こってしまうことが考えられるため、別管理しておくに越したことはありません。

共存管理する際には、十分に注意しながら開発を進めていってください。

 

 

まとめ

いかがだったでしょうか。

今回はネットショップの有名所である「EC-CUBE4」と、ブログCMSで有名な「WordPress」の共存方法についてご紹介しました。

 

それぞれの良さを引き出すことができれば、より機能性を持った強いサイトを作ることが可能です。その反面、それぞれの仕組みを十分に理解しておく必要があるため、ある程度の知識と保守やカスタマイズの制限などとも戦っていかなければなりません

それぞれ現段階での最新版を使った方法をご紹介しましたが、どちらもバージョンアップにより同じ方法が使えなくなる可能性もあるため、十分にご注意ください。

 

自社ネットショップの開設を検討している方は、ぜひ参考にしてみてくださいね。

 

注目の記事

PHPポケモン「バトルシステム編〜状態異常1〜」30
プログラミング
PHP,PHPポケモン,ポケモン
PHPポケモン「バトルシステム編〜状態異常1〜」30

状態異常チェック 今回は少し先延ばししていた状態異常判定を一部作成していきましょう。 状態異常では「行動前」と「行動後」に判定するものに分けることができます。 行動前 まひ、ねむり、こおり  行動後 どく、もうどく、やけど   まずは簡単な行動前から実装していきます。行動前に判...

簡単に良質なブログ記事を量産する3箇条【ネタがないとは言わせない】
ライティング
ブロガー,ブログ
簡単に良質なブログ記事を量産する3箇条【ネタがないとは言わせない】

  ブログの毎日のテーマ決めが大変・・・ そもそも良質な記事をどうやって書けるようになるのかわからない   こんな悩みを抱えていませんか? 始めたばかりで伸び悩んでいる人には多いのではないでしょうか。 今回はブログで収益化や、アクセス数を伸ばそうと考えている人へ向けて「簡単に良質なブログ...

フリーランスが打ち合わせで押さえておきたい3つのポイント【収入アップします】
フリーランス
フリーランス,営業
フリーランスが打ち合わせで押さえておきたい3つのポイント【収入アップします】

  フリーランスになれば、デザイナーやプログラマーといった制作をメインとする仕事の人でもクライアントと打ち合わせをしなければいけません。 特に独立や起業前のキャリアとして営業職に縁がなかった人からすれば、打ち合わせが苦手な人は多いはずです。   今回は、そういった営業ベタでやり方が分からない...

記事を書いてもブログが伸びないのは何故?SEOの評価を下げてしまう絶対にダメな3つのこと【知らない内に損してます】
SEO対策
SEO,ブログ
記事を書いてもブログが伸びないのは何故?SEOの評価を下げてしまう絶対にダメな3つのこと【知らない内に損してます】

  1年ブログを継続したけど、全くPVが伸びない・・・   ブログを育てるためには、毎日または定期的な更新が必ず必要ですが、それでも思うように伸びないという人は、実は他に致命的にな原因があることがほとんどです。 今回はそういった「努力しても結果が出ない」と悩んでいるブロガーやブログ運営者に...

有料ノートが公開停止!?プラットフォーム依存の危険性とは
雑記
note,YouTube,ブログ
有料ノートが公開停止!?プラットフォーム依存の危険性とは

  「いままでのnoteがいきなり公開停止になった」 「YouTubeであげていた人気動画が削除された」   規約変更、違反などを理由にこういった被害は年々増えています。自覚して悪意あるコンテンツを作っているユーザーであれば当然の結果だと言ってしまえば済むことですが、努力して収益化する糸口を見つけ...

【Youも明日からデザイナー】デザインセンスを磨くコツ3つ
デザイン
YouTube,サムネイル,バナー
【Youも明日からデザイナー】デザインセンスを磨くコツ3つ

  デザイナーにセンスは必要か?   この問いに、私は必ず「必要ない」と答えます。確かに、センスを磨くことは大切ですが、それがあたかも才能のように表現するのは間違っていると思っているからです。 デザインは誰にでもできます。そしてオリジナリティは各自が必ず持っています。だからこそ、なりたい...

ピカチュウから学ぶオブジェクト指向 〜クラス継承編〜 2
プログラミング
PHP,PHPポケモン,オブジェクト指向,ポケモン
ピカチュウから学ぶオブジェクト指向 〜クラス継承編〜 2

  ピカチュウから学ぶオブジェクト指向の第2弾はオブジェクトの継承についてです。 前回作成したピカチュウクラスを使用するので、もし基礎的な内容を学習したい人は、以下の記事を参考にしてください。   オブジェクトの継承が理解できれば、複雑で規模の大きなシステムを構築することができるようになり...

PHPポケモン「アクション制御編」27
プログラミング
JavaScript,jQuery,PHP,PHPポケモン,ポケモン
PHPポケモン「アクション制御編」27

  今回のPHPポケモンでは主に画面の作り込みをしていきます。 とは言っても、ガッチリCSSを書いてよりゲームらしい見た目にするわけではなく、あくまで「ゲームシステムを再現するため」だけに整えていくのが目的です。   ということで、今回はPHPよりもBootstrapさんとjQueryさんに活躍してもらいます。   ...

カテゴリ

SEO対策 イベント デザイン ネットワーク ビジネスモデル フリーランス プログラミング マーケティング ライティング 動画編集 雑記

タグ

5G Adobe AfterEffects AI ajax amazon Animate api artisan atom Automator AWS Bluetooth CSS CVR description EC-CUBE4 ECショップ ESLint Facebook feedly foreach function Google Google AdSense Honeycode htaccess HTML IEEE 802.11ax Illustrator Instagram IoT JavaScript jQuery jQuery UI keyword LAN Laravel Linux MacBook MAMP meta MLM MySQL NoCode note OS OSI参照モデル Paypal Photoshop PHP phpMyAdmin PHPポケモン PremierePro rss SEO SEO対策 Sequel Pro Skype SNS SSH Symfony TCP/IP title Toastr Trait Twig Twitter UCC V系 WAN WebSub Wi-Fi wiki Windows WordPress XAMPP xml Xserver YouTube YouTuber Zoom アーティスト アウトプット アクセス層 アニメーション アフィリエイト イーブイ インターネット インプット エンジニア オブジェクト指向 お金配り クリック単価 クリック数 コミュニケーション能力 コロナ コンサルティング サムネイル システムエンジニア スタートアップ スタイルシート スパム データベース ディープフェイク デザイナー デザイン テレワーク ナンパ ニュース ネットワークモデル ノマドワーク バナー ピカチュウ ビジネス フィード フリーランス ブロガー ブログ プログラマー プログラミング プログラミング学習 プログラミング教育 プロトコル ホームページ制作 ポケモン マークアップ マーケティング メール リモートワーク レンダリング 三井住友 三宮 仕事依頼 児童デイ 児童デイサービス 児童発達支援 公開鍵 初心者 助成金 勉強法 営業 広告 広告収入 必勝マニュアル 放課後等デイサービス 朝活 楽天 深層学習 無線LAN 独立 神戸 福祉 秘密鍵 翻訳 自己啓発 英語 見積書 計算機 読書 起業 迷惑メール 配列 銀の弾丸 集客 雑学力