Тук ще стане въпрос не как да избегнем duplicate content на вече съществуващи страници, а как да го избегнем, ако например сме купили стар домейн, който има индексирани страници, които при нас биха дали 404 error.

Много уебмастери слагат код:

ErrorDocument 403 index.php
ErrorDocument 404 index.php

което обаче създава проблема с duplicate content, тъй като редиректва всички ненамерени страници към главната. Друг метод е страниците да се насочат към специално създадени за целта 403 и 404 страници:

ErrorDocument 403 /error403.html
ErrorDocument 404 /error404.html

което пак не е особено елегантно решение.

Понякога от самия хостинг предлагат custom 403 и 404 pages. Аз, обаче, ползвам следното решение:

ErrorDocument 403 http://www.sajta-mi.com/
ErrorDocument 404 http://www.sajta-mi.com/

а именно - чрез външен редирект (R=301) подсказваме на търсачките, че тези страници вече не съществуват, за разлика от първите два случая.

Какво обаче правим с параметрите в УРЛ като q=, page=, id= и т.н., които упорито продължават да стоят? Решението:

От предишната статия за премахване на duplicate content на начална страница преписваме кода:

Options +FollowSymlinks -Indexes
RewriteEngine On

RewriteCond %{HTTP_HOST} ^washiqthost.com$ [NC]
RewriteRule ^(.*)$ http://www.washiqthost.com/$1 [R=301,L]

RewriteCond %{THE_REQUEST} /index.php HTTP/
RewriteRule ^index.php$ / [R=301,L]

и по надолу поставяме следния код:

RewriteCond %{QUERY_STRING} ^page=.*$ [OR]
RewriteCond %{QUERY_STRING} ^q=.*$ [OR]
RewriteCond %{QUERY_STRING} ^id=.*$
RewriteRule .* %{REQUEST_URI}? [R=301,L]

и си решаваме проблема с параметрите.