301 редирект на сайті: правильне налаштування htaccess

    301 редирект

    Завдяки 301 редиректу у власників сайтів з’являється можливість перенаправлення користувачів і пошукових роботів на адресу сторінки, яка відрізняється від тієї, яку запитували раніше. Пропонуємо добірку описів перенаправлень, які найчастіше використовуються.

    Налаштування 301 редиректу в більшості випадків проводиться з файлу під назвою .htaccess. Цей файл розташований в корені сайту і для його зміни використовуються спеціальні оператори:

    Спецсимволи:

    • ! – заперечення вираження;
    • [] – діапазон значень;
    • \ – символ, який відповідає за екранування (текст після нього буде вважатися простими символами, а не спеціальними);
    • () – в дужках вказуються змінні;
    • $ – кінець рядка;
    • ^ – початок рядка.

    Модифікатори:

    • *  – 0 і більше симв .;
    • + – 1 і більше симв .;
    • ? – повторення симв. 0 або 1 раз.

    За допомогою 301 Moved Permanently можна направити користувача з адреси сторінки, прописаної в рядку пошуку, на будь-яку іншу. Для seo оптимізації дана функція дозволяє перенести практично всю вагу, якою володіла стара сторінка на іншу адресу. Старий URL буде відзначений як застарілий. В результаті позиції в пошукових системах будуть збережені. Якщо не ставити перенаправлення, а просто створити нову сторінку, то пошуковики порахують її новою, і вона буде брати участь в пошуку нарівні зі старою.

    Існує кілька ситуацій, коли варто використовувати перенаправлення:

    • При переході на SSL протокол, коли URL буде змінено на HTTPS;
    • При необхідності зміни URL сторінки;
    • Для того, щоб основні показники сайту і органічний трафік основного сайту виросли. Це можна зробити завдяки покупці домену з хорошою історією і проставленню редиректу сайту, що просувається;
    • Якщо буде здійснений переїзд на новий домен. Причин для цього може бути досить багато, і необхідно зберігати трафік;
    • Коли потрібно склеїти домени;
    • Інші ситуації.

    Налаштувати редирект з http на https

    301 редирект з http на https

    Все більше вебмайстрів дотримуються рекомендацій ПС і використовують для сайту захищений протокол. Для цього потрібно встановити 301 редирект з http на https за допомогою файлу .htaccess. Внесіть в код такі рядки:

    RewriteCond %{SERVER_PORT} !^443$

    RewriteRule ^(.*)$ https:// site. com. ua/$1 [R=301,L]

    У разі, коли потрібно поставити 301 редирект з https на http, то потрібно прописати наступні рядки:

    RewriteCond %{SERVER_PORT} !^443$

    RewriteRule ^(.*)$ http:// site. com. ua/$1 [R=301,L]

    Редирект з www на без www

    Сьогодні використання протоколу www не є обов’язковим. При цьому багато вебмайстрів все ж намагаються його застосовувати. Коли йде налаштування нового сайту, то рекомендується в якості головного дзеркала вибирати сторінки без www. Склеювання доменів дає можливість об’єднати їх траст, перенести основні параметри разом з трафіком. Так само дана склейка є одним з факторів по оптимізації сайту. Інакше Яндекс і Гугл можуть порахувати, що ресурс з www і без нього – це два різні сайти з дубльованим контентом і накласти санкції.

    Щоб налаштувати 301 редирект з www на без www в .htaccess потрібно прописати наступне:

    RewriteEngine on

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

    RewriteRule ^(.*)$ http:// site. com. ua/$1 [R=301,L]

    Встановлюючи для виражезу RewriteEngine в першому рядку значення on або off, ви можете регулювати доступ до коду файлу.

    У другому рядку прописана директива, яка використовується для створення умов, за якими буде працювати редирект.

    У третьому рядку вказані приписи, які будуть виконувати ту чи іншу дію. В даному випадку – це перенаправлення за дпомогою 301 редиректу.

    Перенаправлення на інший сайт

    У разі, коли змінилося доменне ім’я у сайту, то найкращим варіантом можна вважати налаштування 301 редиректу. Пошукові системи радять поступати саме так. Зазвичай виконують такі дії:

    • Прописують посторінковий редирект зі старого домену на новий;
    • Встановлюють директиву host з новим ім’ям домену.

    Код для проставляння редиректу на старому доменному імені буде виглядати наступним чином:

    RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]

    RewriteRule ^([^/]+) $1 [L]

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

    RewriteRule ^(.*)$ http:// www. site .com/$1 [R=301,L]

    У файлі robots.txt потрібно прописати наступні рядки:

    User-agent: *

    Disallow:

    Host: newsite com

    301 редирект з однієї сторінки на іншу

    Іноді потрібно направити користувачів з однієї сторінки сайту на іншу. Наприклад, якщо Ви вирішили не змінювати матеріал на одній зі сторінок сайту, а створили нову, куди повинен бути направлений трафік. Або в разі роботи з CMS з’явилися дублі сторінок, які потрібно прибрати. Щоб не втратити трафік на старі сторінки сайту, найкращим рішенням буде простановка 301 редиректу з однієї сторінки на іншу. Для цього прописуємо в .htaccess наступні рядки:

    RewriteEngine On

    RewriteCond %{HTTP_HOST} ^www\.project-seo\.net$ [NC]

    RewriteRule ^page/301-redirekta/$ https:\\www.project-seo.net/newpage/ [R=301,L]

    Редирект зі сторінок з index.php і index.html

    301 редирект з index

    У цьому випадку достатньо поставити перенаправлення на інші сторінки сайту. Зазвичай в якості такої сторінки виступає головна.

    RewriteCond %{QUERY_STRING} ^cPath=373_703

    RewriteRule ^index\.php$ http:// site.com.ua/? [L,R=301]

    Приклад вище відмінно працює на сайтах з безкоштовними CMS, наприклад на Джумла. Це актуально для оптимізації проекту.

    Якщо потрібно поставити 301 редирект для головної сторінки сайту з index.php на нормальний url, потрібно прописати:

    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

    RewriteRule ^index\.php$ http:// site.com.ua/ [L,R=301]

    Оскільки дубль сторінки виду index.php може з’явитися не тільки у головній, а й у інших сторінок сайту, необхідно вжити заходів для вирішення цієї проблеми. Щоб відразу позбутися дублювання, досить прописати наступний рядок:

    RewriteRule ^index\.php/(.*)$ /$1 [R=301,L]

    У деяких випадках у головної сторінки може з’явитися дубль, на кінці якого буде прописано main.html. Позбутися від проблеми можна за допомогою 301 редіректу такого виду:

    RewriteEngine On

    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /main\.html\ HTTP/

    RewriteRule ^main\.html$ http:// vash-sait. com. ua/ [R=301,L]

    Або можна використовувати такий спосіб:

    Redirect 301 /main.html http:// site.com.ua/

    Іноді може знадобитися, щоб сторінки сайту мали адресу з .html в кінці. Для цього в файлі .htaccess необхідно прописати наступні рядки:

    RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)

    RewriteRule .* %1.html [R=301,L]

    RewriteRule ^(.*)/$ /$1.html [R=301,L]

    У разі, коли потрібно, щоб у url сайту не було .html на кінці, необхідно прописати наступне:

    RewriteCond %{REQUEST_URI} \.html$

    RewriteRule ^(.*)\.html$ /$1 [R,L]

    Іноді потрібно поставити редирект з адрес виду .htm на адреси .html. Для цього прописуємо наступні рядки:

    RewriteBase /

    RewriteRule ^(.*)\.htm$ $1.html [R=301,L]

    Редирект зі сторінок зі слешем в кінці на сторінки без слеша

    Там, де необхідне рішення даної проблеми, необхідно налаштувати редирект з допомогою наступних рядків коду:

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteCond %{REQUEST_URI} ^(.+)/$

    RewriteRule ^(.+)/$ /$1 [R=301,L]

    У деяких CMS адреси можуть формуватися таким чином, що сторінка буде доступна за адресою: /? Page_id = 2324. Для їх перенаправлення прописуємо рядки:

    RewriteCond %{QUERY_STRING} page_id=111

    RewriteRule ^ http:// site. com.ua /new-page/ [R=301,L]

    Настройка 301 редиректа на WordPress CMS

    Налаштування 301 редиректу на WordPress

    Для сайтов под управлением этой CMS создано огромное количество плагинов, которые упрощают работу. Для настройки перенаправления страниц сайта можно воспользоваться плагином Redirection. Количество его скачиваний превышает 2 миллиона.

    С его помощью можно самостоятельно создавать 301 редиректы внутри страниц сайта и отслеживать статистику по перенаправлениям. Так же он позволяет отыскивать страницы с 404 ответом сервера.

    Альтернативный вариант это плагин Safe Redirect, который вышел значительно позже. Его интерфейс более удобный для восприятия.

    плагін Safe Redirect

    Одним из самых простых решений для данной CMS можно считать плагин Simple 301 Redirects. Здесь отсутствуют лишние настройки, и плагин выполняет только перенаправление с одной страницы сайта на другую.

    301 редирект для OpenCart

    У всех сайтов под управлением данной CMS главная страница имеет вид адрес на конце которого находится: index.php /?route=common/home.

    Почему-то разработчики системы не хотят исправлять данную проблему, по неизвестным причинам. Поэтому решать ее приходится тем пользователям, которые решили использовать данную CMS. Сделать это можно заменив строки в файлах header.tpl и footer.tpl.

    Вместо:

    <?php echo $home; ?>

    Нужно прописать

    <?php echo $base; ?>

    Другим вариантом является стандартное изменение содержимого файла .htaccess. Пропишите там следующие строки:

    RewriteCond %{QUERY_STRING} ^route=common/home$

    RewriteRule ^index\.php$ http:// site. com/? [R=301,L]

    Чтобы установить 301 редирект на страницы с ЧПУ адресами потребуется прописать следующее:

    RewriteCond %{QUERY_STRING} ^path=83_94_113&route=product/category$

    RewriteRule ^index\.php$ http:// site. com/new-category? [R=301,L]

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

    www. site. com/katalog?c=category

    Чтобы решить данную проблему, используйте следующий код:

    RewriteCond %{QUERY_STRING} ^c=sumki$ [NC]

    RewriteRule katalog http:// site. com/? [R=301,L]

    Примечание

    При настройке 301 редиректа стоит помнить следующее:

    • Основное правило – это строгий учет последовательности всех действий. Если у Вас не работает то или иное перенаправление, проверьте, нет ли правила, которое запрещает его.
    • Большое количество синтаксиса и особенности настройки 301 редиректа не дает возможности запомнить всю имеющуюся информацию. Используйте официальные мануалы и старайтесь перебрать несколько вариантов, чтобы выбрать правильный.
    • После внесения изменений и настройки 301 редиректа, обязательно проверьте работоспособность сайта. Пройдите по страницам проекта и посмотрите, правильно ли работают установленные перенаправления. Если в синтаксисе была допущена ошибка, то она может повлиять на работу всего сайта.

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

    Поділитися:
    18.12.2018
    177

    Дивіться свіжі кейси:

    SEO кейси від НАС!

    Останні пости: