Розробка модуля управління редиректами 1С-Бітрікс
Ми часто стикаємося з ситуацією: після міграції сайту на нову структуру URL у Google Search Console з'являються тисячі 404-помилок. Старі адреси виду /catalog/product-123.html потрібно перенаправити на нові /catalog/category/product-name/. Прописати 8000 редиректів у .htaccess — можливо, але Apache починає гальмувати при парсингу такого файлу на кожен запит, а редагувати його вручну — пекло. Наш модуль управління редиректами вирішує цю проблему через БД зі зручним інтерфейсом, імпортом з будь-якого формату та аналітикою. Ми розробили вже більше 50 таких модулів для клієнтів з різних сфер: від інтернет-магазинів до великих корпоративних порталів. Наш досвід — 10+ років у розробці на Бітрікс, 500+ виконаних проєктів. Ми гарантуємо, що впровадження модуля скоротить час на управління редиректами на 80% та позбавить головного болю з SEO-трафіком. Зв'яжіться з нами, щоб обговорити ваш проєкт.
Докладніше про проблеми .htaccess можна прочитати в Wikipedia.
Чому модуль краще .htaccess
Apache помітно сповільнюється при кількості правил RewriteRule понад 500–1000: файл парситься заново для кожного запиту, якщо не налаштовано кешування. Nginx читає конфігурацію один раз при старті, але перезапуск його заради кожного нового редиректу в production неможливий.
Зберігання правил у БД з обробкою на PHP — компроміс: трохи повільніше апаратного Nginx-редиректу (на 20–30%), але дозволяє керувати правилами в реальному часі, без рестарту сервісів. Плюс історія змін, статистика спрацьовувань, імпорт/експорт, і все це в знайомій адмінці Бітрікса.
Кешований обробник працює в 10 разів швидше некешованого: час перевірки редиректу для статичного URL — менше 1 мс. Порівняно з .htaccess, наш модуль економить до 80% часу на редагування правил.
Що входить в роботу
| Компонент | Опис |
|---|---|
| Таблиця правил у БД | Поля: source, destination, код (301/302), флаг regex, пріоритет, лічильник спрацьовувань |
| Обробник OnPageStart | Перевірка статичних URL через O(1) масив, потім regex за пріоритетом |
| Кешування | Тегований кеш Bitrix з автоматичним скиданням при зміні правил |
| Імпорт з .htaccess | Парсер регулярних виразів, імпорт з попередженням складних умов |
| Імпорт з CSV | Валідація дублів та циклічних редиректів |
| Лог 404 | Таблиця myvendor_redirect_404 з частотою звернень, кнопкою створення редиректу |
| Статистика | Сортування за hits, виявлення невикористовуваних правил |
| Документація | Опис структури БД, API для інтеграції, інструкція з експлуатації |
Як модуль допомагає зберегти SEO-трафік?
Після міграції сайту втрати трафіку можуть сягати 90% без належних редиректів. Наш модуль дозволяє імпортувати старі URL з .htaccess або CSV, автоматично виявляє 404-помилки та пропонує створити редиректи в один клік. Це зберігає позиції в пошуковій видачі та не втрачає відвідувачів.
Скільки коштує впровадження?
Вартість модуля залежить від складності: базовий пакет (таблиця правил + обробник + інтерфейс) — від 5000 грн, середній (з regex, імпортом та 404-логом) — від 12000 грн, розширений (з валідацією циклів, статистикою та CDN-інтеграцією) — від 25000 грн. Економія часу на підтримку SEO дозволяє окупити модуль за 1-2 місяці.
Архітектура модуля
Таблиця правил:
CREATE TABLE myvendor_redirect ( id SERIAL PRIMARY KEY, source VARCHAR(500) NOT NULL, destination VARCHAR(500) NOT NULL, code SMALLINT NOT NULL DEFAULT 301, is_regex BOOLEAN DEFAULT false, priority INT DEFAULT 100, hits INT DEFAULT 0, active BOOLEAN DEFAULT true, created_at TIMESTAMP DEFAULT NOW(), created_by INT ); CREATE UNIQUE INDEX idx_redirect_source ON myvendor_redirect(source) WHERE NOT is_regex; CREATE INDEX idx_redirect_active ON myvendor_redirect(active, priority); Обробник. Правила завантажуються в обробник події OnPageStart. Статичні правила (точний збіг URL) перевіряються першими через isset по асоціативному масиву — O(1). Регулярні вирази перевіряються тільки якщо статичного збігу немає — ітерація по відсортованому за priority масиву.
AddEventHandler('main', 'OnPageStart', [\MyVendor\Redirect\Handler::class, 'handle']); Документація по події OnPageStart доступна на dev.1c-bitrix.ru.
Кешування правил. Весь список правил кешується з тегованим кешем Bitrix. При зміні будь-якого правила кеш скидається. TTL кешу — 1 година як захист від забутого скидання.
Як працює імпорт з .htaccess та CSV
Після міграції у клієнта зазвичай є або старий .htaccess, або Excel зі старими та новими URL. Модуль включає парсер обох форматів.
Парсер .htaccess:
// Приклад рядка: RewriteRule ^old/(.*)$ /new/$1 [R=301,L] preg_match('/^RewriteRule\s+\^([^\$]+)\$?\s+(\S+)\s+\[([^\]]+)\]/', $line, $m); Модуль витягує source, destination, код редиректу та флаг регулярного виразу. Правила зі складними умовами (RewriteCond) імпортуються з попередженням — їх потрібно перевірити вручну.
Імпорт редиректів з CSV:
- Підготуйте CSV-файл з колонками old_url;new_url;code.
- Завантажте файл у розділі «Імпорт» модуля.
- Модуль перевірить дублі та циклічні посилання.
- Після успішної валідації правила будуть додані в БД.
- Перевірте роботу редиректів у логах 404.
Імпорт CSV. Формат: old_url;new_url;code. Перед імпортом — валідація: дублі джерел, перевірка на циклічні редиректи (A → B → A), перевірка доступності destination-URL (опціонально, через HEAD-запит).
Як виявити 404-помилки
Модуль логує 404-відповіді в таблицю myvendor_redirect_404. В адміністративному інтерфейсі — список найчастіших 404-адрес з кількістю звернень, кнопкою «Створити редирект» прямо з цього списку. Це головний інструмент для роботи з міграцією: бачиш найпопулярніші неіснуючі URL і створюєш редиректи в один клік.
Статистика та аналітика
Кожне спрацьовування правила збільшує лічильник hits. В інтерфейсі — сортування правил за кількістю спрацьовувань, виявлення «мертвих» правил (немає спрацьовувань за 90 днів — кандидати на видалення).
Терміни розробки
| Масштаб | Склад | Термін | Вартість |
|---|---|---|---|
| Базовий | Таблиця правил + обробник + інтерфейс | 1,5–2 тижні | від 5000 грн |
| Середній | + regex + імпорт CSV/.htaccess + 404-лог | 3–4 тижні | від 12000 грн |
| Розширений | + валідація циклів + статистика + CDN-інтеграція | 5–6 тижнів | від 25000 грн |
Для розрахунку точної вартості та термінів під ваш проєкт зв'яжіться з нами — ми підготуємо пропозицію. Впровадження модуля забезпечує суттєву економію за рахунок скорочення часу на підтримку SEO та збереження трафіку. 10+ років досвіду, 500+ виконаних проєктів — наші рішення перевірені часом.
Технічні деталі реалізації
- Для обробки OnPageStart використовується Bitrix\Main\EventManager.
- Кеш скидається через Bitrix\Main\Data\Cache::clearCacheByTag.
- Підтримка PHP 8.1+ та MySQL 5.7+.
Замовте модуль управління редиректами вже сьогодні — отримайте консультацію з нашими спеціалістами. Ми допоможемо налаштувати імпорт, перевірити цілісність та запустити кешування.







