2010-06-15 2 views
0

나는 내 웹 사이트의 장바구니로 prestashop을 사용하고 있습니다. 나는 문제가있다. 동적 URL에 있던 웹 사이트. 나는 친절한 URL 쓰기를 가능하게했다. 문제는 한 페이지에 두 개 이상의 URL이 있다는 것입니다. 동적 URL 및 고정 URL에서 동일한 페이지에 액세스 할 수 있습니다. 사실 한 페이지에는 9 개의 다른 URL이 있습니다. 이것은 seo에 대한 문제를 분명하게 만듭니다. 검색 엔진은 내 웹 사이트에 불이익을줍니다.한 페이지에 두 개 이상의 URL이 있습니다. 검색 엔진은 형벌을줍니다. 나를 도와주세요.

이 문제를 해결하려면 어떻게해야합니까? 프로그래밍에 대한 지식이 없습니다.

다음은 웹 사이트의 htaccess입니다. 모든 샘플 코드 또는 도움말은 정말 감사하겠습니다.

# URL rewriting module activation 
RewriteEngine on 

# URL rewriting rules 
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg [L,E] 
RewriteRule ^([0-9]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2.jpg [L,E] 
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg [L,E] 
RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$3&isolang=$1$5 [L,E] 
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2&isolang=$1$4 [L,E] 
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$2&isolang=$1 [QSA,L,E] 
RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2$4 [L,E] 
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$1$3 [L,E] 
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1 [QSA,L,E] 
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /cms.php?id_cms=$1 [QSA,L,E] 
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3 [QSA,L,E] 
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3 [QSA,L,E] 
RewriteRule ^lang-([a-z]{2})/(.*)$ /$2?isolang=$1 [QSA,L,E] 

# Catch 404 errors 
ErrorDocument 404 /404.php 
Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^***.com [NC] 
RewriteRule ^(.*)$ http://www.***.com/$1 [L,R=301] 

Options +FollowSymLinks 
RewriteEngine on 
# index.php to/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/ 
RewriteRule ^(.*)index\.php$ /$1 [R=301,L] 

Header set Cache-Control: "no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0" 
+0

여기서 htaccess 코드를 살펴보십시오. 이 전체 버전을 표시하므로 http://stackoverflow.com/questions/3042025/one-page-has-more-than-one-url-search-engines-give-penalty-please-help-me-out –

답변

1

일반적으로 매우 간단합니다. 기본적으로 두 가지 방법이 있습니다. 무엇보다 먼저 내부 재 작성 대신에 페이지의 "정식"버전으로 301 리디렉션으로 응답 할 수 있습니다 (정식 버전으로 선택하는 경우). 이것은 이전 링크를 통해 들어오는 사람들이 새 링크로 리디렉션된다는 것을 의미합니다. 검색 엔진은 또한 301 리디렉션을 처리하고 "최종"대상을 실제 페이지로만 계산합니다.

사용자를 새 페이지로 리디렉션하지 않으려면 페이지 맨 위에 원하는 페이지의 "표준"버전을 가리키는 <link> 태그를 포함하는 것입니다. 보기의 검색 엔진의 관점에서, 정규 링크는 301 리디렉션처럼 작동 (점에서 그것은 단지 "리디렉션"페이지를 봐 것입니다)하지만, 사용자는 리디렉션되지 않습니다 : SEO는 기본입니다

<link rel="canonical" href="http://www.example.com/lang-en/whatever/blah" /> 
+0

안녕 Codeka 답장을 보내 주셔서 대단히 감사합니다. 최신 정적 URL에 301 리디렉션을 사용하고 싶습니다. 어떻게해야합니까? 각 언어에 대해 550 페이지, 총 17 개 언어가 있습니다. 동적 버전 및 각 페이지의 다른 버전을 자동으로 감지하고 최신 URL로 리디렉션하는 코드를 추가 할 수 있습니까? 만약 당신이 뭘 권하고 싶습니다 그리고 어떻게? 다시 한번 감사합니다. –

0

경우 Google 웹 마스터 블로그에서 this article을 확인하십시오. 기본적으로 동일한 콘텐츠에 대해 여러 URL을 갖는 것이 좋지만 검색 엔진에 단일 표준 URL을 말해야한다고 말합니다.

+0

안녕 답을 보내 주셔서 감사합니다. 301 리디렉션을 사용하고 싶습니다. 자동으로 리디렉션을 수행하는 htaccess에 무엇을 추가해야합니까? 알리 –

관련 문제