Children Mission
Сайт на WordPress для української громадської організації, що навчає громади підтримувати дітей: разові й щомісячні пожертви, заявки на партнерство й контент, який команда редагує без розробника.

Задача
Українській громадській організації, яка навчає громади підтримувати дітей, потрібен був сайт, що розповідає її історію й приймає пожертви та заявки на партнерство, — і який команда редагує сама, без розробника.
Рішення
- Контент: тему перебудовано на нативних блоках Gutenberg за макетами клієнта; сторінки місії, тренінгів (пʼять курсів і вебінари), історій, відгуків, команди, пожертв, контактів, приватності й річного звіту; команда, відгуки й курси — як структурований контент; доступні заголовки і розрізнювані посилання «Детальніше».
- Пожертви: разові й щомісячні через WayForPay; підпис робить сервер, тож секрет не потрапляє в браузер; перевірка callback, правильні дати щомісячних списань, готові суми й валідація, закритий журнал пожертв для адміна, реквізити UAH/EUR/USD з кнопкою копіювання.
- Форми й пошта: форма контактів розгортається повторюваним скриптом, автовідповідь, пошта через SMTP-сервіс, збереження заявок, два шари захисту від спаму.
- SEO і швидкість: метатеги, Open Graph, схема організації й sitemap; кешування; прибрано mixed content по всьому сайту; стиснено банери, а відео історії перекодовано з 122 МБ у 11,5 МБ.
- Безпека: фаєрвол вебзастосунків, двофакторний вхід, справжній IP відвідувача за Cloudflare, база не відкрита назовні, секрети лише на сервері.
- Інфраструктура: Docker на виділеному сервері за Cloudflare з автоматичними сертифікатами, інструкція деплою з відкатом, перехід на PHP 8.3 з тестуванням на ізольованому стеку.
- Знайдено й виправлено баг WordPress, через який після додавання власних типів контенту адміни втрачали права на всьому сайті.
Результат
Сайт працює і перебуває на щомісячному супроводі: оновлення, перевірене відновлення з бекапу, наскрізні перевірки пожертв і форм, звіт англійською й українською. Одна з перевірок знайшла, що форма мовчки відправляла всі листи в спам, і це виправили. Після переходу на PHP 8.3 усі 25 сторінок і 16 екранів адмінки перевірені без помилок.