SEO · Long-tail · 27 червня 2026

301-редиректи: Bash і .htaccess для сайтів-мільйонників

301-редиректи на сайті з мільйоном сторінок — це вже не питання «додати правило в .htaccess», а питання архітектури. Ручний список редиректів на такому масштабі неможливо підтримувати: він росте швидше, ніж встигаєш його оновлювати. Розбираємо, як автоматизувати процес через Bash-скрипти й патерни замість переліку URL.

Технічне SEO·9 хв читання
301-редиректи через Bash та .htaccess для сайтів-мільйонників

301-редиректи: чому мільйонники — інша задача

На невеликому сайті список редиректів — це файл на 50-100 рядків, який рідко змінюється. На каталозі з мільйоном товарів URL змінюються постійно: категорії перейменовуються, товари знімаються з продажу, структура еволюціонує.

Ручне ведення такого списку в .htaccess неминуче призводить до конфліктів правил і деградації швидкості сервера.

Патерни замість переліку URL

Замість тисяч індивідуальних рядків — regex-правила через mod_rewrite, що покривають цілі класи змін:

RewriteRule ^old-category/(.*)$ /new-category/$1 [R=301,L]
Одне правило замінює потенційно тисячі окремих редиректів, якщо зміна URL слідує передбачуваній логіці.

Bash-автоматизація масової генерації

Коли структура міняється хаотично (не за єдиним патерном), редиректи генеруються скриптом з таблиці «старий URL → новий URL»:

  • вивантажити список змінених URL з CMS чи бази даних;
  • Bash/Python-скрипт формує готовий блок правил .htaccess або конфіг Nginx;
  • автоматична перевірка на дублі й конфлікти правил перед деплоєм.

Продуктивність: де ставити редиректи

На мільйоннику тисячі правил у .htaccess сповільнюють кожен запит, бо Apache перевіряє їх послідовно. Для великих обсягів ефективніше:

  • редиректи на рівні застосунку (БД-таблиця «старий → новий») замість файлу конфігурації;
  • Nginx map-блоки замість лінійних regex-правил, якщо є доступ до конфігурації сервера.

Тестування перед масовим деплоєм

Перед застосуванням масового блоку редиректів — обов’язкова перевірка на вибірці URL, що жоден редирект не веде в нескінченний цикл чи на 404. Логіка перегукується з SEO-міграцією, де редиректи — критичний етап.

Наш підхід на практиці

Ми будуємо систему редиректів на основі патернів і БД-таблиць замість ручних списків — так, щоб вона масштабувалася разом із сайтом.

Автоматизація редиректів для великих каталогів — частина наших SEO-послуги SEOWORK.

Часті питання

Бо на сайті з мільйоном сторінок URL змінюються постійно, і ручний список неминуче застаріває, накопичує конфлікти правил і сповільнює сервер через послідовну перевірку тисяч рядків у .htaccess.

Через Bash або Python-скрипт, що бере таблицю «старий URL → новий URL» з бази даних чи CMS і формує готовий блок правил, з автоматичною перевіркою на дублі й конфлікти перед деплоєм.

Для великих обсягів ефективніше зберігати редиректи в таблиці бази даних або використовувати Nginx map-блоки, оскільки тисячі правил у .htaccess послідовно перевіряються Apache і сповільнюють кожен запит.

Мільйон сторінок вимагає системи редиректів, а не списку.

Патерни й автоматична генерація масштабуються разом із сайтом — на відміну від ручного переліку URL.

Поділитися статтею