301 редирект для ссылок вида /index.php?pageID=1
2012-06-30 11:12:00
Насколько хорош был ваш первый сайт? Когда я делал свой первый сайт, я не шарил ни в ЧУП, ни в Сео-оптимизации. Шли месяцы, годы, я набирался опыта и постепенно занимался доработкой своего родоначального проекта. В этой статье я расскажу о том решении, которое мне самому потребовалось в процессе доработки своего проекта.
Речь пойдет о внутренних ссылках сайта и ЧПУ. ЧПУ расшифровывается как «человеко-понятные урл». Продемонстрирую на примере.
Не ЧПУ:
sergeivl.ru/index.php?pageID=1
sergeivl.ru/index.php?cat=1&page=2
sergeivl.ru/index.php?PageAlias=MyWorks
ЧПУ:
sergeivl.ru/1
sergeivl.ru/cat1/2
sergeivl.ru/MyWorks.html
Согласитесь, ссылки с ЧПУ выглядят намного привлекательней. Да и поисковые системы их любят больше. Как же нам преобразовать первый столбец url-лов в ЧПУ? В этом нам поможет модуль веб-сервера Apache под названием Mod Rewrite. Чтобы его активировать, вам потребуется отредактировать файл «.htaccess». Добавьте следующие строки в данный файл:
RewriteEngine on
RewriteRule ^([0-9]+)$ /index.php?pageID=$1 [L]
RewriteRule ^cat([0-9]+)/([0-9]+)$ /index.php?cat=$1&page=$2 [L]
RewriteRule ^([a-zA-Z0-9_-]*).html$ /index.php?PageAlias=MyWorks[L]
Теперь страницы сайта будут доступны по ЧПУ ссылкам. Хотя старый вариант url-лов тоже будет работать. Такой подход годиться, если сайт еще не проиндексирован в поисковых системах. Но представьте себе. Вашему сайту уже исполнился год, несколько сотен страниц проиндексированы поисковиками, некоторые из них занимают высокие позиции в выдаче. А у вас все ссылки вида sergeivl.ru/index.php?cat=5&page=HalloWorld.
Даже если вы замените все ссылки на страницах на ЧПУ ссылки, в выдаче будут и старые и новые ссылки. В итоге дубляжи страниц и опускания их в выдаче поисковых систем. Но решение есть — 301 редирект. Сделаем 301 редирект с адреса sergeivl.ru/index.php?cat=5&page=HalloWorld на sergeivl.ru/cat5/HalloWorld.html.
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/index.php
RewriteCond %{QUERY_STRING} ^cat=([0-9]+)&page=([a-zA-Z0-9_-]*)
RewriteRule ^.*$ cat%1/%2.html? [R=301,L]
Благодаря этому наглядному примеру вы сможете легко реализовать 301 редирект с не ЧПУ на ЧПУ у себя на сайте. При этом позиции в выдаче в поисковых системах никак не пострадают. Если у вас возникли вопросы — пишите их в комментариях или через форму обратной связи.