2011-02-04 4 views
3

Magento 매장에서 일부 SEO 최적화를 수행하고 있으며 카테고리 URL을 변경하는 가장 좋은 방법에 대한 조언이 필요합니다.Magento : 깊게 중첩 된 카테고리 페이지에 대한 다시 쓰기

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

/seo-friendly-cat2.html. 

에 우리는 중첩 된 범주의 무리 (5 최상위 최대 4 단계 깊은 하위 카테고리의 무리가 : 우리의 SEO 계약자의 URL의 무리를 변경하려면). 이렇게하면 고객이 기본 탐색을 드릴 다운하는 데 도움이되므로 범주 계층 구조를 변경할지 여부는 확실하지 않습니다. 그러나 우리는 100 개 카테고리 정도의 URL 변경을 수행 중일 것입니다.

우리는 301 개의 재 작성 (.htaccess 또는 Magento의 내장 재 작성 모듈 사용)을 사용하여 이것을 수행 할 수 있지만 이 방법에 가장 좋은 방법은 무엇입니까? 내가 301s를 사용하는 것을 볼 수있는 단점 중 하나는 메인 네비게이션이 링크에 긴 하위 카테고리 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

관련 문제