2011-02-04 9 views
3

Magentoの店頭でいくつかのSEO最適化を行っており、カテゴリURLを変更する最良の方法についてアドバイスが必要です。私たちは、ネストされたカテゴリの束(5トップレベルと深い4つのレベルまでのサブカテゴリーの束を持ってMagento:深くネストされたカテゴリページの書き換え

/seo-friendly-cat2.html. 

/base-cat/sub-cat1/sub-cat2.html 

:当社のSEO業者からのURLの束を変更したいです)。これにより、顧客がメインナビゲーションを掘り下げるのに役立つので、カテゴリ階層を変更するかどうかはわかりません。しかし、私たちは100のカテゴリ程度でこれらのURLの変更を行っているかもしれません。

私は301の書き換え(.htaccessまたはMagentoの組み込み書き換えモジュールを使用)を使用してこれを行うことができますが、これに最も近い方法は何ですか?私が301sを使用することに見ている欠点の1つは、メインナビゲーションがリンクに長いサブカテゴリーのURLを持ち続けるということです。私は、(階層に固有のURLトークンではなく)カテゴリの正確なURLを指定できるカスタムモジュールを調べるべきでしょうか?あなたの助言は何ですか?

+0

いいえ?ちょっと、あなた! :) – shaune

+0

お使いのMagentoのバージョンを指定してください。 –

+0

Magento 1.3.3。たぶん1.3.3になるだろうが、来年にはもっと新しいバージョンにアップグレードすることを楽しみにしている。 – shaune

答えて

4

あなたはこれを行うためのスクリプトを書いて、.htaccessなどの書き換え/リダイレクトの長い管理不能なリストではなく、MagentoのURL管理内に保存したいと思うでしょう。

私が考える最大の問題は、同じファイル名が存在する場合の衝突と、そのようなファイルの取り扱い方法です。

Mage::getModel('core/url_rewrite') 
->setIsSystem(0) 
->setStoreId($storeId) 
->setOptions('RP') 
->setIdPath('index.php?cat=c' . $categoryId . '_' . $this->strip($data['name']) . '.html') 
->setTargetPath($categoryModel->getUrlPath() . '.html') 
->setRequestPath('index.php?cat=c' . $categoryId . '_' . $this->strip($data['name']) . '.html') 
->save(); 

これはMagentoのURL書き換えマネージャに書き換えを追加する方法の単なる例です。

+0

ええ、これは私が探していた答えの始まりだと思います。私はこのためのカスタムモジュールを作成するようになりますように見えます。 – shaune

+0

これは、 "カスタムURLの書き換え"を行うプログラムによる方法です。あなたがバックエンドでしたのと同じですか? http://www.magentocommerce.com/wiki/modules_reference/english/mage_adminhtml/urlrewrite/index – thaddeusmt

+0

これらのスニペットをどのファイルに追加する必要がありますか? – Hiranya

関連する問題