# Перенаправления сайта

Source: https://support.kapsulehost.com/ru-ru/site-redirects

Переадресации отправляют посетителей со старого URL на новый, именно так вы можете изменить структуру сайта, не нарушив все ссылки, которые на него ведут. Это руководство рассказывает о трех формах источника, о выборе между 301 и 302, о строках запроса и о том, как читать значок проверки.

## Где находятся переадресации в KPanel

1. Войдите в [KPanel](https://kpanel.kapsulehost.com).
2. Нажмите **Веб-сайты** в левой боковой панели, затем выберите нужный сайт.
3. В левом меню сайта откройте **Параметры**, затем **Перенаправления**.

Прямой адрес: `/websites/<site-id>/redirects`.

![Переадресации для сайта в KPanel](https://support.kapsulehost.com/help/screenshots/site-redirects.243dc02e.webp)

Переадресации здесь применяются веб-сервером, еще до запуска вашего приложения. Это делает их быстрее переадресации на основе плагина и означает, что они работают даже для тех URL, которые ваше приложение вообще не распознало бы.

## Добавление переадресации

1. Нажмите **Добавить перенаправление**.
2. Введите **Исходный путь**.
3. Введите **Destination**.
4. Выберите **301 Постоянно** или **302 Временно**.
5. Решите, оставить ли отмеченным **Сохранить строку запроса**.
6. Нажмите **Добавить перенаправление**.

Переадресация применяется, а затем проверяется непосредственно на вашем сайте, поэтому отображаемый статус отражает реальное поведение, а не предположение.

## Три формы источника

| Форма | Пример | Соответствие |
|---|---|---|
| Точная | `/old-page` | Только этот путь |
| С префиксом | `/old-path/` | Этот путь и все, что находится ниже него |
| С шаблоном (wildcard) | `/blog/*` | Все, что находится под `/blog/`, с захватом остатка |

Источник с шаблоном захватывает все, что совпало со значком `*`, и назначение может ссылаться на это как `$1`. Таким образом, источник `/blog/*` с назначением `/news/$1` отправляет `/blog/hello-world` на `/news/hello-world`, и делает то же самое для каждой другой записи, при помощи одного правила.

> **Note:** Исходный путь нельзя изменить после создания переадресации. Если вы ошиблись, удалите переадресацию и добавьте новую. Назначение, код и настройка строки запроса редактируются.

## Назначения

Назначение может быть одним из следующих:

- **Относительным**, например `/new-page`, чтобы отправить посетителей на другую страницу того же сайта.
- **Абсолютным**, например `https://example.com/new`, чтобы отправить их на совершенно другой сайт.

Абсолютные назначения позволяют создавать "красивые" пути: например, `/docs` на вашем домене, указывающий на документацию, размещенную в другом месте.

## 301 или 302

**301 Постоянно** сообщает браузерам и поисковым системам, что перемещение окончательное. Поисковые системы переносят сигналы ранжирования на новый URL и перестают запрашивать старый. Браузеры кешируют переадресацию, иногда на очень долгий срок.

**302 Временно** говорит о том, что перемещение может быть отменено. Ничего не переносится и ничего не кешируется надолго.

Используйте 301 для настоящей реструктуризации: вы переместили страницу, и она не вернется обратно. Используйте 302 для всего, что вы планируете отменить, например, при указании страницы на временную кампанию или уведомление о техническом обслуживании.

> **Warning:** Неправильную переадресацию 301 дорого отменять. Браузеры агрессивно кешируют постоянные переадресации, поэтому посетитель, однажды столкнувшийся с неверным правилом, может продолжать следовать ему еще долго после того, как вы его удалите, причем у вас нет возможности очистить его кеш. Если вы не уверены, начните с 302 и переведите в 301, когда будете уверены.

## Сохранение строки запроса

**Сохранить строку запроса** включено по умолчанию. При включенной опции `?utm_source=newsletter` и любой другой параметр переносятся в назначение.

Оставляйте эту опцию включенной практически всегда. Потеря строк запроса нарушает отслеживание кампаний, нарушает пагинацию и фильтры, а также ломает любую ссылку, несущую состояние. Список переадресаций помечает любое правило с отключенной опцией как `(query stripped)`, поэтому вы сразу увидите, какие из них отбрасывают параметры.

Отключайте ее только тогда, когда назначение ни в коем случае не должно получать старые параметры, например, если старые параметры будут интерпретированы иначе и приведут к отображению неправильной страницы.

## Чтение значка статуса

После каждого сохранения переадресация проверяется непосредственно на вашем сайте, а не через кеш, и результат становится значком в столбце **Status**.

| Значок | Значение |
|---|---|
| Еще не проверено | Проверка еще не выполнялась. Обновите страницу через минуту |
| Проверено, с указанием кода и назначения | Переадресация активна и делает именно то, что вы настроили |
| Применено, но не срабатывает, с указанием статуса | Правило было записано, но сайт вернул что-то другое |

Третий значок это тот, на который нужно реагировать. Он означает, что конфигурация настроена, но переадресация не вступает в силу, а показанный код состояния сообщает, что произошло вместо нее.

После сохранения вы также можете увидеть предупреждение о том, что другая конфигурация на сервере претендует на тот же домен. В этом случае переадресация не будет применена, пока конфликт не будет разрешен, а в сообщении указывается другая конфигурация. Обратитесь в службу поддержки, если вы видите это предупреждение и не уверены, что оно означает.

## Редактирование и удаление

У каждой строки есть кнопка редактирования и кнопка удаления.

Редактирование позволяет изменить назначение, код и настройку строки запроса. Источник изменить нельзя.

Удаление запрашивает подтверждение и объясняет, что произойдет: запросы к этому пути перестанут переадресовываться и будут возвращать то, что сайт обычно отдает по этому адресу, что часто означает 404.

## Планирование реструктуризации

Прежде чем перемещать большое количество URL, немного порядка избавит вас от многих проблем.

1. **Экспортируйте текущий список URL** из вашей карты сайта или аналитики, чтобы знать, что действительно получает трафик.
2. **Сопоставьте старые адреса с новыми**, по одной строке на URL. Сгруппируйте все, что имеет общий префикс.
3. **Используйте шаблоны (wildcard) для групп.** Одно правило с `/blog/*` лучше двухсот точных правил и не будет расходиться со временем.
4. **Добавьте точные правила для исключений**, которые не соответствуют шаблону.
5. **Проверьте каждую форму по одному разу**, затем посмотрите на значки.
6. **Следите за количеством ошибок 4xx** после этого в [Аналитике трафика сайта](https://support.kapsulehost.com/ru-ru/site-analytics). Растущая доля 404 означает, что вы что-то упустили.

> **Tip:** Добавьте брендированную страницу 404 как сеть безопасности на случай, если вы что-то упустите. Это превращает тупик в путь обратно к сайту. См. [Пользовательские страницы ошибок](https://support.kapsulehost.com/ru-ru/site-error-pages).

## Устранение неполадок

**Переадресация не срабатывает.** Проверьте значок. Если указано "применено, но не срабатывает", обратите внимание на возвращенный код статуса. Код 200 обычно означает, что запрос был обработан чем-то другим раньше, часто самим приложением.

**Переадресация срабатывает, но я попадаю не туда.** Проверьте наличие цепочки: ваше правило может отправлять трафик на путь, который другое правило или само приложение переадресовывает снова. Цепочки работают медленно и сбивают с толку поисковые системы. Направьте первое правило прямо на конечное назначение.

**Шаблон отправляет все на одну страницу.** В назначении отсутствует `$1`. Без него каждый захват сводится к одной и той же цели.

**Удаленная мной переадресация все еще срабатывает в браузере.** Вы ранее перешли по переадресации 301, и ваш браузер ее закешировал. Проверьте в приватном окне, чтобы убедиться, что правило действительно удалено.

**Параметры запроса исчезают.** На этом правиле отключена опция **Сохранить строку запроса**. Отредактируйте правило и снова включите ее.

**Слишком много переадресаций или цикл.** Два правила указывают друг на друга, или правило указывает на путь, который соответствует его же собственному шаблону источника. Удалите одну из сторон цикла.

## Связанные страницы

- [Пользовательские страницы ошибок](https://support.kapsulehost.com/ru-ru/site-error-pages) о том, что видят посетители, когда ничего не совпадает.
- [Аналитика трафика сайта](https://support.kapsulehost.com/ru-ru/site-analytics) для отслеживания количества 3xx и 4xx после реструктуризации.
- [Защита сайта паролем](https://support.kapsulehost.com/ru-ru/site-password-protect) для блокировки пути вместо его перемещения.
