301 редирект на все кроме robots.txt
Купив новый домен который гораздо больше имеет общего с тематикой сайта я озадачился таким вопросом. Как перенести все проиндексированные страницы с одного домена на другой? На первый взгляд все предельно просто и логично. Делаем точную копию имеющегося сайта (зеркало) на новом домене, ставим серверный 301 редирект со старого на новый и человек или поисковый робот обратившийся по старому адресу будет автоматически перенаправлен на новый адрес. При использовании такого способа вы не теряете посетителей которые заходят по старому адресу (а ведь в поисковиках полное обновление может занять месяцы) и поисковые боты будут довольны. Особенно такой способ с 301 редиректом "любит" Google Bot и за несколько дней уже перетащил большинство проиндексированных страниц на новый адрес. В случае с Яндексом такой способ не самый лучший, ибо как говорят сеошники процесс переноса индекса будет очень долгим. Для Яндекса более быстрый и приоритетный вариантом будет указание директивы Host в файле robots.txt в которой будет прописан новое доменное имя как основное зеркало. Вся соль в том, что Google не понимает директиву Host и указать ему о смене домена можно только через 301 редирект и подачу заявки в Google Web Masters.
Из всего вышесказанного следствует то, что идеальным способом не потерять проиндексированные страницы в обоих поисковых машинах это установить глобальный редирект на все страницы сайта для Google и оставить доступ Яндекс боту к robots.txt. Сделать это можно через .htaccess с таким содержанием:
RewriteEngine OnRewriteCond %{REQUEST_URI} !^/robots\.txt$RewriteRule ^(.*)$ http://yoursite.ru/$1 [R=301,L]<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]
Сохраняем .htaccess,прописываем директиву Host с указанием нового основного зеркала и ждем YandexBot/3.0; MirrorDetector
Не прошло и недели, а зеркальщик уже тут как тут. Будем посмотреть через сколько произойдет полная склейка старого и нового доменов.
Вот спасибо за правильный код а то мучался между яндексом и гуглом выбрать не мог)сделал 301 гугл пр передал)убрал редирект пр обнулился 2 домена в поиске)))убрал из за того что ослик яша не мог получить доступ к роботс)))
но ваш вариант спас просто и роботс доступен и 301 пашет!)))надеюсь PR вернется
Счастья тебе!)с уважением Евгений!)
Раз в первый раз передался, значит и на второй раз удастся.
Успехов!
Админ, есть вопросы:
1.Где именно создаётся "сайтмап(карта сайта)", может сервисы имеются? 2.Правильно ли я понял, что "роботс.тииксти" независим, имеется в виду, что для каждого вэб-сайта он свой?
3.Нужен ли 301 редирект если создавать "роботс.тииксти"?
3.1.Что даст их совместное присутствие?
4.Каким языком программирования лучше задать расширение: "Apache .htaccess" или код PHP прописывать в index.PHP. Что лучше?
Спасибо!
Шквал вопросов. Попробую ответить на все.
1.Файл sitemap создается в любой директории сайта которая будет Вам удобна. После регистации сайта в поисковых системах Yandex и Google его необходимо указать в инстркментах вэб мастера. Неплохо бы и для пользователей сделать ссылку на карту сайта, но там уже другие требования к этому файлу по части внешнего вида и включеия в него стилей. Не будете же Вы показывать набор ссылок сплошной массой пользователям.
2. Да, robots.txt уникален для каждого сайта. Есть конечно универсальные рецепты для различных CMS (Wordpress, Drupal....etc), на певрое время эти готовые решения вполне пригодятся, а когда появится понимание своих действий -- можно его подредактировать.
3. Конечно же не обязательо. В моем случае это потребовалось по объясненным в статье причинам. Если Вы не ставите подобных задач, то не надо.
3.1. Читай выше
4. Тут я не смогу ответить конкретно, но на мой взгляд лучше через Apache, потому как эти правила работают на уровне сервера. PHP обрабатывает запросы которые отдаются веб сервером и работает уровнем выше.
Спасибо за рабочий код! С вашей помощью решил вопрос за 2 минуты.
Успехов и профессионального роста.
Федор