Більшості власників веб-сайтів рано чи пізно доводиться мати справу з редиректами (переспрямуваннями) користувачів з однієї сторінки свого сайту на іншу (або ж з одного сайту на інший). Редиректи допомагають зробити контент доступним для користувачів та пошукових систем у разі ребрендингу, об'єднанні кількох веб-сайтів, видалення сторінок або переміщенні сторінок у нове місце.
Однак світ редиректів не такий простий, адже для різних сценаріїв існують різні типи редиректів. Тому важливо розуміти різницю між ними.
Що таке редиректи?
Редиректи або перенаправлення – це спосіб перенаправлення користувачів (а також пошукових роботів та інших краулерів) на URL-адресу, яка відрізняється від тієї, яку вони запросили.
Навіщо використовувати редиректи?
Є дві причини, через які ви повинні використовувати редиректи під час переміщенні контенту:
- Вони покращують взаємодію для відвідувачів. Відвідувачі не повинні бачити попередження “Сторінку не знайдено”, коли намагаються отримати доступ до переміщеної сторінки. Редиректи усувають цю проблему безперешкодно переспрямовуючи відвідувачів вашого сайту у нове розташування контенту.
- Вони допомагають пошуковим системам краще зрозуміти ваш сайт. Редиректи повідомляють пошуковим системам, куди перемістився контент і чи це переміщення постійним чи тимчасовим. Це впливає на те, чи будуть сторінки відображатися в результатах пошуку та як це буде відбуватися.
Коли варто використовувати редиректи?
Редиректи варто використовувати у разі переміщення контенту з однієї URL-адреси на іншу і, іноді, при видаленні контенту. Давайте коротко розглянемо кілька поширених сценаріїв, у яких вам потрібно буде використовувати редиректи.
При переїзді на новий домен
Якщо ви проводите ребрендинг і переходите з одного домену на інший, вам необхідно назавжди перенаправити всі сторінки зі старого домену на аналогічні сторінки на новому домені.
При об'єднанні веб-сайтів
Якщо ви об'єднуєте кілька веб-сайтів в один, вам необхідно постійно перенаправляти старі URL-адреси на нові.
Під час переходу з HTTP на HTTPS
Якщо ви переходите з HTTP на HTTPS (настійно рекомендується це зробити), вам необхідно постійно перенаправляти кожну незахищену (HTTP) сторінку та ресурс на безпечне (HTTPS) розташування.
Під час проведення акцій
Якщо ви проводите тимчасову акцію і хочете направляти відвідувачів, скажімо, з домену website.com/laptops на домен website.com/laptops-black-friday-deals, вам знадобиться тимчасовий редирект.
При видаленні сторінок
Якщо ви видаляєте контент зі свого сайту, ви повинні додати постійний редирект з його URL на релевантну схожу сторінку, коли це можливо. Це гарантує, що будь-які зворотні посилання на стару сторінку, як і раніше, будуть враховуватися для SEO. Це також гарантує, що будь-які закладки або внутрішні посилання працюватимуть належним чином.
Типи редиректів
Редиректи поділяються на дві групи:
- Редиректи на стороні сервера.
- Редиректи на стороні клієнта.
Кожна група містить низку редиректів, які пошукові системи розглядають як тимчасові чи постійні. Тому, щоб уникнути потенційних проблем із SEO, вам потрібно використовувати для поставленого завдання правильний редирект.
Редиректи на стороні сервера
Редирект на стороні сервера – коли сервер вирішує, куди перенаправити користувача або пошукову систему у разі запиту сторінки. Він робить це, повертаючи код відповіді HTTP 3XX.
Якщо ви займаєтеся SEO, ви будете використовувати редиректи на стороні сервера більшу частину часу, оскільки редиректи на стороні клієнта (ми незабаром обговоримо їх) мають певні недоліки і, як правило, більш підходять для досить специфічних та рідкісних випадків.
Давайте розглянемо 3XX редиректи, які повинен знати кожен SEO-фахівець:
301 редирект
301 редирект перенаправляє користувачів на новий URL і повідомляє пошуковим системам, що ресурс був переміщений назавжди. Зіткнувшись з 301 редиректом, пошукові системи зазвичай видаляють стару перенаправлену URL-адресу зі свого індексу на користь нової URL-адреси. Вони також передають PageRank (авторитет) новому URL.
302 редирект
302 редирект перенаправляє користувачів на новий URL і повідомляє пошуковим системам, що ресурс був переміщений тимчасово. Зіткнувшись з 302 редиректом, пошукові системи зберігають в індексі стару URL-адресу, навіть якщо вона була перенаправлена. Однак, якщо ви залишите 302 редирект на довгий час, пошукові системи, швидше за все, почнуть розглядати його як 301 редирект і замість старої сторінки почнуть індексувати нову.
Як і 301, 302 редирект також передає PageRank. Різниця в тому, що передача відбувається "назад". Іншими словами, PageRank “нової” URL-адреси передається старій URL-адресі (якщо тільки пошукові системи не обробляють її як 301 редирект).
303 редирект
303 редирект перенаправляє користувача на ресурс, аналогічний запрошеному, і є тимчасовою формою перенаправления. Зазвичай він використовується для таких речей, як запобігання повторному відправленню форми, коли користувач натискає кнопку "Назад" у своєму браузері. Зазвичай 303 редирект не використовується для цілей SEO. Якщо ви це зробите, пошукові системи можуть розглядати їх як 301 або 302 редирект.
307 редирект
307 редирект працює аналогічно 302 редиректу, за винятком того, що при виконанні перенаправлення зберігається HTTP-метод (POST, GET) вихідного запиту.
308 редирект
308 редирект працює аналогічно 301 редиректу, за винятком того, що при виконанні перенаправлення зберігається HTTP-метод вихідного запиту. Google каже, що обробляє 308 редирект так само, як і 301 редирект, але більшість SEO-фахівців, як і раніше, використовують 301 редирект.
Редирективи на стороні клієнта
Редирект на стороні клієнта це коли браузер вирішує, куди перенаправити користувача. Як правило, ви не повинні використовувати його, хіба що ви не маєте інших варіантів.
307 редирект
307 редирект зазвичай відбувається за клієнта, коли сайт використовує HSTS. Це пов'язано з тим, що HSTS повідомляє браузеру клієнта, що сервер приймає тільки безпечні (HTTPS) з'єднання та виконує внутрішній 307 редирект, якщо в майбутньому буде запропоновано запросити незахищені (HTTP) ресурси з сайту.
Редирект метаоновлення
Редирект метаоновлення вказує браузеру перенаправити користувача через задану кількість секунд. Google розуміє це і зазвичай обробляє його так само, як 301 редирект. Однак, коли в Твіттері запитали про метаредиректи із затримками, Джон Мюллер з Google сказа:
Якщо ви хочете, щоб це розглядалося як редирект, має сенс, щоб воно діяло як редирект.
У будь-якому випадку в Google не рекомендують їх використовувати , тому що вони можуть спантеличити користувача і підтримуються не всіма браузерами. Натомість у Google рекомендують використовувати 301 редирект на стороні сервера.
JavaScript-редирект
JavaScript-редирект, як ви, ймовірно, вже здогадалися, використовує JavaScript, щоб вказати браузеру перенаправлення користувача на іншу URL-адресу. Деякі фахівці вважають, що JavaScript-редиректи викликають проблеми у пошукових систем, тому що, щоб побачити перенаправлення, вони повинні спочатку відобразити сторінку. Хоча це і так, зазвичай це не проблема для Google, тому що в наші дні він відображає сторінки дуже швидко. (Хоча з іншими пошуковими системами можуть бути проблеми.) Загалом, краще використовувати 3XX редиректи завжди, коли є можливість, а JavaScript-редиректи залишити для випадків, коли у вас просто немає інших варіантів.
Найкращі практики для застосування редиректів
Редиректи можуть бути заплутаними. Щоб допомогти вам розібратися в них, представляємо кілька рекомендацій, про які варто пам'ятати, коли ви займаєтеся SEO.
Ркдирект з HTTP на HTTPS
Сьогодні вже всі повинні використовувати HTTPS. Це дає вашому сайту додатковий рівень безпеки та є невеликим фактором ранжування Google.
Для того, щоб перевірити правильність перенаправлення вашого сайту з HTTP на HTTPS, необхідно:
- Відкрити консоль розробника браузера. Зробити це можна натисканням сполучення клавіш Ctr + Shift + C або просто клавіші F12 (для Windows) і Cmd+Opt+J (для Mac).
- Перейти у вкладку "Мережа" → "Документ".
- Завантажити ваш сайт з HTTP протоколом, наприклад: http://html-css.co.ua
- В колонці "Статус" має відобразитися код відповіді редиректу (наприклад, 301 або 302).
Детальніше на скріншоті нижче:
Використовуйте HSTS (для створення 307 редиректів)
Впровадження механізму HSTS (HTTP Strict Transport Security) на вашому сервері запобігає доступу людей до незахищеного (HTTP) контенту на вашому сайті. Він робить це, повідомляючи браузерам, що ваш сервер приймає тільки безпечні з'єднання і що вони повинні виконати внутрішній 307 редирект на HTTPS-версію будь-якого HTTP-ресурсу, до якого вони запитують доступ.
Він не замінює 301 або 302 редирект, і в його застосуванні немає суворої необхідності, якщо вони правильно налаштовані на вашому сайті. Тим не менш, ми впевнені, що сьогодні це найкраща практика, навіть якщо це просто трохи прискорить роботу користувачів.
Уникайте редиректів метаоновлення
Редиректи метаоновлення не ідеальні, тому варто знайти їх на своєму сайті та замінити на 301 або 302 редиректи.
Перенаправте видалені сторінки на релевантні робочі альтернативи (де можливо)
Перенаправлення URL-адрес важливе при переміщенні контенту, але також часто має сенс використовувати перенаправлення і при видаленні контенту. Це пов'язано з тим, що поява помилки “404 не знайдено” негативно впливає на досвід користувачів, які намагаються отримати доступ до видаленої сторінки. Набагато краще перенаправити їх на найбільш відповідну або ж альтернативну сторінку, яка працює.
Ви не можете робити це щоразу, оскільки актуальна альтернатива існує не завжди. Але якщо вона є, перевагою цього методу є збереження та передача PageRank (авторитету) з перенаправленої сторінки на альтернативний ресурс.
Уникайте довгих ланцюжків редиректів
Ланцюжки редиректів – коли між запитаним ресурсом та її кінцевим пунктом призначення відбувається кілька перенаправлень.
В офіційній документації Google говориться, що він виконує до 10 переходів по редиректах, тому будь-які ланцюжки редиректів коротше десяти не становлять проблеми для SEO:
Googlebot здійснює до 10 переходів по редиректах. Якщо краулер не отримає контент за 10 переходів, Search Console відобразить помилку перенаправлення у звіті про індексування сайту.
Однак довгі ланцюжки все ще уповільнюють роботу веб-сайту для користувачів, тому по можливості краще їх уникати.
Уникайте циклічних редиректів
Циклічні редиректи – це нескінченні цикли переспрямувань, які виникають, коли URL-адреса перенаправляється на себе або коли URL-адреса в ланцюжку редиректів перенаправляється назад на URL-адресу, що була раніше в ланцюжку. Таким чином ланцюжок редиректів зациклюється і фактично водить їх по колу:
Вони викликають проблеми з двох причин:
- Для користувачів вони відключають доступ до передбачуваного ресурсу і викликають помилку "надто багато редиректів" у браузері.
- Для пошукових систем – "заплутують" краулери і марно витрачають краулінговий бюджет.
Вибір найкращого способу для виправлення циклічних редиректів залежить від того, чи є остання URL-адреса в ланцюжку (перед початком циклу) передбачуваним пунктом призначення.
Якщо це так, видаліть редирект із кінцевої URL-адреси. Потім переконайтеся, що ресурс доступний та повертає код стану 200.
Якщо це не так, змініть циклічний редирект на передбачуваний пункт призначення.
В обох випадках рекомендується замінити будь-які внутрішні посилання на редиректи, що залишилися, прямими посиланнями на кінцеву URL-адресу.