Когда речь заходит о поисковой оптимизации, возникает ощущение, что касаешься чего-то волшебного. SEO оптимизаторы для меня - это некие шаманы, пытающиеся ублажить могучих Богов поиска. Они не говорят иначе как "поисковики любят" и "поисковики не любят" SEO рекомендации зачастую противоречат здравому смыслу, но они работают. Примечательно, что на основе "анализа" сайтов оптимизаторы часто дают одни и те же рекомендации. Пару из них мне посчастливилось выполнить.
[spoiler]
На этом заканчиваю лирику и перехожу к сухому изложению. Базовые SEO рекомендации:
При запросе любых адресов, содержащих неосновные хосты (например, http://1c-bitrix.ru/ без префикса www) необходимо, чтобы сервер отдавал ответ HTTP/1.1 301 Moved Permanently. При этом в поле Location должен быть прописан URL, содержащий основной хост ресурса (http://www.1c-bitrix.ru/).
На сайте присутствуют повторяющиеся страницы вида: http://www.1c-bitrix.ru/ и http://www.1c-bitrix.ru/index.php. Данные страницы проиндексированы поисковыми системами и отдают ответ сервера HTTP/1.1 200 ОК. Необходимо оставить первый вариант страниц, а для страниц-дубликатов настроить переадресацию с ответом сервера HTTP/1.1 301 Moved Permanently на соответствующие страницы.
Или попросту говоря, надо чтобы при открытии сайта "без www" он перебрасывал на адрес "с www" и при переходе на index.php перебрасывал на папку (адрес с "/" на конце).
Разумно использовать для этого mod_rewrite. Модуль почти всегда доступен на хостинге, и не требуется дополнительная обработка в php.
То со второй оказалось не так просто. Нам надо проверить переменную {%REQUEST_URI}, если она заканчивается на "/index.php", перенаправить на "/". Всё дело в том, что почти всегда на Apache ставится модуль mod_dir, который открывает файл index.php при обращении к папке, его содержащей. А хуже всего то, что этот модуль переопределяет{%REQUEST_URI} так, что в обоих случаях (http://bitrix.ru/ и http://bitrix.ru/index.php) срабатывает правило:
заканчивается на "/index.php"
Но как известно, mod_rewtite это тоже "Damned cool voodoo"
Готового решения в сети не нашёл, но в результате экспериментов было выявлено, что при обращении к папке срабатывает условие:
заканчивается на "/"
(Т.е. получается двойственность: срабатывают оба условия).
После долгих мытарств, подробности которых пропущу, получилось вот такое условие:
прервать обработку, если обращение идёт к папке (URI заканчивается на "/");
прервать обработку если уже был сделан внутренний редирект (без этого условия уходит в бесконечный цикл, почему, не знаю);
если метод запроса GET (мы не хотим, чтобы потерялись данные формы, пришедшие через POST) и URI заканчивается на /index.php - сделать редирект на тот же URI, но без "index.php";
Теперь оба правила и включение модуля mod_rewrite для тех, кто любит сразу получать готовые решения
Вся эта борьба за переменные между модулями mod_dir и mod_rewrite в совокупности с магией вопроса напомнила мне игру из детства Mortal Combat, в которую играл на Dendy. Чтобы пост не выглядел скучно, напоследок вставляю скрин игры
В моём случае mod_rewrite - это LIU KANG, он победил!
Для проекта, которому нужны читатели - все так и есть. Точнее, было еще совсем недавно, а сейчас контент слишком активно растаскивается и мой контент может найтись на чужом сайте, принеся постоянных посетителей уже ему
А вот если задача что-то продать, да еще и разово, то SEO - это разновидность рекламы, пренебрегать которой вредно для бизнеса.
Еще просьба – у нас карта сайта http://www.*****.ru/map/ Можешь сделать чтобы все страницы сайта были на этой карте статичными ссылками. Пользователи туда все равно не заходят, а поисковикам будет приятнее.
А вот почему бы не сделать карту сайта, которой было бы приятно пользоваться и посетителю? Риторический вопрос...
1. Сайт с www это домен 3 уровня, поэтому большинство все-таки делает переадресацию не на www, а как раз наоборот - на "родной" домен 2 уровня, т.е. без www.
2. Чтобы снять "головняк" с / и /index.php проще все-таки запретить /index.php через robot.txt
3. Кроме 301 редиректа при перенаправлении c www и без www, Яндекс, например, ОЧЕНЬ хочет чтобы в robot.txt в конце стояло требуемое или host: site.ru или host: www.site.ru У Google все это вообще решается через панель вебмастера.
4. Карта сайта всегда очень больной вопрос. Учитывая и то, что по рекомендациям, например, ПС Google на карте сайта нежелательно присутствие более 100 ссылок, при превышении нужно разбивать карту на части.
5. Теперь Google позволяет включать в Sitemap прямые ссылки на графику - очень вещь полезная. http://www.google.com/support/webmast...636&&hl=en Хотелось бы и в Битриксе реализации подобной возможности "по-умолчанию".
P.S. Примеры .htaccess все-таки лучше приводить с полным модулем "IfModule mod_rewrite.c", т.е. включая и RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$ RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L] Все-таки не один редирект в целом выходит. "Шаг влево, шаг вправо..." и техподдержка замучается потом отбиваться от вопросов типа "Вот вы нам посоветовали, а у нас теперь ЧПУ не работает".
Бараньими этими рекомендациями славится одна известная контора, которая еще заставляет всех клиентов ставить ссылку на себя на главной, а лучше сквозную, а лучше на самый верх ее засунуть.. убеждая несчастных, что это "сильно повысит авторитет сайта в глазах поисковика".. разводка на ровном месте.. но они типа лидер. А /index.php заставляют менять черех хтакцесс на нью_индекс.пхп, что приводит к слету функционала чудесной кнопки СЕО от битрикса.
Денис, спасибо огромное. Дело даже не в SEO Как раз голову ломали по данному поводу после переноса одного из проектов на веб окружение 4 вдруг поймали волшебство возникновения index.php
изза наличия у апача порта 8888 переход происходит на сайт:8888 - такой адрес не обрабатывается из вне (к ури добавляется хост плюс порт) пока попробовали модернизировать с явным указанием хоста без порта
помогло, но вот странички с адресом типа 1c-bitrix.ru/products/index.php/ахинея открывается главная страница компонента, вместо 404, вот как с этим бороться?
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».