Як зробити 301 редирект в htaccess, як налаштувати

Вітання. Цілком можливо, що багато хто з вас вже знають про те, як зробити 301 редирект і як його налаштувати. Але, як ви знаєте, мій блог - це моя шпаргалка. Тому, я вважаю, що не буде зайвим написати цей пост і, коли потрібно, можна буде звертатися за даною інформацією як мені, так і вам. Тому що всі ці коди неможливо тримати в голові, та й не потрібно.

Що таке 301 редирект і де він може стане в нагоді

301 редирект - це якесь автоматичне перенаправлення з однієї сторінки на іншу, причому при цьому редирект передається все: вага сторінки, тИЦ, PR, вага входить посилальної маси та інше. Тобто відбувається склеювання старої сторінки з нової. Користувач, який потрапив на стару сторінку, автоматично «перекинеться» на нову.

Де може стане в нагоді 301 редирект:

Як зробити 301 редирект в htaccess

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

Як зробити 301 редирект в htaccess, як налаштувати

Увага! Стосується новачків: якщо ви не зовсім впевнені в своїх діях, обов'язково, перед тим як робити зміни в файлі htaccess, зробіть його резервну копію.

З WWW на без WWW (і навпаки)

Сайт повинен бути доступним тільки по одному варіанту: або з WWW, або без WWW. Неправильно, якщо сайт «віддається» за двома варіантами. Потрібно залишити тільки один.

Якщо сайт молодий, виберіть краще без WWW, якщо ж старенький, то краще зупинитися на тому варіанті, який проіндексований. Буває так, що в Яндексі проіндексовано з WWW, а в Google без WWW, в такому випадку виберіть той варіант, який «виліз» в найбільш пріоритетною пошуковій системі для вас.

Зрозумійте, www.site.ru і site.ru для пошукових систем це 2 різних сайту, тому повинен бути доступний тільки 1 варіант! З WordPress зазвичай з цим проблем немає, там за замовчуванням доступний тільки 1 варіант, а от на інших двигунах часто можна бачити, що сайт доступний і так, і так.

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

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

З однієї сторінки на іншу за допомогою htaccess

При необхідності проставляння 301 редиректу з однієї сторінки на іншу, потрібно прописати ось цей код у файлі htaccess:

З index.php (index.html) на корінь (головну сторінку)

З http на https:

Якщо вам потрібно прописати 301 редирект з http на безпечний протокол httpS, використовуйте ось цей код:

З одного домену на інший

Якщо ви раптом переїхали на новий домен, то потрібно в htaccess старого домену прописати це:

301 редирект на WordPress за допомогою плагіна Simple 301 Redirects

Якщо сайт клієнта на WordPress і він сам хоче в деяких місцях прописати 301 редіректи, я ставлю плагін Simple 301 Redirects. Та й для новачків він добре підійде. Плагін дуже простий у використанні і все робиться в звичній адмінки WordPress, тому даний спосіб може здатися комусь більш легким.

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

Ще: врахуйте, що вага по 301 редіректу передається не відразу. Так, в Google склейка відбувається швидше, але в Яндексі це все відбувається повільно. Потрібно чекати зазвичай від 1 до 3-х місяців.

З повагою, Петро Александров

Про різницю сайту з WWW і без WWW дізнався коли Петро Александров проводив аудит мого блогу ingenerhvostov.ru. Навіть при тому, що у мене були знання непогані по SEO, по правильному написанню SEO тексту, по оптимізації контента, Петро знайшов і виправив багато недоліків. Пам'ятається одних плагінів у мене було близько 40, а це явний перебір. Надивився уроків Євгенія Попова і ставив всі плагіни, які і не потрібні мені були. Спасибі моєму бізнес-тренеру Владу Челпаченко, який підказав як SEO фахівця Петра.

Спасибі, Андрій, за відгук.

Вага, наприклад, кожної з з 5 сторінок при 301 редирект на одну сторінку підсумовується або присвоюється максимальний однієї з 5?

Хороше запитання, шкода що Петя не відповів на нього. Теж цікаво було б дізнатися

1. файл ".htaccess" може перебувати де завгодно, але інтерпретуватися буде тільки веб-сервером apache 🙂 Якщо у вас інший (nginx, lighttpd.), То він вам не допоможе. На WordPress файл ніяк не впливає.

"301 редирект з www на без www:" НЕ відповідає "RewriteCond%! ^ Www \. (. *) [NC]"

Тобто '!' означає - що починається НЕ з www.

3. У редирект з index.php в RewriteCond замість THE_REQUEST легше використовувати REQUEST_URI (хоча б писати менше)

RedirectMatch 301 ^ / topics /(.*) / $ 1

Повернув колишній .htaccess - не допомогло! Мабуть, додалося в базу, так як в блоці є "RewriteEngine On

Як тепер з бази цю строчку вичистити, що я додав? Ай нід хелп!

Це не бентежить, не потрібно паритися, так як є Canonical (доклав скріншот).

З приводу htaccess: спробуй глянути через налаштування WP SEO by Yoast.

Як зробити 301 редирект в htaccess, як налаштувати

Як зробити 301 редирект в htaccess, як налаштувати
Як зробити 301 редирект в htaccess, як налаштувати

Співати, а rel = canonical і просто canonikal це одне і теж, чи ми про різні речі говоримо?

З приводу розтягування інтервалів, вирішиться скоро. 🙂

Як я зрозумів вже вирішилося, ніяких зайвих інтервалів не бачу

у нас є 2 сайта двох компаній зі схожими сторінками - обидві внутрішні сторінки відображаються по одному ключовому слову в пошуку - але один сайт на першій сторінці Яндекса а другий сайт на четвертій - а потрібно щоб було навпаки той сайт що знаходиться на четвертій сторінки був на першій - чи є сенс ставити редирект того що на першій знаходиться на той що на четвертій - і не зааффіліруются чи сайти від цього?

Головне реалізувати її в своїх проектах, а не прочитати і забути))

Співати, кинь в мене каменем якщо я помиляюся: але ж редирект з www на без www і навпаки в вордпресс робиться безпосередньо в адмінці !?

класна шпаргалка по 301-му) окреме спасибі, за інфу по плагіну Simple 301 Redirects

Дякую за статтю Петро, ​​мені, як новачкові, більше підійшов плагін), все вийшло! Так вже вийшло, що знадобився 301 редирект, сторінки пройшли індексацію, а потім виявилася помилка в одній букві в урле, довелося виправити.
Уже не перший раз Новомосковськ твої статті і знаходжу багато відповідей.

як завжди все зрозуміло описано, спасибі

А ви не переплутали місцями ?:

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

Необов'язково тут морочитися, головне, щоб з головною був редирект

Петро вітаю, роблю сайт на опен карт, у мене модуль за замовчуванням, практично на весь товар ставити редирект 302, (де Слеш не потрібен прибирає, де потрібен додає. Підкажіть. Так і залишити, або що то робити з цим?

Петя вітаю! Підкажи. Намагаюся зробити редирект з http на https. Вставляю твій код і сайт перестає працювати. Що можна ще подивитися?