Содержание
как настроить правильную переадресацию страниц
seo-оптимизатор
Теги: Внутренняя оптимизация
С помощью 301 редиректа вы можете настроить склейку старых страниц с новыми или перенести сайт на другой домен, убрать многие дубли с сайта и многое другое. Крайне полезная вещь — поэтому нужно научиться делать его правильно!
301 Редирект в .htaccess: Настройка переадресации для сайта
Смотрите это видео на YouTube
- Что такое redirect 301
- Когда и зачем использовать 301 редирект?
- Настраиваем 301 редирект через .htaccess
- Правильный 301 редирект на новый домен
- Ошибки, которые могут возникнуть при настройке 301 редиректа
- Как проверить, что редирект 301 работает правильно
- Популярные вопросы и ответы на них
Что такое redirect 301
301 редирект (ответ сервера HTTP 301 или Moved Permanently) – это способ постоянного перенаправления поисковых запросов и пользователей с одного URL-адреса на другой.
Как он работает и чем отличается от других редиректов
301 редирект является наиболее постоянным и рекомендуемым способом перенаправления поисковых запросов и пользователей с одного URL-адреса на другой. Он работает следующим образом: при запросе браузером страницы, сервер возвращает HTTP-статус 301 и указывает новый URL-адрес страницы в заголовке ответа. После этого браузер автоматически перенаправляет пользователя на новый адрес.
Основные преимущества заключаются в следующем:
- Постоянность: 301 редирект действует бессрочно и рекомендуется поисковыми системами при переезде страниц (так называемая склейка).
- Сохранение ранжирования: при использовании 301 редиректа, поисковые системы сохраняют результаты страницы на новом URL-адресе.
- Удобство использования: настройка 301 редиректа происходит на уровне сервера, что позволяет легко и быстро настроить перенаправление.
Другие виды редиректов, могут быть использованы для временного перенаправления, например:
- 302 редирект: это временный редирект, который сообщает поисковым системам и браузерам, что страница временно перемещена на другой URL-адрес. При использовании этого типа редиректа поисковые системы продолжают индексировать и ранжировать исходную страницу, а не новую.
- 307 редирект: аналогичен 302-му, за исключением того, что при его использовании метод HTTP-запроса не меняется, то есть сохраняется оригинальный метод HTTP-запроса, в отличие от 302 редиректа, который переключается на GET-запрос.
- Meta-редиректы: это редиректы, которые настраиваются внутри кода HTML-страницы с помощью тега <meta> и атрибута «http-equiv». Они используются для перенаправления поисковых роботов и браузеров с одной страницы на другую.
Хотя эти редиректы могут быть использованы для перенаправления поисковых запросов и пользователей, рекомендуется использовать 301 редирект в качестве основного способа перенаправления.
Когда и зачем использовать 301 редирект?
Наиболее часто он используется для следующих целей:
- Перемещение сайта на новый домен: позволяет сохранить поисковые позиции и результаты страниц на новом домене.
- При переходе с http на https и других изменений главного зеркала: чтобы склеить копии страниц.
- Устранение дублей: позволяет сделать так, чтобы все дубликаты ссылались на одну корректную страничку.
- Изменение URL-адресов на сайте: при изменении адресов страниц на сайте, 301 редирект позволяет сохранить трафик на страницах и избежать ошибок 404.
- Устранение битых ссылок: при обращении к несуществующей странице сайта, может перенаправлять на главную страницу сайта или наиболее подходящую страницу.
- Мобильная версия: перенаправление пользователей мобильных устройств на соответствующую версию сайта.
- ГЕО: перенаправление пользователей в зависимости от их геолокации на нужный поддомен или папку.
В целом, использование 301 редиректа позволяет сохранить поисковые позиции, ссылочную массу, трафик и результаты страниц на сайте при изменениях в его структуре и содержании.
Настраиваем 301 редирект через .htaccess
Что такое .htaccess и где его взять?
Файл под названием .htaccess находится в главной категории вашего сайта. Это дополнительный конфигурационный файл web-сервера Apache, в котором мы будем указывать правила склейки. Открываем файл блокнотом (рекомендую notepad++ или sublime, чтобы не было проблем с кодировкой). Если у вас их нет — рекомендую обзавестись, а заодно посмотрите мои инструменты для работы.
Файл .htaccess может не отображаться — включите отображение скрытых файлов. И в корне вашего сайта вы его увидите через FTP-клиент.
Наглядно, где лежит у меня .htaccess
Общий шаблон для .htaccess, которым мы будем пользоваться:
Options +FollowSymLinks RewriteEngine On #Здесь указываем правила, которые идут ниже
Все правила записываются в виде:
RewriteCond [Сравнение] [Условие] [Флаги] RewriteCond [Сравнение] [Условие] [Флаги] RewriteRule [Шаблон] [Подстановка] [Флаги]
Теперь непосредственно займемся переадресацией и разберем конкретные примеры. (.*)$ http://new-site.ru/$1 [R=301,L]
С помощью таких не хитрых махинаций мы избавимся от дублей страниц, тем самым улучшив нашу внутреннюю оптимизацию и соответственно качество сайта.
Ошибки, которые могут возникнуть при настройке 301 редиректа
При использовании редиректа 301 могут возникнуть следующие ошибки:
- Неправильный URL-адрес назначения: если вы указали неправильный URL-адрес для перенаправления, то пользователи будут перенаправлены на неверную страницу. Чтобы избежать этой ошибки, необходимо тщательно проверять URL-адрес назначения перед созданием редиректа.
- Циклический редирект: это происходит, когда две страницы перенаправляют друг на друга, образуя цикл. Это может привести к ошибкам и снижению ранжирования в поисковых системах. Чтобы избежать циклического редиректа, необходимо тщательно планировать свои редиректы и проверять их наличие внимательно.
- Несовместимость HTTP и HTTPS: если ваш сайт использует HTTPS, а редирект настроен на HTTP, пользователи могут столкнуться с ошибкой безопасности и не смогут получить доступ к вашему сайту. Чтобы избежать этой ошибки, убедитесь, что все ваши редиректы настроены на HTTPS.
- Неправильная настройка сервера: если сервер не настроен, редиректы могут не работать. Чтобы избежать этой ошибки, рекомендуется обратиться к специалистам, которые могут помочь с настройкой сервера.
- Непонимание своих действий: если вы не знаете Apache у вас или Nginx, не понимаете устройство файла .htaccess — делайте копию работающего файла. А лучше обратитесь к специалистам.
Как проверить, что редирект 301 работает правильно
Существует несколько способов проверить, что редирект 301 работает правильно:
- Используйте онлайн-инструменты, такие как Bertal (если нужно разово) или PixelTools (если нужно массово + доп. параметры), чтобы проверить, что редирект перенаправляет на правильный URL-адрес и не имеет ошибок (смотрите ответ сервера чтобы был именно 301 и на какой URL перенаправляет).
- Проверьте индексацию новой страницы в поисковых системах. Если страница индексируется и отображаться в поисковых результатах (старый URL при этом исчезает из выдачи), это может указывать на то, что редирект работает правильно.
- Проверьте файл журнала сервера, чтобы убедиться, что редиректы не вызывают ошибок у пользователей и ботов или проблем в работе сервера.
Популярные вопросы и ответы на них
В чем разница между 301 и 302 Редиректом?
Где прописывается редирект?
- Что такое redirect 301
- Когда и зачем использовать 301 редирект?
- Настраиваем 301 редирект через .htaccess
- Правильный 301 редирект на новый домен
- Ошибки, которые могут возникнуть при настройке 301 редиректа
- Как проверить, что редирект 301 работает правильно
- Популярные вопросы и ответы на них
Помните: для этого контента требуется JavaScript.
Этот сайт использует файлы cookie для улучшения удобства пользователей. Продолжая пользоваться сайтом, вы даете согласие на использование файлов cookie.
Редирект для сайта на WordPress: через плагин или htaccess
Редиректы для сайта на CMS WordPress можно выполнить добавив записи в файл htaccess, ознакомится с чем можно в статье ниже.
- Через плагин;
- Через htaccess;
- Как проповерить.
301 редирект для сайта на WordPress
Для этого переходим в административную панель сайта во вкладку «Плагины»-«Добавить новый», где в поиске вводим «redirection».
Устанавливаем появившийся плагин (автор John Gadley) и активируем его.
Переходим в настройки.
Соглашаемся с базовыми настройками.
Система проверит сайт и завершаем настройку.
Дожидаемся установки и переходим в интерфейс плагина.
Чтобы сделать редирект с одной страницы на другую потребуется перейти в «Редирект».
Далее «Добавляем новый».
Далее заполняем:
- Исходный URL;
- Целевой URL.
Все готово в списке появится.
Редирект с http на https для WordPress
Чтобы включить настройку потребуется перейти в вкладку «Сайт» и включить опцию:
Force a redirect from HTTP to HTTPS
С WWW на без WWW и наоборот
В этой же вкладке сайт необходимо поставить галочку у нужного пункта.
Важно! По умолчанию настройка не делает никаких изменений в этом плане.
Как сделать редирект через файл htaccess
Для того, чтобы перенаправить пользователя с одной страницы на другую требуется использовать следующую комбинацию:
Redirect 301 site.ru/page1/ site.ru/page2/
Где:
- page1- страница которая будет переадресовывать;
- page2 – открывающийся документ.
Важно! Можно записывать адреса в относительном виде, например, /page1/ и /page2/.
Также допускается использование конструкции:
Redirect permanent site. poddomen.domain.ru$ [NC]
RewriteRule (.*) http://site.ru/$1?region=poddomen [L,R=301,QSA]
Как проверить работу 301 редиректа?
Для этого можно использовать инструмент проверки ответа сервера Яндекса:
https://webmaster.yandex.ru/tools/server-response/
Здесь вводим адрес первой страницы и видим следующее:
Как видим правило применилось и работает корректно.
Руководство для начинающих по созданию редиректов в файле .htaccess
Опубликовано:
9 июня 2021 г.
|
|
на
Абдул Рехман
Изображение
Изображение
с сайта Pixabay
Испытывали ли вы когда-нибудь необходимость изменить конфигурацию вашего веб-сайта, работающего на веб-сервере Apache, не имея root-доступа к файлам конфигурации сервера ( httpd.conf
)? Для этого и нужен файл .htaccess
.
Файл .htaccess
позволяет вносить изменения в конфигурацию вашего веб-сайта для каждого каталога. Файл создается в определенном каталоге, который содержит одну или несколько директив конфигурации, применяемых к этому каталогу и его подкаталогам. На виртуальном хостинге вам нужно будет использовать файл .htaccess
, чтобы внести изменения в конфигурацию вашего сервера.
[Вам также может пригодиться: 6 навыков системного администратора, которые нужны веб-разработчикам]
Распространенное использование файла .htaccess
Файл .htaccess
имеет несколько вариантов использования. Наиболее распространенные примеры:
- Перенаправления для определенных URL-адресов
- Загрузить пользовательские страницы ошибок, например страницы 404
- Заставьте ваш веб-сайт использовать HTTPS вместо HTTP
- Разрешить или запретить определенным IP-адресам доступ к вашему веб-сайту
- Защитите паролем определенные каталоги на вашем сервере
Когда не использовать .htaccess?
Файл . htaccess
обычно используется, когда у вас нет доступа к основному файлу конфигурации сервера httpd.conf
или конфигурации виртуального хоста, что происходит только в том случае, если вы приобрели виртуальный хостинг. Вы можете достичь всех вышеупомянутых вариантов использования, отредактировав файл(ы) конфигурации основного сервера (например, httpd.conf
) или файлы конфигурации виртуального хоста, поэтому вам не следует использовать .htaccess
, когда у вас есть доступ к эти файлы. Любая конфигурация, которую вам нужно поставить в 9Файл 0011 .htaccess можно также эффективно добавить в раздел
Причины избегать использования файлов .htaccess
Есть две причины избегать использования файлов .htaccess
. Давайте рассмотрим их поближе.
Первый : Производительность — когда AllowOverride настроен на разрешение использования файлов . htaccess
, httpd
будет искать .htaccess
файлов в каждом каталоге, начиная с родительского каталога. Это повлияет на производительность, независимо от того, используете вы его или нет. Файл .htaccess
загружается каждый раз, когда документ запрашивается из каталога.
Чтобы иметь полное представление о директивах, которые он должен применять, httpd
всегда будет искать файлы .htaccess
, начиная с родительского каталога, пока не достигнет целевого подкаталога. Если файл запрашивается из каталога /public_html/test_web/content
, httpd
необходимо искать следующие файлы:
-
/.htaccess
-
/public_html/.htaccess
-
/public_html/test_web/.htaccess
-
/public_html/test_web/content/.htaccess
Таким образом, для каждого доступа к файлу из содержимого подкаталога было выполнено четыре обращения к файловой системе, даже если файл отсутствует.
Второй : Безопасность — предоставление пользователям разрешения на внесение изменений в файлы .htaccess
дает им полный контроль над конфигурацией сервера этого конкретного веб-сайта или виртуального хоста. Любая директива в файле .htaccess
имеет тот же эффект, что и любая директива, размещенная в самом файле конфигурации httpd
, и изменения, внесенные в этот файл, вступают в силу мгновенно без необходимости перезапуска сервера. Это может стать рискованным с точки зрения безопасности веб-сервера и веб-сайта.
Включить файл .htaccess
Чтобы включить файл .htaccess
, вам необходимо иметь права sudo/root на сервере.
Откройте файл конфигурации httpd
вашего веб-сайта:
/etc/httpd/conf/test.conf
Вы должны добавить следующую директиву конфигурации в файл виртуального хоста сервера, чтобы разрешить файл .htaccess
в каталоге DocumentRoot . Если следующие строки не добавлены, Файл .htaccess
не будет работать:
<Каталог /var/www/test.com/public_html> Индексы опционов FollowSymLinks Разрешить переопределить все Требовать все предоставленные
В случае виртуального хостинга это уже разрешено поставщиками услуг хостинга. Все, что вам нужно сделать, это создать файл .htaccess
в каталоге public_html
, к которому поставщик услуг предоставил вам доступ и в который вы будете загружать файлы своего веб-сайта.
URL-адреса перенаправления
Если ваша цель — просто перенаправить один URL-адрес на другой, директива Redirect — лучший вариант, который вы можете использовать. Всякий раз, когда от клиента приходит запрос по старому URL-адресу, он перенаправляет его на новый URL-адрес в новом месте.
Если вы хотите сделать полное перенаправление на другой домен, вы можете установить следующее:
# Перенаправление на другой домен Перенаправление 301 "/service" "https://newdomain. com/service"
Если вы просто хотите перенаправить старый URL-адрес на новый URL-адрес на том же хосте:
# Перенаправление на URL-адрес в том же домене или хосте Перенаправление 301 "/old_url.html" "/new_url.html" Загрузить пользовательскую страницу ошибки 404
Для лучшего взаимодействия с пользователем загрузите пользовательскую страницу ошибки, когда любая из ссылок на вашем веб-сайте указывает на неправильное место или документ был удален.
Чтобы создать пользовательскую страницу 404, просто создайте веб-страницу, которая будет работать как страница 404, а затем добавьте следующий код в файл .htaccess
:
ErrorDocument 404 /error/pagenotfound.html
Вы должны изменить /error/pagenotfound.html
на местоположение вашей страницы 404.
Принудительное использование HTTPS вместо HTTP для вашего веб-сайта
Если вы хотите принудительно использовать HTTPS на своем веб-сайте, вам необходимо использовать модуль RewriteEngine в файле . htaccess
. В первую очередь необходимо включить модуль RewriteEngine в файле .htaccess
и затем указать условия, которые вы хотите проверить. Если эти условия выполняются, вы применяете правила к этим условиям. 9(.*)$ https://www.test-website.com/$1 [R=301,L]
Пройдемся по каждой строке.
RewriteEngine on включает модуль RewriteEngine . Это необходимо; в противном случае условия и правила не будут работать.
Первое условие проверяет, введено ли www
. [OR, NC] означает без регистра , что означает, даже если введенный URL-адрес содержит сочетание букв верхнего или нижнего регистра.
Затем он проверяет, был ли уже введен протокол HTTPS пользователем. %{https} off означает, что протокол HTTPS не использовался.
Когда RewriteCond удовлетворяется, мы используем RewriteRule для перенаправления URL-адреса на HTTPS. Обратите внимание, что в этом случае все URL-адреса будут перенаправляться на HTTPS при любом запросе.
[ Бесплатное руководство от Red Hat: 5 шагов к автоматизации вашего бизнеса. ]
Подведение итогов
Владельцы веб-сайтов часто используют файл .htaccess
для управления поведением своего веб-сайта. В этой статье мы рассмотрели основы .htaccess
и некоторые распространенные варианты использования на большинстве веб-сайтов.
Ознакомьтесь со статьями по теме Включить системного администратора
Изображение
6 навыков системного администратора, которые нужны веб-разработчикам
Разработчики не работают в вакууме. Вот навыки системного администратора, которые могут облегчить жизнь любого веб-разработчика.
Изображение
Настройка веб-сервера для использования HTTPS
Простая статья о настройке веб-сервера HTTPS с сертификатами OpenSSL.
Темы:
линукс
Администрирование Linux
Веб-серверы
apache — перенаправление определенного URL-адреса на другой URL-адрес с помощью .
htaccess
спросил
Изменено
2 года, 2 месяца назад
Просмотрено
64к раз
Я хочу иметь псевдоним и перенаправить URL 9www\.tz433\.tld/jobs/$
RewriteRule (.*) http://tz433.tld/about-us/jobs.html [R=301,L]
Проблема в том, что в этом корневом пути есть несколько доменов, потому что это мультисайтовая установка typo3. Так что что-то вроде «перенаправить /jobs
на /about-us/jobs
» не работает, потому что это должно происходить только для определенного домена (tz433).
Следующая конкретная вещь — www.tz433.tld
автоматически перенаправляет на tz433.tld
. Так что он также должен работать с 9рабочие места /? http://tz433.tld/about-us/jobs.html [R=301,L]
2
Если кто-то просто заинтересован в простом перенаправлении, вы можете попробовать это:
Redirect /URL URLtoRedirect
например
Перенаправление /old-url https://mywebsite.