Як перенаправити www на без www з Nginx на CentOS 7
Перенаправлення доменів з www на без www або навпаки є поширеною практикою в оптимізації пошукових систем (SEO). Це допомагає уникнути дублювання вмісту, покращити структуру сайту та уніфікувати посилання на сайт. У цьому посібнику ми розглянемо, як перенаправити домен з www на без www за допомогою сервера Nginx у системі CentOS 7.
Вступ
Залежно від вимог вашого сайту, може виникнути необхідність перенаправити відвідувачів з версії домену з www на версію без www. Це може бути доречним для покращення зручності користувачів, підвищення якості SEO та забезпечення послідовного досвіду для відвідувачів. Nginx — це популярний вебсервер, який можна використовувати для налаштування таких перенаправлень.
Щоб успішно перенаправити домен з www на без www за допомогою Nginx, потрібно зробити низку кроків. Ці кроки включають редагування файлу конфігурації Nginx, тестування перенаправлення та внесення додаткових налаштувань, щоб уникнути проблем з індексацією пошуковими системами.
Налаштування перенаправлення за допомогою Nginx
1. Відредагувати файл конфігурації
Першим кроком є редагування файлу конфігурації Nginx, який зазвичай називається nginx.conf
. Цей файл можна знайти в каталозі /etc/nginx/
. Відкрийте файл за допомогою текстового редактора, наприклад nano
або vi
.
2. Додати директиву server_name
Знайдіть директиву server_name
у файлі конфігурації. Якщо її немає, додайте її після директиви listen
. Директива server_name
визначає доменні імена, на які сервер відповідає.
server_name www.example.com example.com;
Ця директива вказує, що сервер буде відповідати як на www.example.com
, так і на example.com
.
3. Додати блок location
Після директиви server_name
додайте блок location
. Блок location
визначає, як сервер повинен обробляти запити на певні URL-адреси.
location / {
return 301 https://example.com$request_uri;
}
Цей блок перенаправляє усі запити на /
(кореневий URL) на версію домену без www за протоколом HTTPS. Код $request_uri
автоматично додає оригінальний запит до перенаправленого URL-адреси.
4. Зберегти та закрити файл
Після того, як ви додали необхідні директиви, збережіть і закрийте файл конфігурації Nginx.
Тестування перенаправлення
Після внесення змін перезапустіть службу Nginx, щоб застосувати нову конфігурацію. Ви можете зробити це, виконавши такі команди:
console
sudo systemctl restart nginx
sudo systemctl status nginx
Відкрийте браузер і перейдіть на www.example.com
. Ви повинні бути автоматично перенаправлені на example.com
.
Додаткові налаштування
1. Виключення певних URL-адрес
Якщо вам потрібно виключити певні URL-адреси з перенаправлення, ви можете використовувати директиву if
. Наприклад, щоб виключити папку /admin
із перенаправлення, додайте наступний блок:
location /admin {
return 301 https://www.example.com$request_uri;
}
2. Налаштування постійного перенаправлення
За замовчуванням перенаправлення налаштовується за допомогою коду стану 302 (Тимчасове перенаправлення). Однак рекомендується використовувати код стану 301 (Постійне перенаправлення), щоб повідомити пошуковим системам, що перенаправлення є постійним і що вони повинні індексувати лише версію домену без www. Щоб налаштувати постійне перенаправлення, замініть return 302
на return 301
у блоці location
.
3. Перевірка індексації
Після налаштування перенаправлення важливо перевірити, чи правильно індексується домен без www. Ви можете використовувати інструмент перевірки індексування URL-адреси в Google Search Console, щоб перевірити, чи індексується версія без www.
Висновок
Перенаправлення домену з www на без www за допомогою Nginx на CentOS 7 — це відносно простий процес, який можна виконати за лічені хвилини. Внесявши необхідні зміни до файлу конфігурації Nginx і перезапустивши службу, ви можете забезпечити безперебійне перенаправлення відвідувачів на правильну версію свого домену. Це може покращити зручність користувачів, підвищити якість SEO та оптимізувати індексацію пошуковими системами.
Часті запитання:
1. Чому я повинен перенаправляти з www на без www?
* Уникайте дублювання вмісту та покращить структуру сайту.
* Поліпшити зручність користувачів та забезпечити послідовний досвід.
* Уніфікувати посилання на сайт та покращити рейтинг у пошукових системах.
2. Які переваги постійного перенаправлення (301)?
* Повідомляє пошуковим системам, що перенаправлення є постійним.
* Запобігає індексуванню версії домену з www.
* Передає повноваження домену версії без www.
3. Як виключити певні URL-адреси з перенаправлення?
* Використовуйте директиву if
в блоці location
.
* Визначте URL-адреси, які потрібно виключити, і поверніть відповідний код стану.
4. Як протестувати перенаправлення?
* Відкрийте браузер і перейдіть на версію домену з www.
* Перевірте, чи ви автоматично перенаправлені на версію домену без www.
* Переконайтеся, що використовується правильний код стану (301 для постійного перенаправлення).
5. Як перевірити індексацію домену без www?
* Використовуйте інструмент перевірки індексування URL-адреси в Google Search Console.
* Перевірте, чи індексується версія домену без www.
* Виключіть версію домену з www з індексування за допомогою файлу robots.txt.
6. Що робити, якщо перенаправлення не працює?
* Перевірте, чи правильно відредагований файл конфігурації Nginx.
* Переконайтеся, що служба Nginx перезапущена.
* Перевірте, чи немає будь-яких блокувальних правил брандмауера.
* Очистіть кеш браузера і спробуйте знову.
7. Чи є якісь негативні наслідки перенаправлення з www на без www?
* Потенційна втрата трафіку з закладок або старих посилань на версію домену з www.
* Необхідність оновлення посилань на сайт у всіх місцях, де використовується версія домену з www.
8. Чи можу я перенаправляти з без www на www?
* Так, процес подібний, але потрібно змінити серверні імена та код стану перенаправлення відповідним чином.