ECCUBEの商品一覧ページのリダイレクト方法
はじめに
ECCUBEを2系から4系へアップグレードの準備中に見つけた商品一覧ページのURLが変わっているのに気が付き、その記述方法のご紹介となります。
注意事項
バージョン違いなどで変わるかもしれません。
商品一覧のURLが違う
ECCUBE2系から4系で変わった箇所と言えば、動的ページの商品一覧ページURLです。
/products/list.php?category_id=〇
/products/list?category_id=〇
となっています。
動的であっても商品一覧ページもインデックスされるのを考えるれば、SEO対策的にはリンク先が変わるのはよろしくないので、リダイレクトさせたいですよね。
リダイレクトの方法
ECCUBE4のリダイレクト関係を色々とググってみましたが、結構困っている方も多いようですね。
まぁロックオンさんがそこまでは考えずに作ってるわなw
って事で、リダイレクトの方法をご紹介いたします。
Xサーバーでの位置になりますが、
使用しているドメイン→public_html→htaccess
をいじります。
商品一覧ページのリダイレクトを記入する場合はhtaccessの
…
この中に記載する必要があり、
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^products/list.php /products/list [R=301,L]
と「RewriteEngine On」の下に記入しないといけません。
追加情報なので、「」の直前に書いた方がスマートかなと思い、試してみましたが、最後に入力する場合は動作しませんでした。
複数ある場合
私はECCUBEで商品一覧ページを複数作成していました。
例えば、
/products/list?category_id=〇
/products/hogehoge_list?category_id=〇
と言う風にデザイン面的な理由で2つ以上作成していましたが、PHPを学んだ結果必要ないなとわかり、ECCUBE4で元に戻す予定ですが、私のように複数あった場合でも簡単にリダイレクトの設定をする事が出来ます。
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^products/list.php /products/list [R=301,L] RewriteRule ^products/hogehoge_list.php /products/list [R=301,L]
とこのように、下に情報を追加させていけば、うまくリダイレクトをしてくれるようになりました。
以上でECCUBE2系から4系で商品一覧ページのリダイレクトの説明を終了致します。
さいごに
ECCUBEはバージョンによっての互換性を考えていない
ECCUBEは10年ほど使った結果、3系以降の情報が非常に少ない=使用している方が極端に減った?印象を受けました。
2系に関してはやりたい事をググれば出てくるのに対して4系に関しては、本当に情報がなさ過ぎて、カスタマイズだけじゃなく色々と出来ない事が多いのかもしれません。
また、EC-CUBEインテグレートパートナーに色々と相談もしましたが
- 安い案件は受けません
- 忙しいので受けません
- 見積もり依頼しても返事なし
と言うのが当たり前なので、個人的にはEC-CUBEと言うのは大手企業向けのショッピングカートになりつつあります。
そうなると、今後10年見据えるとEC-CUBEに対しての魅力はそうとう薄れるかもしれませんね。