ДНАОП — бібліотека нормативів з охорони праці
Перезапустили відкриту бібліотеку з 45 294 нормативів України з охорони праці: дизайн «спершу телефон», пошук, який розуміє, як шукають норми, і всі старі адреси на місці.
- Рік
- 2026
- Робота
- Перезапуск: дизайн і розробка
- Тип
- Бібліотека нормативів
- Мова
- Українська
Сайт у цифрах
Бібліотека, на яку покладаються, — перезібрана з нуля
ДНАОП — відкрита бібліотека нормативів України з охорони праці: акти НПАОП і ДНАОП, будівельні норми, стандарти, санітарні й пожежні правила, готові інструкції. Інженери та керівники приходять сюди за точним формулюванням норми — і відкривають її з телефона не рідше, ніж з робочого комп’ютера.
Старий сайт працював, але на застарілому XSLT-рушії: без нормального меню й мобільної версії, з інтерфейсом упереміш російською та українською, таблицями з рисок і тисячами сторінок зі зламаним кодуванням. Ми перезібрали бібліотеку з нуля на сучасному стеку — і перенесли її, не втративши жодної адреси.
Старий сайт і новий — потягніть повзунок

Сторінка акта, яку зручно читати
Нормативи займають десятки сторінок, найдовший — 247. Тепер кожен акт відкривається з липкою шкалою сторінок, змістом і зручною колонкою тексту, а в актів, довших за 60 сторінок, є ряд швидкого переходу. Завантажити й надрукувати — в один дотик, безкоштовно й без реєстрації.
- Шкала сторінок у трьох режимах — залежно від обсягу акта
- Зміст і блок «Дивіться також» з актами тієї ж серії
- Працює навіть із вимкненим JavaScript
Пошук, який розуміє, як шукають норми
Норми шукають за кодом на кшталт «НПАОП 40.1», за фрагментом назви або з помилкою в іншій розкладці. Новий повнотекстовий пошук дає раду всьому цьому по кожній сторінці кожного акта й відповідає за десятки мілісекунд. На контрольному наборі запитів потрібний акт опиняється першим у 91 % випадків і завжди — у першій трійці.
- Форми слів українською та російською, точний збіг за кодом
- Виправлення помилок і розкладки, підказки під час набору
- Фільтри за розділом і мовою, підсвічування збігів
Сорок п’ять тисяч документів — після ремонту
Таблиці відновлено
У 2 571 акті таблиці з рисок перетворилися на 47 837 справжніх таблиць.
Тексти видобуто заново
1 578 актів заново видобуто з вихідних Word-архівів — із суворими перевірками.
Кодування й назви
Виправлено кодування в 191 акті та втрачену першу літеру в 886 назвах.
Легкі зображення
32 828 зображень переведено у WebP — обсяг зменшився вдвічі, з 1 060 до 521 МБ.
Усі адреси на місці
167 714 адрес перенесено один в один і звірено з тижнем реальних логів — жодної помилки.
Пошуковики в курсі
Розмітка Legislation, canonical, щоденна карта сайту та сповіщення IndexNow при кожній зміні.
4,7 ГБ текстів — за мілісекунди
Бібліотека працює на Laravel 13 з окремим повнотекстовим пошуковим рушієм і кешуванням на кожному рівні: готові сторінки актів віддаються через CDN, і сторінка, яка відкривалася за 0,20 с, тепер приходить за 0,06 с. 4,7 ГБ вихідних текстів не стали заганяти в базу — вони очищуються на льоту й кешуються, а вихідні файли лишаються недоторканими.
Редактори працюють в окремій адмінці на React і Fluent UI: документи та їхні дублі, статті з візуальним редактором, режимом коду й історією версій, сторінки, меню, медіатека, редиректи та заявки — з п’ятьма ролями й журналом дій. Публічні сторінки несуть близько 3 КБ нашого JavaScript, а все це перевіряють майже 600 автотестів.
Великий сайт на застарілому рушії?
Перенесемо його на сучасну платформу й збережемо адреси та контент.
Зв’язатися з нами
Маєте ідею проєкту?
Розкажіть нам про неї.
Відповідаємо протягом одного робочого дня