Когда сайт недоступен: 301-редирект и «склейка» доменов
КОГДА САЙТ НЕДОСТУПЕН: 301-РЕДИРЕКТ И «СКЛЕЙКА» ДОМЕНОВ
Представьте себе ситуацию. Клиент открывает браузер, прописывает адрес вашего сайта, но ему сообщают, что веб-страница недоступна. Вы теряете заказчика. Почему? Он написал не www.vashsait.ru, а vashsait.ru. Где корень зла и что делать?
Такое происходит, когда не «склеены» домены c «www» и без «www». Как, например, на сайте www.russpole.com. Это мешает потенциальным клиентам напрямую заходить на сайт и индексировать его в поисковиках.
СИТУАЦИЯ 1
На первых этапах индексации сайта Яндекс или Google могут посчитать vashsait.ru и www.vashsait.ru разными сайтами. Поэтому их «склеивают» Как это сделать?
- Рекомендую на всякий случай проверить файл .htaccess. Когда его нет или он неверно настроен, сайт может вообще не отображаться без «www». (.*)$ http://newdomain.ru/$1 [R=301,L]
Готово!
СИТУАЦИЯ 3
У вас стоят зеркала, на которых есть дублированный контент (целиком или только его часть). В таких случаях поисковая система иногда принимает зеркало за основной сайт. Чтобы такого не допустить, основное зеркало указывается в более явном виде. Как это сделать?
У сайтов-зеркал есть свои файлы robots.txt. Вы открываете их и прописываете:
User-Agent: *
Host: glavsait.ru
Под glavsait.ru подразумевается адрес основного сайта.
Остались вопросы? Пишите на почту: [email protected].
Другие материалы
- Какой выбрать видеосервис?
- SEO умерло, да здравствует SEO!
Редирект 301 в htaccess —
Недавно у меня появилась необходимость со страниц одного сайта сделать перенаправление на другой. Причем не всех страниц (что проще), а половины.
Если у вас возникла такая же или похожая ситуация, то вам поможет Redirect 301.
Редирект представляет собой перенаправление пользователей с одного веб-сайта на другой, которое происходит автоматически.
При этом не стоит путать 301 и 302 редирект. 301-ый сообщает поисковым системам, что старый адрес больше не используется, а 302-ой говорит о том, что URL временно не используется, и может когда-нибудь снова появиться.
Если ваш сайт (как и большинство) работает на web-сервере Apache, то можно сделать переадресацию через коды скрипта файлов текстовой конфигурации: htaccess или httpd.conf. Чаще используется файл htaccess, переадресацию я делала с его помощью, и поэтому рассмотрим его подробнее.
- Итак, первым делом мы заходим в панель управления сайтом (cPanel). И идем в «Диспетчер файлов».
- Находим нужную нам папку с сайтом и ищем среди файлов .htaccess.
- Открываем его с помощью редактора исходного кода.
- Теперь в этот файл текстовой конфигурации нужно прописать следующее:
Options +FollowSymLinks
RewriteEngine on
Тем самым мы включим модули: Apache mod_rewrite и ReWriteEngine в модуле mod_rewrite. Также это можно сделать в php.ini.
Естественно, это всё можно сделать на локальном компьютере с помощью блокнота, а затем скопировать содержание в файл .htaccess.
Существует несколько типов сценариев переадресации. Рассмотрим их.
301 редирект с одной страницы на другую
Для этого нужно вставить следующую строчку в файл .htaccess. Внимание: вы прописываете свой сайт!
Redirect 301 /staraya-stranica.html http://domen.ru/novaya-stranica.html
Например, «перенесем» на этот сайт страницу «vsem-privet».
Redirect 301 /vsem-privet http://stacyblog.ru/vsem-privet
Если ваши страницы с префиксом, то прописываем его, если нет (как у меня), то нет.
Минус этого способа в том, что нужно прописывать каждую страницу, если их у вас много. (.*)$ http://www.%1/$1 [R=301,L]
Теперь вам осталось только протестировать сайт и проверить всё ли правильно работает.
regex — точно перенаправить все URL-адреса, просто измените доменное имя
спросил
Изменено 3 месяца назад
Просмотрено 44к раз
У меня есть веб-сайт с примерно 1 тыс. URL-адресов. Сайт переезжает на другое доменное имя. В противном случае URL-адреса будут точно такими же. Я хотел бы включить htaccess или какое-то правило, которое выполняет перенаправление 301 для всех URL-адресов одним махом. По сути, это заменит доменное имя в качестве перенаправления 301.
Пример:
- Текущий URL:
domain.example/blog/post-1.html
- Перенаправление на:
newdomain. example/blog/post-1.html
И это выполнялось как перенаправление 301. Как бы я это сделал?
- :
- REGEX
- APACHE
- .HTACCESS
- Перенаправление
- MOD-reawrite
Поместите это правило перенаправления в вашем
Document_root/.htaccess
.(?:www\.)?domain\.example$www.domain.example
илиdomain.example
. -
RewriteRule
перенаправить все URL-адреса наnewdomain.example
с точно таким же URI, как и в исходном запросе. -
R=301
устанавливает код состояния HTTP на301
(постоянное перенаправление) -
NE
для отсутствия экранирования, чтобы избежать кодирования специальных символов (если они есть) из исходных запросов 9(.*)$ http://newdomain.example$1 [R=301,L]Это гарантирует, что все ссылки на старом сайте будут перенаправлены, а поисковые системы, такие как Google, Bing и т. д., будут знать, что домен был перемещен навсегда. Преимущество этого заключается в том, что любое ранжирование из
. Не добавляйтеdomain.example
переносится вnewdomain.example
/
после домена в правило перезаписи, иначе оно будет дублироваться.Это альтернатива описанному выше методу.
9http://newdomain.example%{REQUEST_URI} [L,R=301]1
apache — .htaccess 301 перенаправление со старого домена на новый домен, в то время как структура страниц и URL-адреса одинаковы
Я хочу перенаправить http://olddomain.com на http://newdomain.com для всех моих URL-адресов..сохранение страница на новом домене такая же. Я имею в виду URL-адреса, такие как ниже
http://olddomain.com/home/category/page.html http://olddomain.com/home/mybook/page2.html http://olddomain.com/логин должно быть 301 перенаправление на новый новый домен, но те же страницы, как показано ниже http://newdomain. com/home/category/page.html http://newdomain.com/home/mybook/page2.html http://newdomain.com/логин 9(.*)$ /index.php?/$1 [L]
Пожалуйста, помогите мне сделать это чисто и объяснить все в деталях, так как я новичок в этом.
также кто-нибудь знает, сколько времени может потребоваться поисковым системам, чтобы удалить ссылки на мой старый домен? я имею в виду, что URL-адреса старого домена в поисковых запросах должны быть заменены URL-адресами нового домена… старый домен должен исчезнуть из поисковых систем.
- apache
- .htaccess
- mod-rewrite
- перенаправление
- SEO 9(.*)$ http://newdomain.com/$1 [R=301,L]
5
Гораздо проще:
Перенаправление 301 / http://newdomain.com/
Замените файл .htaccess этой строкой ИЛИ, если у вас есть к ней доступ, поместите ее в файл(ы) конфигурации apache для вашего старого домена (я помещаю ее в соответствии с директивой DocumentRoot).
Дополнительные сведения см. в разделе Перенаправление и переназначение с помощью mod_rewrite.
1 9(.*)$ http://newdomain.com/$1 [R=301,L]
Этот приведенный выше код перенаправит все ссылки на новый домен, вам не нужно ничего делать, каждая ссылка и изображения перенаправляют на ссылку нового домена. Кроме того, мы должны сообщить Google о перемещении вашего сайта.
Если вы переместили свой сайт в новый домен, вы можете использовать инструмент «Изменение адреса», чтобы сообщить Google о вашем новом URL-адресе. Мы обновим наш индекс, чтобы отразить ваш новый URL. Изменения будут действовать в течение 180 дней, за это время мы просканируем и проиндексируем страницы по вашему новому URL. Вот ссылка на это https://support.google.com/webmasters/answer/83106?hl=en 9(.*)$ http://newdomain.com/$1 [R=301,L]
Но не работал должным образом, просто пытался указать мой локальный хост на newdomain.