2010-12-28 3 views
0

내가 URL 구조는 CakePHP의 우리의 SEO 전문가에게 설명했다 도메인/컨트롤러 /보기/PARAMSCakePHP는, URL 및 SEO

그래서 URL이 같은 것을 할 수있는 특정 제품을 볼 수 있습니다 :

은 올바른 제품 페이지를 렌더링 할 수 있도록이 다음 매개 변수로 product-name-slug으로 products controllershow 기능에 매핑 할

을 example.com/products/show/product-name-slug.

example.com/p/d/product-name-slug

:

그는 내가 컨트롤러 p와보기 d의 이름을 수 있다면 그래서 URL이 다음 것이 좋다라고 생각하지만 질문

이렇게하면 적절한 키워드 (product-name-slug)의 전체 URL에 대한 비율이 높아집니다.

나는 SEO 관점에서 그가 어디에서 왔는지 이해하지만 이것은 프로그래밍 관점에서 컨트롤러와 단일 문자 이름을 볼 때 의미가 없다.

URL의 모호한 컨트롤러 /보기 이름이 그다지 큰 차이가 있습니까? 그렇다면 좋은 타협 솔루션은 무엇입니까?

답변

3

구성에서 추가 경로를 갖는 만들 것
example.com/seo/product-name-slug 코드와

Router::connect(
    '/seo/:slug', 
    array('controller' => 'products', 'action' => 'show'), 
    array(
     'pass' => array('slug') 
    ) 
); 
+0

'설정 마지막 배열 : 그것은 임의의 URL을 http://book.cakephp.org/2.0/en/development/routing.html#route-elements 행동

당신도 일치시킬 수 있습니다 정규 표현식에 작업을 매핑 할 수없는 경우

케이크는 프레임 워크라고 할 가치가되지 않을 것 id =>. +'그것은 무엇을 하는가? –

+0

과용의 비트, 그것은 어떤 문자열 정규 표현식 –

0

그것은 당신의 URL에 무슨 큰 차이가 행복 SEO 사람. 나는 결코 CakePHP의 기본 URL 구조를 사용하지 않았다. 기본적으로 가지고있는 것이 좋지만 용납 할 수없는 제약이 있습니다.

Router::connect(
    '/:controller/:year/:month/:day', 
    array('action' => 'index', 'day' => null), 
    array(
     'year' => '[12][0-9]{3}', 
     'month' => '0[1-9]|1[012]', 
     'day' => '0[1-9]|[12][0-9]|3[01]' 
    ) 
);