郵便番号DB登録で途中で止まるのはエラーではなかった

基本情報タブ > 郵便番号DB登録だが、最初クリックした時にウィザードが開いてEC-CUBEのロゴ画像が、どーんと出て何にも動かないので、何だコレはと思ってそのまま閉じていましたが、よく見るとローディングの画面でした。

ロゴ画像の下にローディングバーが出ていて、郵便番号DBにアクセスしている様子。〒のサイトに連続的に接続しにいくから途中で止まるようになっているのでしょう。

郵便局HPから最新の郵便番号をcsvでダウンロードしてphpadminからMySQLに何とかって検索すると出てきますが、簡単な話で止まったらF5で更新すればいいだけでした。最初はF5で更新しても何にも変わってない気がしますが、数回やっているとローディングバーが伸びているのがわかります。最後までいくとCLOSEのボタンが出るのでクリックして完了です。

私の場合、約20回くらいの更新でやっと完了しました。

数回更新後のウィザード(約8回目)

さらに数回更新後のウィザード(約15回目)

結論

EC-CUBEの郵便番号DB登録は、止まったらF5で更新しまくる

EC-CUBEを静的URLにmod_rewriteで置き換えてSEO対策

短い静的URLにする方法

商品詳細ページとカテゴリーリスト表示の2つを長い動的URLから
静的URLにする方法。SEO的にはすでにどっちでもいい状況だが、
URLのシンプルさ、キレイさ、わかりやすさ、長さなどの考慮。

手順1. .htaccessをアップロード

.htaccessファイルに下記のように記載して第一階層にアップ。

RewriteRule detail([0-9]+)\/? /home/▲▲▲/△△△/public_html/products/detail.php?product_id=$1 [L]
RewriteRule list([0-9]+)\/? /home/▲▲▲/△△△/public_html/products/list.php?category_id=$1 [L]

オレンジの部分は、サイトパス(フルパス)で設置のサーバーに
合った設定にする。把握としてはサイト内リンクを静的にして、
静的URLにアクセスした時にmod_rewriteでサイトパスのファイルに
アクセスを置き換えてその内容を短い静的URLで表示するという構造。

手順2. 管理画面からリンクパス変更

管理ページ > システム設定 > パラメータ設定

DETAIL_P_HTML欄
URL_DIR . “products/detail”

LIST_C_HTML欄 ←※LIST_P_HTML欄ではないので要注意
URL_DIR . “products/list”

手順3. テンプレートファイルのリンクパス変更

detail(商品詳細)は.tplファイル変更箇所なし。
list(カテゴリー表示)はテンプレートの変更が必要で

【bloc/category.tplファイル】
list.php?category_id=

list

【detail.tpl ファイル】
list.php?category_id=

list
の2カ所を置き換える。

以上。

最初は、detail/3 とかスラッシュの入るように公式本にも
あったので、そうやったが商品ページの【新規コメントを書き込む】が
Not Foundになって開いたので何が原因と思ったら、

http://●●●.jp/products/review.php?product_id=3
が正しいのに
http://●●●.jp/products/detail/review.php?product_id=3
と階層がズレたのでdetail3 list2 などのURLで終わるようにした。

余談だが、個人的な好みで.htaccessはピンク色のようにしてある。

RewriteRule ^products/detail([0-9]+)\/? /home/▲▲▲/△△△/public_html/products/detail.php?product_id=$1 [L]
RewriteRule ^products/list([0-9]+)\/? /home/▲▲▲/△△△/public_html/products/list.php?category_id=$1 [L]