301 редирект в htaccess на другой домен. Дополнение HttpFox для Firefox. Запретить доступ с разных ip

Привет. Вполне возможно, что многие из вас уже знают про то, как сделать 301 редирект и как его настроить. Но, как вы знаете, мой блог - это моя шпаргалка. Поэтому, я считаю, что не будет лишним написать этот пост и, когда потребуется, можно будет обращаться за данной информацией как мне, так и вам. Потому что все эти коды невозможно держать в голове, да и не нужно.

Что такое 301 редирект и где он может пригодится

Это некое автоматическое перенаправление с одной страницы на другую, причем при этом редиректе передается все: вес страницы, тИЦ, PR, вес входящей ссылочной массы и прочее. То есть происходит склеивание старой страницы с новой. Пользователь, попавший на старую страницу, автоматически "перебросится" на новую.

Где может пригодится 301 редирект:

  • Решили вы переехать на новый домен. В таком случае, наиболее безболезненно это можно сделать как раз с помощью данного вида перенаправления.
  • Был у вас сайт на каком-нибудь движке (допустим, Joomla). Страницы имели адрес site.ru/?id=1245. На WordPress та же самая страница у вас выглядит так site.ru/rubrika/post.html. И, чтобы не потерять показатели старых страниц, необходимо сделать 301 редирект на новые страницы.
  • Ваш сайт доступен по 2-м адресам, например с www и без www. В таком случае тоже нужно прописать 301 редирект.
  • Контент на старой странице нужно перенести на новую страницу. Или, например, 3 маленьких статьи нужно объединить в одну большую. В подобных случаях тоже лучше перенести на 1 из 3-х URL, а на оставшихся двух прописать редирект 301.

Как сделать 301 редирект в htaccess

Я предпочитаю делать 301 редирект с помощью файла htaccess. При чем он существует не только на WordPress сайтах, поэтому данный метод перенаправления - универсальный. Файл.htaccess лежит в корне сайта:

Редактируется данный файл с помощью текстового редактора, лучше использовать .

Внимание! Касается новичков: если вы не совсем уверены в своих действиях, обязательно, перед тем как делать изменения в файле htaccess, сделайте его резервную копию.

С WWW на без WWW (и наоборот)

Сайт должен быть доступным только по одному варианту: либо с WWW, либо без WWW. Неправильно, если сайт "отдается" по двум вариантам. Нужно оставить только один.

Если сайт молодой, выберите лучше без WWW, если же старенький, то лучше остановиться на том варианте, который проиндексирован. Бывает так, что в Яндексе проиндексировано с WWW, а в Google без WWW, в таком случае выберите тот вариант, который "вылез" в наиболее приоритетной поисковой системе для вас.

Поймите, www.site.ru и site.ru для поисковых систем это 2 разных сайта, поэтому должен быть доступен только 1 вариант! С WordPress обычно с этим проблем нет, там по умолчанию доступен только 1 вариант, а вот на других движках часто можно видеть, что сайт доступен и так, и так.

301 редирект с www на без www:

RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.(.*) RewriteRule ^(.*)$ http://www.%1/$1

301 редирект с сайта без www на с www:

RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.*) RewriteRule ^(.*)$ http://%1/$1

С одной страницы на другую с помощью htaccess

При необходимости простановки 301 редиректа с одной страницы на другую, нужно прописать вот этот код в файле htaccess:

Redirect 301 /staraya-stranica.html http://site.ru/novaya-stranica.html

С index.php (index.html) на корень (главную страницу)

На некоторых движках можно встретить, что главная страница сайта также доступна по адресу: site.ru/index.php. Это неправильно. Нужно, чтобы данная страница отдавала 301 редирект на главную страницу, вот как это делается (не забываем переписывать "site" на свой домен).

Если c index.php:

RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://site/

Если с index.html:

RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://site/

С http на https:

Если вам нужно прописать 301 редирект с http на безопасный протокол httpS, используйте вот этот код:

RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

С одной категории (директории/папки) на другую

Бывает необходимость, когда все страницы определенной категории, нужно перенаправить по другому адресу, вот код:

RedirectMatch 301 ^/category-old/(.*) /category-new/$1

С одного домена на другой

Если вы вдруг переехали на новый домен, то нужно в htaccess старого домена прописать это:

RewriteEngine On RewriteCond %{HTTP_HOST} old-domen.ru RewriteRule (.*) http://new-domen.ru/$1

Также в обязательно укажите в директиве host новый адрес сайта.

301 редирект на WordPress с помощью плагина Simple 301 Redirects

Если сайт клиента на WordPress и он сам хочет в некоторых местах прописать 301 редиректы, я ставлю плагин Simple 301 Redirects. Да и для новичков он хорошо подойдет. Плагин очень прост в использовании и все делается в привычной админке WordPress, поэтому данный способ может показаться кому-то более легким.

Вывод

После того, как пропишете 301 редирект, обязательно проверьте сайт на работоспособность. Одна маленькая ошибка может сделать весь ваш сайт недоступным. Обязательно перед изменениями файла htaccess делайте его резервные копии, ну либо пользуйтесь CTRL+Z, чтобы вернуть файл в исходное положение.

Еще: учтите, что вес по 301 редиректу передается не сразу. Да, в Google склейка происходит быстрее, но в Яндексе это все происходит медленно. Нужно ждать обычно от 1 до 3-х месяцев.

Не забудьте добавить данную страницу в закладки, пригодится. Ну и конечно же спасибо за ретвиты.

Прежде чем непосредственно перейти к практике, нужно сказать, что редирект бывает двух типов. Я думаю, вы понимаете, что это перенаправление с одного адреса на другой. Оно необходимо, когда при переходе по одному адресу нужно отправить человека в другое место.

Редирект бывает временным и постоянным. Постоянный (301-й) передает ссылочный вес, временный (302-й) – нет. Сегодня мы поговорим именно о постоянном редиректе, так как именно его использование считается оптимальным.

Настройка 301 редиректа и случаи из практики

Обычно редирект прописывают в файле.htaccess, но это не единственный способ его создать. Дальше в статье я также покажу вариант, как сделать редирект с помощью php.

Но сначала мы поговорим о том, как он делается через.htaccess. Вообще с помощью редиректа можно избавиться от многих проблем. Одна из них – возможные дубли страниц на сайте, так как он, по сути, доступен по двум адресам: www.site.ru, site.ru.

И для поисковика это разные сайты. Таким образом, каждая страница ваших сайтов имеет как минимум 2 адреса, по которым к ней можно обратиться. Это если вы убрали другие дубли. Чтобы предотвратить подобные вещи, обычно делают редирект с www на вариант без www, так как он более короткий и оптимальный. Таким образом, происходит склейка доменов. Главным зеркалом будет site.ru. Если пользователь сам наберет www.site.ru, то его автоматически перенаправит на вариант без www. Это и позволит избежать дублей, так как теперь поисковая машина будет понимать, что домены связаны. И вот сам код:

RewriteCond %{HTTP_HOST} ^www.site\.com$ RewriteRule ^(.*)$ http://site.com/$1

RewriteCond % { HTTP_HOST } ^ www . site \ . com $ [ NC ]

RewriteRule ^ (. * ) $ http : //site.com/$1

Естественно, тут нужно заменить адрес сайта на ваш. Стоит отметить, что это не единственный способ избежать проблем с www. Другой вариант – указать в файле robots.txt команду Host: домен без www. Еще один способ – настроить главное зеркало в Яндекс.Вебмастере. Это вообще самый простой вариант для Яндекса.

Отлично, ну а что, если вам нужно сделать редирект с одного домена на другой? В таком случае воспользуйтесь таким кодом:

RewriteCond %{HTTP_HOST} !^www\.site\.com RewriteRule ^(.*)$ http://www.site.com/$1

RewriteCond % { HTTP_HOST } ! ^ www \ . site \ . com

RewriteRule ^ (. * ) $ http : //www.site.com/$1

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

Собственно, для максимально упрощения могу посоветовать вам такой сервис — http://www.webconfs.com/htaccess-redirect-generator.php . Это так называемый генератор редиректов.

Перенаправление с помощью php

Также я хочу показать, как делать это с помощью php.

header ("HTTP/1.1 301 Moved Permanently" ) ;

header ("Location: http://www.site.ru/page.htm" ) ;

exit () ;

Этот код перенаправляет пользователя с той страницы, где он вставлен, на site.ru, где будет запрос к странице page.html и ее отображение, если она обнаружена.

Однажды я проходил пару уроков по основам php и там приводился еще один пример с тем, как использовать редирект. Допустим, у вас на сайте есть информация, которую вы готовы показать пользователю только после регистрации или только после ввода ним e-mail. В общем, неважно, что именно за условие вы ставите.

Суть в том, что если условие выполняется (введены правильные данные, введен корректный e-mail и т.д.), то вы перенаправляете его на закрытую страницу и человек получает доступ к информации. Если он ввел данные неправильно, то возвращать его назад на страницу ввода. В общем, вот такой простой пример использования перенаправлений в php.

В каком случае применять 301-й редирект?

Постоянный редирект нужно применять во всех случаях, когда текущий адрес устарел, а информация перенеслась на новое место. Например, вы перенесли статьи с одного раздела в другой или даже с одного сайта на другой. Тут вам и поможет редирект, который даст поисковым роботам понять, что информация переехала на новое место.

Также редирект применяют в том случае, когда есть несколько доменов и один основной. Обычно со всех дополнительных доменов делают редирект на основной. Это особенно актуально для крупных компаний. Например, у вас крупная компания с красивым именем. Но бывают случаи, когда люди делают опечатки. А может просто конкуренты хотят забрать доменное имя, близкое по написанию к вашему, чтобы вести мошеннические действия от вашего лица!

Конечно, полностью от таких людей не убережешься, но многие покупают 3-10 доменов, близкие по названию и доменным зонам к основному адресу, после чего делают их зеркалами. То есть при переходе по любому из этих адресов произойдет перенаправление на главный адрес.

Возможные ошибки

Теперь разберем наиболее частые ошибки при использовании перенаправления. Первая – это любой многоступенчатый редирект. Это когда при переходе по адресу сначала делается перенаправление в одно место, а оттуда – в другое и т.д. Это в принципе странно и подозрительно, потому что обычно используется для всякого рода серых операций. Да и вам, обычному веб-мастеру, едва ли когда-нибудь это понадобится. К тому же подобного рода фокусы сильно снижают скорость загрузки конечной страницы.

Вторая ошибка – так называемый битый редирект, когда перенаправление происходит на страницу, которой не существует (ошибка 404). Либо отдается любая другая ошибка типа 4хх или 5хх. Единственно правильный ответ сервера – 200.

Слышали многие и не раз. Но по причине отсутствия необходимости в нём, а также из-за страха сделать что-нибудь неверно, не придавали важного значения такой процедуре. В статье будет подробно рассмотрено, как настроить редирект 301.

Про его настройку можно найти не один десяток статей и информационных материалов. Но после просматра многие из них у начинающих пользователей компьютеров и веб-мастеров могут возникнуть трудности с пониманием основ настройки. Многочисленные коды и скрипты, приводящиеся в онлайн-источниках информации, по большей части вызывают непонимание. В действительности же всё намного проще, и данная статья послужит хорошим руководством, как настроить редирект 301.

Что такое перенаправление 301?

Разберёмся во всём по порядку. Прежде всего дадим определение редиректу 301. Под ним понимают самое простое перенаправление гостя ресурса в сети Интернет (сайта) на другую страничку в сети либо доменное имя. Сразу оговоримся, что в данной статье не будут рассматриваться какие-либо хитрые скрипты и слишком сложный код, а будет показано несколько простых вариантов перенаправления, которые являются достаточными базовыми знаниями по этой теме для любого веб-мастера.

Инструмент для - файл.htaccess

Рассмотрим такой удобный инструмент, как.htaccess. Редирект 301 через него делать весьма удобно и просто. Htaccess по своей сути является особенным служебным файлом в конфигурации, в котором заключён очень большой функционал и множество возможностей. При помощи его можно установить запрет на доступ к любым каталогам на сервере сайта, указывать кодировку страниц, устанавливать защиту для папок и файлов, производить 301 редирект и некоторые другие действия.

Это описание возможностей данного файла в общих чертах. На самом деле его функционал ещё более расширенный. Файл не имеет названия и пишется как.htaccess. Точка в самом начале является обязательной.

Процедура создания файла.htaccess

Если в корневой папке сайта отсутствует данный файл, его можно очень легко создать собственными силами. Один из самых быстрых способов создания - использование FTP-клиента. Наиболее удобный из них - FileZilla.

Для создания нужно перейти в корневой каталог своего интернет-проекта - нажать в пустом месте правую кнопку компьютерной мыши - выбрать пункт "Создать новый файл" - ввести имя.htaccess - нажать кнопку OK. После этих действий созданный файл можно будет отредактировать. Его открытие можно произвести любым редактором текста.

Но бывает и такое, когда FTP-клиенты скрывают некоторые системные файлы, включая.htaccess. Поэтому, если данный файл не был найден в корневой папке, не нужно спешить его создавать. Прежде всего проверьте его присутствие в скрытых файлах. Для этого необходимо перейти на вкладку “Сервер” и установить галочку на принудительном отображении скрытых файлов.

Итак, создан либо найден файл.htaccess, редирект 301 при помощи его создать будет легко. Однако прежде всего нужно определиться, для чего он нужен.

Самый популярный случай, когда может пригодиться 301 редирект

По рекомендациям ведущих веб-мастеров, каждый ресурс в Сети должен обладать 301 редиректом. И самым популярным случаем, когда он очень нужен, является перенаправление с домена, который в своём составе имеет префикс с www, на домен без него и наоборот.

Это объясняется тем, что у любого сайта в сети Интернет только один тип доменного имени с www либо без него может быть главным. Другой вариант же будет являться зеркалом сайта. Главное зеркало интернет-ресурса расписывается в файле robots.txt при помощи директивы Host. Помимо этого файла, главный вариант домена следует указать в "Яндекс.Вебмастере". Многие поисковые системы хорошо относятся к такому инструменту, как 301 редирект. "Яндекс" не является этому исключением.

При указании главного зеркала интернет-ресурса ваш сайт будет проиндексирован верно и не будет создавать ненужных дублей. Многие новички веб-мастера никогда и не слышали о зеркалах сайтов, что является очень большой ошибкой, которая вызовет в дальнейшем крупные неприятности.

Значение настройки зеркал сайта

После всех проделанных действий с зеркалом поисковики будут определять главный домен автоматически. Можно даже с лёгкостью проверить редирект, всё будет работать хорошо. На этих действиях можно было бы остановиться, но лучшим путём для SEO-оптимизации интернет-ресурса будет дополнительная настройка редиректа.

Сам префикс www в обозначении уже давным-давно должен был уйти в небытие. Но тем не менее в сети Интернет всё ещё существует много ресурсов с www в названии. Для поисковиков домены с www и без него - два различных адреса. Да и многие пользователи при поиске конкретного интернет-проекта вбивают в адресную строку вариант с www. Поэтому этот префикс пока что имеет место быть. Исходя из этого факта, настройка зеркал является необходимым действием. Да и руководство, как настроить редирект 301, тоже является обязательным к изучению, чтобы ваш интернет-проект успешно индексировался в поисковых системах.

Последствия неправильной настройки зеркал

Для того чтобы оценить всю значимость 301 редиректа и верной настройки зеркал, выделим пагубные последствия при их неверной работе. Таковых не так много, всего два. Но весомость у каждого пункта очень велика.

Будут разделяться между доменами с www и без него в прямой зависимости от того, как на ваш ресурс будут ссылаться другие пользователи и сайты. Это говорит о том, что ваш интернет-проект потеряет часть ссылок, что негативно скажется на его посещаемости и месте в поисковой выдаче. Однако это не самая главная проблема.

Многие веб-мастера понимают, что поисковики непрерывно борются за уникальность контента интернет-ресурсов. Они очень негативно относятся к дублированию информации и довольно серьёзно наказывают сайты со схожим содержимым, вплоть до их полной блокировки в поисковой выдаче. Теперь обрисуем следующую ситуацию: ваш ресурс с самого начала был проиндексирован с префиксом www, но со временем домен без www получил большее число посещение и популярность (на него чаще ссылались и чаще упоминали).

Вы об этом ничего не знаете и дальше развиваете свой проект. С течением времени он наполняется уникальным контентом, многими ссылками и комментариями. Поисковики же, мониторя ресурс без префикса www, отправили его в бан за неуникальный контент. Со временем он полностью перестанет индексироваться.

Для того чтобы избежать такой ситуации, существует файл.htaccess. Редирект 301, прописанный в нём, способен решить проблему разделения ресурса по доменам с www и с его отсутствием.

Редирект с домена www на без префикса и наоборот

Как производится настройка редиректа в таком случае. Тут всё просто. Необходимо открыть файл.htaccess и прописать в него приведённый ниже скрипт.

Редирект с домена www на без него:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.moydomen.com
RewriteRule ^(.*)$ http://moydomen.com/$1 .

И по-другому:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^moydomen.com
RewriteRule (.*) http://www.moydomen.com/$1 .

Нужно принять во внимание, что вместо moydomen.com необходимо указать адрес своего интернет-ресурса в обоих случаях!

Следует сохранить файл.htaccess и перенести его в корневую папку с последующим замещением прошлого файла. Теперь посетитель при любом вбивании адреса сайта (хоть с http, хоть без него, хоть с www, хоть без него), будет во всех случаях перенаправляться на главную страницу. Мы рассмотрели, как настроить 301 редирект на с www без www. Давайте теперь разберёмся с остальными способами его применения.

Переход с одного домена интернет-проекта на другой

Подобной схемой редиректа, которая приведена выше, следует пользоваться при переходе с одного домена интернет-проекта на другой. Для демонстрации приведём пример. Допустим, следует переехать с домена moysait-1.com на moysait-2.com. В таком случае следует записать в файле.htaccess код:

RewriteEngine On
RewriteCond %{HTTP_HOST} moysait-1.com
RewriteRule (.*) http://moysait-2.com/$1 .

Смена ссылок ЧПУ и редирект при этом

Временами возникает необходимость сменить Вполне возможно, сложилась такая ситуация, что было решено поменять весь раздел на своём ресурсе. Либо же владелец сайта ничего не знал о ссылках ЧПУ, а блог уже существовал и наполнялся материалами. В этом случае может помочь перенаправление. Как настроить 301 редирект для такого случая? Важно, что при таком положении дел, все показатели страниц (ссылки, их вес в поисковой выдаче), останутся прежними.

Приведём простой пример. Было решено сменить название страницы с moya_infa.html на obo_mne.html. В таком случае нужно записать в.htaccess код: redirect 301 moya_infa.html http://www.moydomen.com/obo_mne.html.

Подобным образом производится и редирект 301 со страницы на страницу.

Перенаправление при смене расширения файла

Приведём ещё один пример. Веб-мастеру необходимо сменить расширение у файла moya_stranichka.html на moya_stranichka.php. Подобно прошлому пункту, прописываем в.htaccess такой код: redirect 301 moya_stranichka.html http://www.moydomen.com/moya_stranichka.php.

Редирект при партнёрских программах

Например, необходимо перенаправить посетителя сайта на страницу с партнёркой. Сама ссылка партнёрской программы выглядит как www.partner.com/?ref=16011. Заметив такую ссылку, многие посетители ресурса не будут переходить по ней, заранее догадавшись о ваших намерениях.

Для придания ссылке надлежащего вида нужно создать отдельную страничку, как пример dlya_druzei.html, с которой будет производиться редирект на страничку с партнёрской программой. Осталось лишь отредактировать файл.htaccess: redirect 301 dlya_druzei.html http://www.partner.com/?ref=16011.

Как произвести редирект 301 в CMS Joomla

Многие пользователи сети Интернет наверняка наблюдали страницу с ошибкой 404. В движке Joomla уже имеются несколько встроенных способов редиректа со страницы на страницу. Однако они работают не всегда. И являются очень трудными для понимания обычным пользователем. Тут на помощь придёт редирект 301. Joomla имеет в своём стандартном составе файл.htaccess, с которым можно производить все манипуляции, описанные выше.

Давайте произведём настройку для перенаправлений по всем страницам вашего интернет-проекта. Прежде всего, в каталоге нужно отыскать файл htaccess.txt и дать ему правильное название.htaccess. После этого в админке следует выставить в настройках перенаправлений включение ЧПУ (SEF) и поставить галочку на перенаправление URL.

Затем следует открыть файл.htaccess и прописать в нём правила для нужных перенаправлений.

Редирект с помощью PHP

Если по каким-либо причинам доступ к файлу.htaccess не существует либо закрыт, есть способ сделать по-другому редирект 301. PHP в этом поможет.

Для того чтобы произвести перенаправление с домена на домен с сохранением всех параметров, необходимо в любом редакторе текстов создать файл с расширением.php, назвать его index и скопировать туда следующий скрипт:

if ($ref!="") $ref="?".$ref;header("HTTP/1.1 301 Moved Permanently");

header("Location: http://moydomain.ru/".$ref);

Здесь moydomain.ru является доменом, на который осуществляется редирект. Полученный файл нужно закачать на сервер в главный каталог сайта.
Для того чтобы произвести редирект со страницы на страницу в пределах одного домена либо разных, нужно перед основным кодом переносимой страницы вставить следующее:

header("HTTP/1.1 301 Moved Permanently");

header("Location: http://www.moydomain.ru/moycategory/moypage.htm");

В результате www.moydomain.ru/moycategory/moypage.htm является новой страницей, на которую осуществляется перенаправление.

Важно принять во внимание, что страница, в код которой вставляется приведённый выше скрипт, должна иметь в конце названия расширение.php. Иначе придётся воспользоваться редиректом через.htaccess.

Теперь, после изучения статьи, любой вебмастер будет знать, как настроить редирект 301, что это такое и чем он полезен. Здесь показаны наиболее простые варианты использования перенаправлений. Однако о них необходимо иметь представление любым владельцам сайтов и блогов. И стоит принять во внимание, что важно не только настроить верно перенаправление, но и проверить его на предмет правильной работы.

Как видим, перенаправления можно создавать не только с помощью файла.htaccess, но и через стандартные возможности многих CMS, и с помощью скриптов PHP.

Решила попробовать. Буду постить наблюдения, практическое применение и решение проблем по теме SEO и "я-вебмастер" по стопам собственного опыта. Не знаю, насколько меня хватит, время покажет.

Пояснительная преамбула: Я не специалист по поисковой оптимизации (SEO) и не программист. Всё здесь описанное - опыт и интуитивные соображения более-менее продвинутого пользователя.

Ещё: Отдельно хочу выразить благодарность ave за многоразовую помощь в реабилитации сайта:)

Итак, к теме

Redirect 301: Как сделать редирект с одной страницы на другую

Реализация задачи простая и я это знала, хотя за 3 с лишним года существования сайта 301 редирект был использован единожды, и то не мной. Но на днях я намерено убрала несколько страниц с сайта и мне надо было на старые (убранные) ссылки поставить Redirect 301.

Что такое Redirect 301?

"Redirect" по-нашему "перенаправление", "переадресация". То есть, это такой код, с помощью которого мы сообщаем, что намерено и навсегда переадресовываем адрес (URL) страницы с прежнего места на новое. "Навсегда" можно отменить, удалив переадресацию.

301 - постоянная переадресация

302, 303 и 307 - временная переадресация

Для чего он нужен?

Простой пример: у вас была на сайте страница с содержанием, вы её удалили, её больше нет, это значит человек, попавший (с гугла или яндекса, например) на эту страницу, увидит "404 ошибку" или "Страница не найдена". Плохой вариант - человек сразу же закроет ваш сайт, или - решит найти через "поиск" на вашем сайте то, за чем пришёл, если оно вообще ещё есть.

В любом случае, увидеть "404 ошибку" - это не прикольно, да и поисковики массовое наличие таких страниц на сайте рассматривают по-неприкольному - могут понизить ваш сайт в результатах выдачи поиска.


Скриншот из видео , в котором глава команды Google по борьбе с веб-спамом Мэтт Каттс (Matt Cutts) отвечает на вопрос "Какая доля веса PageRank теряется при 301 редиректе?"

Но без удаления страниц на сайте не обойтись, случается, по разным на то причинам и по разным причинам им необходимо поставить 301.

В каких случаях на сайтах применяется перенаправление 301?

1. чтобы перенаправлять одну страницу сайта (ссылку) на другую
2. ссылки сайта с www перенаправлять на ссылки без www, или наборот
3. сделать массовую переадресацию ссылок в случае изменения домена или движка сайта

Это основные случаи. Мой случай - первый, его и рассматриваем.
Делается просто, но у меня простой вариант не сработал, пришлось пару часов погуглить в поисках верного варианта.

Делаем переадресацию 301

Делается это в файле.htaccess, который лежит в корневой папке сайта. Открываем его и вписываем туда наш редирект. Я прописывала сразу после RewriteBase /

сохраняем изменения в.htaccess. Всё. Проверьте, происходит ли со старой (не рабочей) ссылки переадресация на новую ссылку.

У меня этот вариант не сработал. Результат: переадресация не происходила, а в адрес ссылки дописывался параметр ?q= . Вот вариант, который у меня сработал. Уточняю: реализовано для сайта на Drupal

Редирект 301 - зачем он нужен? В процессе продвижения сайта может возникнуть ситуация, когда необходимо изменить url страницы. Причины тому могут быть разные: переезд на новый домен, склейка дублей страниц, или даже, не к ночи будут помянуты, санкции поисковых систем. Чтобы изменить url, используется перенаправление, правильно называющееся «301 Permanent Redirect».

Что такое 301 редирект?

301 redirect действует на постоянной основе, передает со старой страницы на новую ссылочный вес, ТИЦ сайта и . Также, если сайт находится в каталоге Яндекс или DMOZ, страниц нового сайта в нем, разумеется, не будет. Помимо этого, используется 301 редирект на другой сайт, и перенаправление с одной версии сайта на другую. В частности так избавляются от проблем при индексации, возникающих из-за дублирования страниц сайта.

Избавление от дублей страниц также называют канонизацией.

Как настроить 301 редирект

При использовании некоторых CMS (систем управления контентом, или «движков» сайта) редирект можно настроить при помощи специальных плагинов. Однако более распространена практика настройки 301 редиректа посредством внесения изменений в файл.htaссess.

Несколько примеров использования 301 редиректа

Cклеивания зеркал сайта

Для поисковой системы site.name и www.site.name – разные сайты. Один из них будет проиндексирован, второй же окажется дублем. Чтобы подобного не произошло, делают так называемое «склеивание» сайта. С сайта с «www» указывается перенаправление на сайт без «www». Это делается в файле.htaccess, с помощью следующей конструкции:

RewriteEngine On RewriteCond %{HTTP_HOST} ^www.vash-sait\.ru$ RewriteRule ^(.*)$ http://vash-sait.ru/$1

Если на начальном этапе этого не было сделано, и в индекс попала версия сайта с «www», стоит сделать обратное перенаправление.

RewriteEngine On RewriteCond %{HTTP_HOST} ^vash-sait\.ru$ RewriteRule ^(.*)$ http://www.vash-sait.ru/$1

Перенаправление на страницу с другим url

При использовании ЧПУ ссылок иногда возникает ситуация, когда url необходимо изменить, но исходная страница уже находится в индексе. Чтобы не потерять позиции и вес при изменении ссылки, стоит установить перенаправление с исходной ссылки с на измененную.

RewriteEngine On RewriteRule ^(.*)url.html$ http://vash-sait.ru/new-url.html

Перенаправление на другой домен

В ситуации, когда необходимо сменить домен, это можно сделать без потерь позиций и веса. Для этого нужно установить 301 редирект со старого домена на новый.

RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.staryy-sait\.ru$ RewriteRule ^(.*)$ http://novyy-sait.ru/$1 RewriteCond %{HTTP_HOST} ^staryy-sait\.ru$ RewriteRule ^(.*)$ http://novyy-sait.ru/$1

Редирект алиасов на основной домен сайта

Если для сайта используется несколько доменов (алиасов), зарегистрированных в разных доменных зонах, то во избежание дублирования контента, нужно установить 301 редирект на основной домен.

RewriteEngine On RewriteCond %{HTTP_HOST} ^vash-sait.com$ RewriteCond %{HTTP_HOST} ^www.vash-sait.com$ RewriteCond %{REQUEST_URI} !^/robots.* RewriteRule ^(.*)$ http://vash-sait.ru/$1

Убираем расширение с помощью 301 редиректа

RewriteEngine on RewriteRule ^(([^/]+/)*[^.]+)$ /$1.html [L]

Перенаправление с index.php на главную

В некоторых случаях, главная страница сайта доступна по нескольким адресам одновременно. Это также негативно сказывается на продвижении, так как говорит о дублировании контента. Избавиться от этого можно, применив следующую конструкцию:

RewriteEngine On RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://vash-sait.ru/

Страницы, в url которых встречается слеш, и страницы, в которых этого символа нет, также могут быть признаны дублями. Следующим кодом устанавливается перенаправление со страниц без слэша на страницы со слэшем:

RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ /$1

Редирект для url с параметрами

Если исходный адрес содержит какой-либо параметр (например, http://vash-sait.ru/articles.php?section=1. Параметр здесь "section=1"), то перенаправляющая конструкция будет иметь следующий вид:

RewriteEngine On RewriteCond %{QUERY_STRING} section=1 RewriteRule ^index.php http://vash-sait.ru/articles.php?