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ファイルを削除します。
コメント入力欄