ECキューブで商品詳細ページURLを静的に変更する

公開日: 

ECキューブは高性能ですが、URLが○○php?=1などの動的URLになってしまうので静的URLにしたい時はhtaccessの追加記述やテンプレートファイルの変更をしないといけません。

※現在の検索エンジンは動的URLでもインデックスしてくれますが、静的URLの方がインデックスしやすいのとSEO効果が多少はありそうなのでやって損はない施策です。

1.htaccessファイルの追加

環境によってファイルの場所が異なりますが、ドメイン直下にhtmlフォルダ内のデータを入れた場合は、/products/の中に以下の記述をした.htaccessファイルをアップロードします。

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

2.htaccessが使えないサーバー対策で管理画面にパラメーターを追加する

INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('USE_STATIC_URL', 'true', 3005, '静的URLの有効・無効(true:有効,false:無効)');
INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('STATIC_URL', 'ROOT_URLPATH . "products/detail"', 3006, '商品詳細(静的URL)');

phpmyadminなどでSQLデータベースに入り、mtb_constantsテーブルに上記クエリを実行します

3.テンプレートファイルの編集

■data/Smarty/templates/default/products/list.tpl(3カ所)
■data/Smarty/templates/default/frontparts/bloc/recommend.tpl(2カ所)

<!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$arrProduct.product_id|u}-->
↓
<!--{if $smarty.const.USE_STATIC_URL == true}--><!--{$smarty.const.STATIC_URL}--><!--{$arrProduct.product_id|u}-->.html<!--{else}--><!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$arrProduct.product_id|u}--><!--{/if}-->

■data/Smarty/templates/default/products/detail.tpl(「関連商品」の2カ所)

<!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$orderDetail.product_id|u}-->
↓
<!--{if $smarty.const.USE_STATIC_URL == true}--><!--{$smarty.const.STATIC_URL}--><!--{$orderDetail.product_id|u}-->.html<!--{else}--><!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$orderDetail.product_id|u}--><!--{/if}-->

■data/Smarty/templates/default/mypage/history.tpl(1カ所)

<!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$orderDetail.product_id|u}-->
↓
<!--{if $smarty.const.USE_STATIC_URL == true}--><!--{$smarty.const.STATIC_URL}--><!--{$orderDetail.product_id|u}-->.html<!--{else}--><!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$orderDetail.product_id|u}--><!--{/if}-->

■data/Smarty/templates/default/mypage/favorite.tpl(2カ所)

<!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$product_id|u}-->
↓
<!--{if $smarty.const.USE_STATIC_URL == true}--><!--{$smarty.const.STATIC_URL}--><!--{$product_id|u}-->.html<!--{else}--><!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$product_id|u}--><!--{/if}-->

PCだけの変更となるので、スマホも該当箇所を見つけて同様に変更します。

htaccessが利用できないサーバーだった場合は、管理画面から追加したパラメーター「USE_STATIC_URL」を「false」に変えて/products/内のhtaccessファイルを削除します。

コメント入力欄

主な業務内容

  • ホームページ制作
  • ECサイト構築
  • SEO対策
  • システム構築
  • トレードシステム設計
  • 展示会の企画・設計
  • 日用雑貨の販売
PAGE TOP ↑