Використовуємо файл htaccess та redirect 301 при SEO оптимізації веб-сайту

Чим корисний конфігураційний файл web-сервера Apache для SEO

Переоцінити користь конфігураційного файлу .htaccess дуже складно, адже цей звичайний текстовий файл володіє неабиякими можливостями для ефективного управління веб-проектом, підвищення його функціональності та забезпечення безпеки сайту. Сьогодні поговоримо про те, які завдання в SEO-просуванні здатен вирішити даний Апачівський файл.

Перш ніж ти почнеш ламати сайт редагувати конфігураційний файл .htaccess на бойовому сервері свого веб-ресурсу, настійно рекомендую зробити резервну копію цього файлу і зберегти на ПК. У разі, якщо щось піде не так, ти завжди зможеш замінити його на попередню (робочу) версію.

Налаштування основного дзеркала сайту

Ім'я домену з префіксом www або без нього — обирай

Якщо твій сайт доступний відразу за двома адресами: з «www» в імені домена та без «www», необхідно визначитись з вибором основного дзеркала сайту. Вибери, який варіант тобі більше до вподоби, і якомога швидше склей ці копії. Наприклад, «realcase.lviv.ua» і «www.realcase.lviv.ua» — абсолютно різні web-ресурси в очах пошукових систем, хоча для звичайного користувача — це один і той же сайт про заробіток на блозі.

Ім'я домену з www і без www дорожній знак на роздоріжжі

Що буде якщо не склеїти дзеркала сайту?

Якщо не склеїти ці дві копії одного веб-сайту, пошуковій системі буде складно визначити, яку з них показувати в пошуковій видачі. Як результат, у видачу може потрапити не та версія веб-ресурсу, яка тобі більше до душі. До того ж, різні технічні показники ефективності сайту (ІЯС, PR та інші) будуть рівномірно розподілені по обом адресам, що істотно понизить рейтинг кожного.

Я не буду зараз тебе втомлювати купою технічної інформації, розписуючи історію виникнення префікса «www» в імені домену. Якщо буде цікаво, ти самостійно можеш знайти інформацію на цю тему в Мережі. Скажу лише одне: від цього архаїзму слід позбавлятися, адже за вікном давно вже не 90-ті роки, коли було модно роздавати візитки з ім'ям свого веб-ресурсу, де «www» посилювало вдавану крутизну на рівні понтів.

Як дізнатися, яке дзеркало сайту вибрав пошуковик в якості основного?

Якщо перед заливкою файлів двіжка веб-проекту на бойовий сервер не було вжито відповідних заходів щодо усунення дублювання контенту, скоріш за все, пошукові роботи, по простоті своїй душевній на свій розсуд, вже обрали з дублів основні сторінки і дзеркало сайту. Тобто в рейтингу беруть участь ті сторінки і версія сайту, які сподобалися тому чи іншому пошуковому роботу.

Щоб побачити яке з дзеркал веб-ресурсу пошуковики обрали в якості основного, досить в адресному рядку браузера ввести запит з оператором «url:» або «site:»: в Yandex — «url:www.realcase.lviv.ua | url:realcase.lviv.ua», а в Google — «site:realcase.lviv.ua» (1), див. скріншот нижче. Навівши курсор миші на title — велике посилання над сніпетом (2), в лівому нижньому куті вікна браузера ти побачиш підказку (3), де буде відображено доменне ім'я з префіксом «www» або без такого.

Оператор site для пошуку основного дзеркала сайту в Google

Якщо в результатах видачі ти побачиш не одну, а дві головні сторінки (з «www» та без ньго), — Х'юстон, у нас проблема! Потрібно відкласти в сторону всі справи, і негайно виправляти цю ситуацію. Чи можеш ти це зробити самостійно? Звичайно ж так. Нижче розповім про методи склейки дзеркал веб-ресурсу, встановлюючи основне.

Допомагаємо пошуковикам в склеюванні дзеркал сайту

  1. Використання конфігураційного файлу «.htaccess»

    Щоб перенаправляти користувачів та роботів на потрібну версію сайту, необхідно зробити 301-й редирект, наприклад, з домена «www.realcase.lviv.ua» на «realcase.lviv.ua». Це робиться за допомогою двох рядків, в яких необхідно прописати правила, які на скріншоті нижче виділені темно-синім блоком.

    Redirect 301 для сайту без префіксу www

    Нижче розташована текстова версія даного коду, яку можеш вставити у свій файл .htaccess. Якщо твій хостер активував модуль «mod_rewrite», в такому випадку, можеш не прописувати його визначення відкриваючим тегом — <IfModule mod_rewrite.c> і закриваючим — </IfModule>, які в коді нижче виділені оранжевим кольором.

    <IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{HTTP_HOST} ^www\.site\.com$ [NC]RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]</IfModule>

    У тому випадку, якщо таки доведеться використовувати дану конструкцію, стеж за тим, щоб в тегах не було зайвих пробілів, інакше твій сервер видасть п'ятисоту помилку і "каченя не злетить". Наприклад, якщо в закриваючому тезі модуля випадково залишити пробіл — < /IfModule>, дана конструкція викличе помилку сервера. Бо в файлі .htaccess, пробіл — це певний розділяючий спецсимвол, який не слід пхати куди попало.

  2. Використовуєм панель вебмайстрів Google — «Search Console»

    Пошуковій системі Google ми можемо допомогти з вибором основного дзеркала веб-ресурсу за допомогою панелі вебмайстрів — (search.google.com). Для початку, потрібно додати свій сайт в дану панель, підтвердивши на нього права.

    Додавання сайту в панель вебмайстрів Search Console

    Після цього, необхідно таким же чином додати в «Search Console» варіант сайту з префіксом «www». Верифікація прав власності на сайт відбудеться автоматично, без додавання спеціального метатега чи файлу. Якщо все зробити правильно, система повідомить про успішне додавання ресурсу в панель вебмайстрів, див. скріншот вище.

    Якщо сайт працює по захищеному протоколу HTTPS, в такому випадку, слід додати в панель вебмайстрів ще дві копії сайту з даним протоколом, див. скріншот нижче.

    Додавання HTTPS сайту в Search Console Гугла

    Але це ще не все. Тепер необхідно вказати пошуковій системі яку з двох версій сайту вважати основною. Для цього переходимо на сторінку налаштувань сайту (яка доступна в старій версії панелі вебмайстра), де вказуємо пошуковику основне дзеркало, див. скріншот нижче. Зверни увагу, для доменів вище другого рівня, ця настройка може бути недоступною.

    Налаштування сайту встановлюємо головне дзеркало в панелі вебмайстра Google

    У вебмайстрі Яндекса, приблизно таким же чином визначаємо для сайту основне дзеркало. Все те ж саме: ставимо галочку біля варіанту сайту без «www», і зберігаємо налаштування. Картинки не показую, оскільки принцип зрозумілий.

  3. Повідомляємо Яндексу про головне дзеркало сайту в «robots.txt»

    Щоб пошукова система Yandex була твердо впевнена в непохитності нашого вибору, рекомендую повідомити їй про це в текстовому файлі «robots.txt», використовуючи рядок наступного змісту: для https-сайтів — «Host: https://realcase.lviv.ua», а для сайтів, які доступні лише по протоколу «http» — «Host:realcase.lviv.ua». При редагуванні файлу robots.txt, не забудь замінити ім'я мого сайту на своє, інакше "каченя не злетить".

    Файл robots.txt порядок розташування директив для Яндексу

    На скріншоті вище зображено порядок розташування директив для Яндексу (виділено синім кольором). У файлі «robots.txt», для робота Yandex повинен бути споруджений окремий блок директив. Відразу під цим блоком, через подвійний перевід рядка, потрібно прописати вищезазначений рядок з директивою «Host:». Цю директиву, «Crawl-delay:» та «Clean-param:» розуміє лише Yandex, всі інші боти їх не розуміють і ігнорують.

Позбуваємось дублів сторінок

Видалення index.php з URL-ів розділів та головної

Все тим же 301-м редиректом, який ми використовували для перенаправлення людей і павуків на потрібну копію сайту, зараз будемо фіксити дублі сторінок, які є індексними в директоріях. Розглянемо приклад на моєму сайті. Наприклад, в URL-адресі «realcase.lviv.ua/seo/» міститься директорія «seo». Без використання редиректу, індексний файл з цієї директорії буде доступний за двома URL-адресами: «realcase.lviv.ua/seo/» і «realcase.lviv.ua/seo/index.php», що не є ґуд, бо це дубльований контент.

Позбуватись подібних дублів необхідно, щоб SEO просування сайту було успішним. Проблема подібних дублів вирішується дуже просто та швидко. У файлі «.htaccess» прописуємо дві директиви, і вуаля, ніяких «index.php» після слешів немає. Ці "магічні" рядки, див. нижче, можеш скопіювати у свій .htaccess, та забути раз і назавжди про індексні дублі сторінок. Ім'я домену «site.com» заміни на своє.

<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/RewriteRule ^index\.php$ http://site.com/ [R=301,L]</IfModule>

Популярні 301 редиректи використовувані на сайтах

Короткий перелік можливостей 301-го редиректу

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

  • Редирект з «www» на без «www» — (встановлення головного дзеркала);

  • Перенаправлення з site.com/index.php (з GET параметрами та без GET параметрів) на site.com — (вирізає в URL-ах index.php);

  • Редиректи на сторінки відповідей сервера 401, 403, 404 і так далі — (замість дефолтних заглушок показуються власні сторінки помилок);

  • Редирект з http на https — (перенаправляє усі сторінки сайту на новий протокол передачі даних — HTTPS);

  • 301-й redirect, який видаляє слеші в кінці URL-ів, або навпаки, додає їх;

  • Переадресація сторінок — (корисний при переміщенні якоїсь сторінки в інший каталог);

  • Редирект 301, який всі сторінки одного веб-сайту перенаправляє на головну сторінку якогось іншого веб-ресурсу;

  • Redirect кожної сторінки з одного сайту на аналогічну адресу іншого;

  • Перенаправлення з будь-якої внутрішньої сторінки ресурсу на головну, і навпаки;

  • Редирект всіх внутрішніх сторінок веб-ресурсу на головну;

  • 301-е перенаправлення старої директорії (папки) на нову;

  • Переадресація з одного домену на будь-який інший домен;

  • 301-й redirect з домену на папку розташовану на іншому сайті;

  • Перенаправлення всіх файлів розташованих в якійсь папці на визначений файл;

  • Редирект всього вмісту з папки, крім якогось конкретного файлу;

  • Заміна всіх сторінок сайту з розширенням «.html» на скриптові документи з розширенням «.php»;

  • Переадресація головної сторінки з піддомену на головну основного домену другого рівня;

  • Redirect якогось конкретного файлу в різних директоріях на файл що лежить в корені сайту;

  • Створення ЛЗУ (оптимізований SEO-URL) для будь-якої динамічної сторінки;

  • 301-й redirect на домен UA з домену УКР.

Представлена вище двадцятка можливостей файлу «.htaccess» — лише мала частина використовуваних комбінацій для переадресації доменів, каталогів та файлів. Під кожен двіжок сайту і вимоги функціоналу підбирається та чи інша конфігурація 301-х редиректів. Різноманітних варіантів цілий вагон і маленький візочок. До кожного web-ресурсу потрібен індивідуальний підхід, в тому числі й налаштування роботи сервера.

Публікувати тут приклади директив для кожного пункту не бачу сенсу, бо вони доступні на 100500 сайтах. Не хочу повторюватись публікуючи копіпаст. В інтернеті зможеш запросто відшукати потрібне, достатньо вбити в адресний рядок опис будь-якого з них. Двох редиректів, описаних в даній статті, досить для старту. Але на редиректах я не маю наміру зупинятись. У майбутніх статтях продовжу розповідати про інші корисні властивості конфігураційного файлу .htaccess. На цьому все. Питання по темі чекаю в коментарях. Удачі!

Щоб зрозуміти наскільки ти в темі, пройди тест 👇
  • 100 секунд на проходження тестуRealCase

    Тест
  • 5 питань по тематиці сайту
  • 4 варіанти відповідей на кожен
Готовий(-а) перевірити рівень своїх знань?

  •  Цей тест ще ніхто не проходив, ти будеш першим(-ою)

   
  
 
 
📚Не проґав!
💬Коментарі (2)  🔔 1
Олена

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

Andrey Ko

Я радий, що моя праця комусь допомогла у вирішенні проблемних питань. Отже час на написання статті не було змарновано.
Олена, дуже дякую за відгук і візит. Заходьте ще ). Залюбки відповім на будь-які питання.

    • Ліміт 2000 символів
    • залишилось: