Удаление строки запроса для улучшения SEO - PullRequest
0 голосов
/ 02 августа 2009

Я только что натолкнулся на это: http://www.askapache.com/htaccess/mod_rewrite-tips-and-tricks.html -> проверка в разделе «Удаление строки запроса». Говорится: «На многих сайтах страница будет отображаться как для page.html, так и для page.html? Что угодно = что угодно, что вредит вашему SEO с дублированным контентом. Простой способ решить эту проблему - перенаправить внешние запросы, содержащие строку запроса, тот же URI без строки запроса. "

Мой вопрос ... как вы это тестируете? Я добавил код ниже:

 RewriteCond %{THE_REQUEST} ^GET\ /.*\;.*\ HTTP/
 RewriteCond %{QUERY_STRING} !^$
 RewriteRule .* http://www.mysite.com%{REQUEST_URI}? [R=301,L]

 RewriteCond %{THE_REQUEST} ^GET\ /.*\;.*\ HTTPS/
 RewriteCond %{QUERY_STRING} !^$
 RewriteRule .* https://www.mysite.com%{REQUEST_URI}? [R=301,L]

Однако, если я захожу на www.mysite.com/?anything=bla, он все равно показывает эту ссылку в адресной строке? Я неправильно понял, или этот код не предназначен для перенаправления на mysite.com без строки запроса?

Кроме того, я прав, сделав один для HTTP и один для HTTPS?

1 Ответ

5 голосов
/ 02 августа 2009

Лучший подход, поддерживаемый основными поисковыми системами, заключается в том, чтобы каждая страница указывала свой канонический URL-адрес, используя <link rel="canonical">. В этой статье Google более подробно.

Я бы не хотел использовать перенаправление на веб-сервере, потому что эти параметры запроса должны были присутствовать по какой-то причине (а если бы их не было, было бы лучше исправить ваши страницы, чтобы избавиться от них) , Не уверен, почему адрес в вашем браузере не изменился; Я бы порекомендовал использовать такой инструмент, как Firebug или Fiddler, чтобы убедиться, что 301 действительно был возвращен вашему браузеру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...