Редирект 301 постоянный, а 302 временный - и для сервиса сокращения URL это однословное различие определяет, передают ли ваши ссылки сигналы ранжирования, насколько агрессивно их кэшируют браузеры и можете ли вы безопасно изменить их назначение позже. 301 говорит: «это переехало навсегда, отправьте SEO-ценность на новый адрес». 302 говорит: «это объезд, сохраните оригинал». Оба доставляют посетителя в одно место - просто рассказывают машинам две противоположные истории.
Для коротких ссылок выбор неочевиден, и популярный совет - «всегда используйте 301 для SEO» - достаточно часто оказывается неверным, чтобы быть опасным. 301 жёстко кэшируется браузерами, что отлично для скорости и ужасно в тот день, когда нужно перенаправить редактируемую ссылку. Реальный ответ зависит от того, является ли ссылка постоянной или редактируемой, - и об этом этот пост на самом деле.
Я работаю над путём редиректа, поэтому буду держаться ближе к тому, что происходит на уровне протокола, а не в SEO-фольклоре. Если хотите сначала посмотреть на общую картину, статья вредят ли сервисы сокращения URL для SEO охватывает сторону репутации, а достижение p95 менее 15ms для редиректов - сторону скорости. Здесь мы сосредоточены на коде состояния.
Что такое редирект 301#
301 - это код состояния «Moved Permanently» («Перемещено постоянно»). Когда сервер отвечает на запрос кодом 301 и заголовком Location, он делает весомое заявление: этот ресурс теперь постоянно находится по новому URL, и новый следует считать каноническим.
Из этого заявления следуют два последствия. Поисковые системы передают сигналы ранжирования - авторитет и обратные ссылки, накопленные старым URL, - на место назначения. Именно поэтому 301 является стандартным решением для миграций сайтов и переключений на HTTPS. Браузеры кэшируют редирект, иногда очень надолго, поскольку «постоянный» воспринимается буквально. В следующий раз, когда посетитель перейдёт по ссылке, браузер может даже не обращаться к вашему серверу - он сразу прыгает на кэшированное место назначения. Механика подробно описана в руководстве MDN по HTTP-редиректам, а исходное определение - в RFC 7231, раздел 6.4.2.
Это кэширование - преимущество для постоянной ссылки и ловушка для редактируемой. Запомните это - это ключ к решению для короткой ссылки.
Что такое редирект 302#
302 - это «Found» («Найдено»), временный редирект. Он отправляет посетителя дальше точно так же, как 301, но сообщение машинам противоположное: это краткосрочное соглашение, исходный URL вернётся, поэтому сохраните его в индексе и не кэшируйте редирект как постоянный.
Стоит упомянуть более точный родственный код. 307 - строгий временный редирект: то же намерение, что и у 302, но он гарантирует сохранение HTTP-метода, поэтому POST остаётся POST. Для коротких ссылок, которые являются обычными GET-запросами, 302 и 307 неотличимы на практике. Различие значимо для API и форм, а не для маркетинговой ссылки. Для формального определения RFC 7538 определяет постоянный вариант 308, а временный 307 стоит рядом с ним.
Главное свойство 302 - он не прилипает. Браузеры перепроверяют его, что означает: в день изменения места назначения возвращающиеся посетители сразу следуют новому адресу. Никакого кэшированного объезда к старому месту.
301 против 302 для SEO: какой передаёт ссылочный вес#
Вот часть, которую все ищут на самом деле. Классическое правило - 301 передаёт сигналы ранжирования, а 302 нет. Это было строго верно годами и по-прежнему является безопасным допущением для планирования. Google с тех пор заявил, что 301 передают сигналы ранжирования и что устойчивые 302 в конечном счёте тоже - но «в конечном счёте» делает много работы, а вы не контролируете сроки.
Поэтому практическое SEO-резюме умещается в одну таблицу.
| Свойство | 301 (постоянный) | 302 (временный) | 307 (временный, строгий) |
|---|---|---|---|
| Передаёт сигнал ранжирования | Да, полностью и быстро | Медленно, только если устойчивый | Медленно, только если устойчивый |
| Поисковая система сохраняет старый URL в индексе | Нет, заменяет на целевой | Да, ожидает возврата | Да, ожидает возврата |
| Кэширование браузером | Агрессивное, может залипать | Не кэшируется как постоянный | Не кэшируется как постоянный |
| HTTP-метод сохраняется | Не гарантировано | Не гарантировано | Гарантировано |
| Подходит для | Окончательного перемещения | Временного перемещения | Временных перемещений для POST/API |
Вывод не «301 хорошо, 302 плохо». Вывод - «соответствуйте коду реальности». Если перемещение постоянное, 301 чисто и быстро передаёт сигнал. Если временное, 302 сохраняет место исходного URL в индексе. Использовать 301 для чего-то, что вы отмените, или 302 для чего-то постоянного - вот как редиректы тихо обходятся ценой ранжирования.
Подвох с короткими ссылками: кэширование против редактируемости#
Теперь примените всё это к короткой ссылке, где правила сталкиваются.
Лучшая функция управляемой короткой ссылки - вы можете изменить её место назначения после того, как поделились ею. Печатный флаер, QR-код на упаковке, ссылка в запланированном посте - вы не можете отозвать их, но можете перенаправить ссылку, которую они несут. Эта редактируемость ценнее маргинального SEO-выигрыша для большинства маркетинговых ссылок, и стратегия предотвращения ссылочного гниения целиком на ней строится.
Жёстко кэшированный 301 нарушает это обещание. Если браузер посетителя закэшировал 301 на старое место назначения, перенаправление ссылки ничего ему не даст - он продолжит попадать на устаревшую страницу, пока кэш не истечёт, а вы не можете это принудить. Именно этого и избегает 302. Поскольку браузер никогда не считает 302 постоянным, ваше изменение вступает в силу для всех при следующем клике. Вот почему многие сервисы сокращения, включая наш, по умолчанию используют для редактируемых ссылок временный редирект: ссылка остаётся под вашим контролем. Уровень редиректа разрешает текущее назначение при каждом запросе, поэтому изменение вступает в силу в момент сохранения - стратегия кэширования за этим описана в нашем уровне кэша для редиректов.
Если вы хотите ссылки, которые остаются редактируемыми и при этом разрешаются менее чем за десять миллисекунд, создайте бесплатный воркспейс Elido и создайте свою первую короткую ссылку.
Какой редирект использовать для коротких ссылок#
Отбросьте теорию - всё сводится к одному вопросу: может ли когда-нибудь измениться место назначения этой ссылки?
- Никогда не изменится - постоянная vanity-ссылка на вашу главную страницу, вечная ссылка в книге. Используйте 301. Вы получаете полную быструю передачу сигнала ранжирования и бонус скорости от кэширования браузером, не теряя ничего, ведь вы всё равно не собирались её перенаправлять.
- Может измениться - любая ссылка для кампании, любая редактируемая короткая ссылка, всё, что вы захотите исправить без переиздания. Используйте 302. Вы жертвуете долей немедленной SEO-передачи ради гарантии, что изменение дойдёт до каждого посетителя мгновенно.
Для подавляющего большинства коротких ссылок - URL кампаний, умных ссылок с маршрутизацией по стране или устройству, всего на пользовательском домене, которым вы активно управляете, - редактируемость побеждает, поэтому 302 является разумным выбором по умолчанию. Оставьте 301 для действительно постоянного. А если вы только начинаете, статья как сократить URL охватывает процесс создания, который стоит перед всем этим.
Как проверить, какой редирект использует ссылка#
Никогда не верьте словам сервиса на слово. Спросите ссылку напрямую с помощью HEAD-запроса:
curl -sI "https://go.yourbrand.com/spring"
Первая строка ответа - это код состояния: HTTP/2 301, HTTP/2 302 или HTTP/2 307, - а заголовок Location показывает, куда она ведёт. Если вы видите цепочку редиректов, каждый переход - это отдельный ответ, и каждый дополнительный переход добавляет задержку и шанс утечки или потери сигнала. Чистая короткая ссылка - это один переход: с короткого URL на конечное место назначения, ничего между ними. Слежение за цепочками редиректов - часть того, как короткие ссылки разрешаются изнутри, а сохранение цепочки в один переход - половина причины, по которой наша задержка редиректа остаётся низкой.
Мысленная модель - это весь пост: 301 - обещание, которое нельзя взять обратно, 302 - обещание, которое можно. Выберите то, что соответствует тому, разрешено ли ссылке меняться, проверьте через curl - и ваши редиректы будут делать то, что вы задумали, а не то, что вы предполагали.
Ещё по теме в блоге#
Попробуйте Elido
Вставьте URL - получите короткую ссылку
Без регистрации. Ссылка живёт 30 дней. Зарегистрируйтесь, чтобы оставить её навсегда.
Бесплатно, без регистрации · 2 в день