EC-CUBEのデフォルトは動的URLで作成されます,これを静的URLに変更してSEO対策します。
今日設定したので忘れないように書いておきます。
EC-CUBEのバージョンは2.3.4です。
[メリット]

  • 変更後も動的URLでの接続が可能です。
  • SEO対策に有効
  • URLが短くて済む

[デメリット]

  • .htaccessが使用できて、mod_rewriteが使えるサーバじゃないとダメ
    EC-CUBEが使えるサーバであれば問題ないと思いますが・・・
  • サーバによって.htaccessの設定が違う場合がある。

作業内容は

  1. .htaccessを作成する。
    この時Windowsではhtaccess.txtで作成してサーバにアップして名前を変更するのが簡単です。また、秀丸などエディタを使用している場合は.htaccessのまま修正します。
    書き込み内容は

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^detail([0-9]+).html+ detail.php?product_id=$1 [L]
    RewriteRule ^list([0-9]+).html+ list.php?category_id=$1 [L]
    

    このファイルをhtml/productsフォルダに入れる
    この時点で静的URLで接続できるので、確認します。
    [例]

    http://www.サイトURL.com/droducts/list10.htmlなど

  2. 次は、システム設定からパラメータ設定の中のDETAIL_P_HTMLURL_DIR . “products/detail”に変更する。
    同じページのMOBILE_DETAIL_P_HTML
    MOBILE_URL_DIR . “products/detail”に変更します。
  3. 静的URLで接続できれば、次にリンクをすべて動的URL用から静的URL用に変更します。
    • カテゴリブロック (管理画面から修正 or category.tpl)
    • お勧め商品ブロック (管理画面から修正 or best5.tpl)
    • 商品一覧ページ (管理画面から修正 or list.tpl)
    • 商品詳細ページの関連商品 (管理画面から修正 or detail.tpl)
    • Myページの購入履歴 (直接修正 history.tpl)
  4. 変更するファイルは

    それらのファイルを

    <a href="<!--{$smarty.const.URL_DIR}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->">

    ↓↓↓↓変更↓↓↓↓

    <a href="<!--{$smarty.const.URL_DIR}-->products/list<!--{$arrTree[cnt].category_id}-->.html">

    .php?category_id=部分を削除して、最後に.html追加

    <a href="<!--{$smarty.const.DETAIL_P_HTML}--><!--{$arrRecommend[cnt].product_id}-->">

    ↓↓↓↓変更↓↓↓↓

    <a href="<!--{$smarty.const.DETAIL_P_HTML}--><!--{$arrRecommend[cnt].product_id}-->.html">

    最後に.html追加する。

  5. この他に自分でブロックを作成した場合はそちらもリンクを変更します。
  6. 最後にリンク切れがないかチェックします。

以上でEC-CUBEを静的URLに変更できました。