Чому відбувається редирект
Що таке редирект
У цій статті докладно розберемо тему редиректів. Розкажемо, що таке редирект сайту, у яких випадках його потрібно налаштовувати та якими способами це можна зробити.
Що таке редирект
Редирект (від англ. redirect - перенаправлення) - це автоматична переадресація відвідувача з однієї URL-адреси на іншу. Тобто при переході на сторінку, для якої налаштовано редирект, користувач автоматично потраплятиме на іншу сторінку. Як правило, для відвідувачів сайту цей перехід залишається непомітним.
Схема роботи редиректа на рівні браузера
Припустимо, що ви налаштували редирект зі сторінки мій-сайт.ру на тест-сайт.ру. В цьому випадку при кожному переході на сторінку мій-сайт.ру на технічному рівні відбуватиметься таке:
- 1. Браузер звернеться до сервера, на якому розташовані файли сайту, з проханням передати файл сторінки мій-сайт.ру.
- 2. Сервер відповість, що сторінка мій-сайт.ру зараз недоступна, але з неї налаштований редирект на іншу сторінку - тест-сайт.ру.
- 3. Браузер зробить новий запит, щоб одержати файл сторінки тест-сайт.ру.
- 4. Сервер прийме запит і передає браузеру цей файл.
- 5. Браузер відкриє сторінку тест-сайт.ру для користувача.
Редирект можна налаштувати як із однієї сторінки на іншу в рамках одного сайту, так і зі сторінки одного сайту на сторінку іншого сайту. Розберемо, навіщо і в яких випадках потрібно налаштовувати редирект.
Навіщо потрібен редирект
Насамперед редирект впливає на SEO-показники сайту. Його налаштовують для того, щоб не втратити позиції пошукової видачі. Справа в тому, що пошукові роботи регулярно обходять та індексують усі сторінки сайту.Після кожної такої індексації окрема сторінка та сайт загалом можуть змінити місце у пошуковій видачі — піднятися на вищу позицію або, навпаки, опуститись на нижчу.
Якщо роботи помітять, що одна зі сторінок видалена або є помилка, вони перестануть її індексувати. Це означає, що трафік сторінки буде втрачено. Разом з ним знижуватимуться позиції у пошуковій видачі.
Також якщо не налаштувати редирект для віддаленої або перенесеної сторінки, користувачі можуть подумати, що адреса, що шукається, більше недоступна і перестануть відвідувати сторінку. Це призведе до втрати клієнтів.
Найпоширеніші випадки, у яких потрібен редирект:
- перенесення сайту з одного домену на інший. Оскільки основна частина користувачів шукатиме сайт за старою URL-адресою, важливо налаштувати для нього редирект на новий URL. Завдяки цьому ви не втратите трафік.
- перенесення окремих сторінок сайту. У деяких випадках потрібно перенести не весь сайт, а лише певні сторінки. Для цих цілей також підійде редирект.
- перехід з HTTP на HTTPS. У цьому випадку редирект дозволяє перевести сторінку з небезпечного протоколу HTTP на захищений протокол HTTPS. Докладніше читайте у статті Як перекласти сайт на HTTPS.
- переклад домену з або на «www».
Залежно від конкретної ситуації налаштування використовують той чи інший вид редиректа. Розглянемо які види редиректів бувають.
Види редиректів
Перед тим як розпочати налаштування, визначтеся, який вид редиректу потрібен у вашому випадку. Нижче описано всі основні види редиректів.
300 Multiple Choice (множинний вибір) - це редирект, який повідомляє, що за запитом можна перейти не на одну, а на кілька сторінок.З його допомогою можна налаштувати перенаправлення з основного URL на кілька інших сторінок, які схожі на тематику, але відрізняються за змістом. Нерідко редирект такого типу зустрічається на сторінках «Вікіпедії». Якщо слово або термін має кілька значень, замість однієї сторінки з визначенням Вікіпедія видає сторінку з посиланнями на пояснення кожного варіанту. Залежно від шуканого значення користувач переходить за потрібним посиланням.
301 Moved Permanently (Назавжди переміщений) - це постійний редирект. Використовуйте цей вид редагування, якщо хочете перемістити сторінку на нову адресу назовні. У цьому випадку ви повідомите пошукові системи, що варто звернути увагу на нову сторінку, а вихідну можна повністю виключити з індексації. Якщо налаштувати редирект 301 некоректно, на сторінці відображатиметься помилка 404. Індексація сторінок з помилками призводить до зниження SEO-показників всього сайту.
302 Moved Temporarily (тимчасово переміщений) - це тимчасовий редирект. Редирект 302 налаштовують у тому випадку, коли на основній сторінці тимчасово ведуться ті чи інші роботи. Усі файли копіюють та розміщують за іншою адресою на певний період. При переході на сторінку з таким редиректом пошукові роботи зрозуміють, що вона перенаправлена на інший ресурс лише тимчасово. Тому за наступного переобході вони знову спробують проіндексувати вихідну сторінку. І так поки що контент не «повернеться» на вихідну сторінку.
303 See Other (Перегляд іншого) - це редирект на схожу за тематикою сторінку. За допомогою 303 можна перенаправити користувача не на дубль вихідної сторінки на новому URL, а на зовсім іншу сторінку, але з схожою тематикою.Такий тип редиректу часто використовують в інтернет-магазинах. Якщо якийсь товар тимчасово недоступний для замовлення, з його сторінки налаштовують редирект на сторінку продукту зі схожими характеристиками. Коли товар знову з'являється на складі, редирект просто прибирають.
305 Use Proxy (використовувати проксі) – цей редирект надсилає браузер до використання проксі-сервера. У цьому випадку при зверненні браузера до сторінки у відповідь надходить адреса проксі-сервера. Це означає, що до ресурсу можна підключитися лише за допомогою проксі-проміжного сервера, який є посередником між користувачем та сервером, на якому зберігаються файли сайту. Проксі-підключення налаштовують для захисту локальної мережі від зовнішніх підключень, економії трафіку (передачі даних у стислому вигляді), кешування даних та іншого.
307 Temporary Redirect - тимчасовий редирект. Він повідомляє пошуковому роботу, що сторінка тимчасово перенесена на іншу URL і через деякий час знову буде доступна за старою адресою. Цей редирект схожий на 302 Moved Temporarily, проте має істотну відмінність — 307 редирект зберігає метод передачі запиту (GET, POST), який вказує пошуковикам, що кешувати документ не потрібно. Його використовують для короткострокового переїзду, наприклад, невеликих технічних робіт. Іноді простіше на пару годин закрити сайт на технічні роботи без редиректу.
Редирект rel=«canonical» — цей редирект призначений тільки для пошукових роботів, відвідувач при цьому бачить два ресурси, що дублюються одночасно. З його допомогою власник ресурсу повідомляє роботам, що сайт має кілька версій і вони повинні просканувати тільки пріоритетну копію, яку власник помітив як «canonical».Інші сторінки також доступні користувачам, але вони не індексуються.
Також існують 304-й та 306-й редиректи. Однак зараз ці види практично ніхто не використовує. Деякі браузери навіть не вміють інтерпретувати код таких перенаправлень.
Найпопулярніші види редиректів – 301 та 302. При цьому найчастіше для переадресації url використовують 301-й редирект. Для його налаштування використовують різні способи.
Основні способи налаштування 301 редиректа
Можна виділити кілька основних способів налаштування редиректів. Між собою вони вирізняються технічним виконанням, а також джерелом перенаправлення.
1) PHP. PHP-редирект прописується в індексному файлі (найчастіше його назва - index.php). Для налаштування потрібно знайти файл index.php у кореневій папці сайту та вписати в нього рядок коду. Для налаштування використовують функцію header:
У цьому випадку переадресація буде спрацьовувати у скрипті, розміщеному на сервері. Це найнадійніший тип редиректу з високою швидкістю перенаправлення. Цей тип краще підійде, якщо вам потрібно зробити перенаправлення для всього сайту.
2) .htaccess. .htaccess — це системний файл, який належить до кореневої структури сайту. Щоб отримати доступ до нього, потрібно зайти в панель керування хостингом, на якому розміщено веб-ресурс. Для налаштування достатньо розмістити у файлі рядок із відповідним кодом. Наприклад:
RewriteEngine On RewriteCond % 123.123.123.123 RewriteRule ^(.*)$ http://site.ru [R=301,L]
У цьому випадку переадресація спрацьовуватиме на рівні браузера — у коді сторінки. Швидкість перенаправлення із браузера нижче, ніж зі скрипта на сервері. Тому цей тип більше підходить для налаштування редагування для однієї або декількох сторінок.
3) HTML. Такий тип редиректу підійде для сайтів, написаних мовою HTML. Редирект налаштовується у вихідному коді сторінки через індексний файл, який найчастіше називається index.html. Для налаштування потрібно додати мета тег refresh:
Це також досить «повільний» тип, оскільки він спрацьовує із браузера.
4) JavaScript. Такий тип редиректу підійде для сайтів, які написані JavaScript. Він налаштовується у вихідному коді сторінки шляхом зміни тексту між тегами head та /head. У цьому випадку перенаправлення також спрацьовує з боку браузера з низькою швидкістю. Як правило, JavaScript настроюють у випадках, коли хочуть перенаправити на сторінку не відразу, а із затримкою. Поки відбувається перенаправлення, на сторінці відображається банер із фразою: "Ви будете автоматично переадресовані на наш новий сайт".
Якщо ви використовуєте Nginx, у конфігураційному файлі можна налаштувати Nginx redirect 301.
Як налаштувати редирект
Як зробити 301 редирект та інші перенаправлення? Вибір способу налаштування редиректу залежить від ваших цілей та досвіду. Перед налаштуванням визначте мету редиректу (переведення всього сайту на нову адресу, редирект зі сторінки на сторінку або інше). Після цього виберіть, як ви працюватимете — через панель керування хостингом або в коді. Також зверніть увагу, на якій операційній системі працює ваш хостинг (Linux чи Windows). Після цього використовуйте інструкцію, що підходить для вашого випадку.
Через панель керування хостингом
Варіанти налаштування через панель керування хостингом ispmanager, cPanel та Plesk підійдуть вам, якщо ви є клієнтом Рег.ру.
- Якщо ви плануєте перенаправити на нову адресу весь сайт, вам підійде інструкція Редирект через панель керування.
- Використовуйте інструкцію, щоб налаштувати переадресацію на домен із «www».
- Використовуйте інструкцію, щоб зробити переадресацію на домен без www.
- Якщо вам потрібно перевести сайт з HTTP на HTTPS, залежно від операційної системи хостингу, використовуйте інструкцію для Linux або Windows. Увага: перед налаштуванням редиректу перевірте, чи для вашого сайту встановлено SSL-сертифікат.
- Використовуйте інструкцію для переходу з HTTPS на HTTP.
Через код сайту
Якщо ви бажаєте налаштувати редирект вручну через код, використовуйте інструкції нижче.
- Якщо ви хочете перенести на новий URL весь сайт, найкраще підійде редирект через PHP.
- Якщо вам потрібно налаштувати перенаправлення тільки для однієї або декількох сторінок сайту, використовуйте редирект через .htaccess для Linux-хостингу та перенаправлення через web.config для Windows-хостингу. Цей тип редиректу можна також використовувати для перекладу сайту з HTTP на HTTPS, налаштування переадресації на домен з www і без www і переадресації всього сайту. Також ви можете видалити редирект у .htaccess або web.config.
- Якщо ваш сайт написаний за допомогою мови розмітки HTML, ви можете зробити редирект безпосередньо в HTML.
Отже, редирект - це простими словами перенаправлення на іншу сторінку. За допомогою наших вказівок ви зможете налаштувати переадресацію для потрібного сайту або сторінки.
Чи допомогла вам стаття?
Дякую за оцінку. Раді допомогти 😊
Подібні статті
- Чому відбувається токсикоз під час вагітності
- Чому відбувається перенасичення киснем
- Як відбувається процес запліднення у людей
- Що відбувається при статевому розмноженні
- Що відбувається під час тріпу
- Що зараз відбувається з великим бар'єрним рифом
- Що відбувається з парою при нагріванні
- Що відбувається з кісткою при остеомієліті