Русская Православная Церковь Московский Патриархат Белорусская Православная Церковь Брестская епархия
Platform

Каменецкое благочиние

Современная система управления церковным контентом для 30 приходов Каменецкого благочиния

v1.17.8 16.09.2026

О платформе

30 приходов

Каждый храм имеет собственную страницу с историей, расписанием богослужений, контактами настоятеля и GPS-навигацией

Расписание

Актуальное расписание богослужений с удобной навигацией по дням и праздникам

Интерактивная карта

Карта всех храмов с построением маршрута, координатами и ссылками на навигаторы

Технологический стек

CMS WordPress 1.17.8
PHP 8.5
Тема kamenec-blagochinie
Разработка ipd.by
Хостинг hoster.by vh137
Сервер Laravel Herd (nginx)
БД (тест) MariaDB 5.7.44-cll-lve
Тест kamenec-blagochinie.test

История платформы

1.17.3 24 Aug 2026

Полное восстановление страницы версионирования: структура, CSS-классы, хронология

Контекст: Страница /platform-version/ была повреждена в результате некорректных операций с базой данных. Дубли заголовков (Платформа x2, О платформе x2, Текущая версия x4, Разработка x2), версии в произвольном порядке, отсутствовали CSS-классы pv-release для стилизации.

Выполненные работы:

  • Полностью перестроена структура страницы: hero-блок (pv-hero) с бейджем, заголовком, подзаголовком, бейджем текущей версии и датой обновления
  • Карточки О платформе (pv-card x3): 30 приходов, Расписание, Интерактивная карта — с SVG-иконками
  • Блок Технологический стек (pv-tech-grid x8): CMS, PHP, Тема, Разработка, Хостинг, Сервер, БД, Тест
  • Хронология версий: 67 записей от 1.17.3 до 1.0.0, каждая обёрнута в pv-release с pv-release-header (версия + дата) и pv-release-changes (описание)
  • Блок Разработка и поддержка (pv-dev-card) с данными разработчика, платформы и продукта
  • Удалены все дублирующиеся секции — чистая последовательная структура

Результат: Страница /platform-version/ полностью восстановлена. Все 67 версий отсортированы по убыванию (1.17.3 до 1.0.0), каждая содержит контекст, описание изменений и результат. CSS-классы pv-release обеспечивают стилизацию: бейдж версии, дата, список изменений. Данные хранятся в базе данных WordPress (post ID 14586, post_type page).

1.17.2 24 Aug 2026

Первичное восстановление страницы версионирования из ревизий WordPress

Контекст: Страница /platform-version/ была утеряна после некорректных операций с БД. Единственный источник данных — ревизия 16495 WordPress (89 291 байт, содержимое версий 1.16.5 до 1.0.0).

Выполненные работы:

  • Извлечены данные из ревизии 16495 через WP-CLI: wp post get 16495 —field=post_content
  • Восстановлен блок-вступление с описанием платформы, её назначения и ключевых возможностей
  • Созданы карточки О платформе (pv-card x3) и блок Технологический стек (pv-tech-grid x8)
  • Добавлены записи версий 1.17.1 и 1.17.0 (механизмы синхронизации PROD-TEST, REST API)
  • Данные вставлены в БД через PDO (прямое подключение к MySQL) — $wpdb->update() не справлялся с большими объёмами контента

Результат: Восстановлена базовая структура страницы версионирования. Дальнейшая работа (уборка дублей, стилизация CSS-классами) выполнена в задании 71.

1.17.1 24 Aug 2026

Синхронизация PROD-TEST: перенос новостей, вложений, кеширование ресурсов

Контекст: Новые записи (новости) создавались модераторами на продуктовом сайте, но отсутствовали на тестовой площадке. Развитие платформы на test требовало актуального контента для тестирования нового функционала.

Выполненные работы:

  • Перенесены 3 новые записи (новости) с prod на test через WP REST API с Application Passwords
  • Перенесены связанные медиафайлы (вложения) через REST API media endpoint
  • Обновлена версия темы: style.css (Version: 1.17.1), footer.php (Версия платформы 1.17.1)
  • Добавлены параметры ?ver= для кеширования статических ресурсов (CSS/JS) — при обновлении версии браузер автоматически загружает актуальные файлы

Результат: Тестовая площадка синхронизирована с продакшн по контенту новостей. Механизм односторонней синхронизации PROD-TEST работает через WP REST API с аутентификацией Application Passwords. Кеширование ?ver= обеспечивает автоматическую инвалидацию кеша браузера при обновлении темы.

1.17.0 24 Aug 2026

Настройка WP REST API и Application Passwords для межсайтовой синхронизации

Контекст: Необходим автоматический механизм синхронизации контента между тестовой и продуктовой площадками без ручного копирования файлов и SQL-дампов.

Выполненные работы:

  • Настроен WP REST API на обоих сайтах (test и prod) — доступ к CRUD-операциям через HTTP
  • Созданы Application Passwords для пользователя admin на prod — отдельные учётные данные для API-запросов без передачи основного пароля
  • Добавлен заголовок Authorization в .htaccess (RewriteRule .* — [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]) для корректной работы HTTP Basic Auth через Application Passwords
  • Обновлены инструкции 01-08 по работе с платформой: документация по REST API, аутентификации, синхронизации, деплою
  • Проведены тестовые запросы: GET /wp-json/wp/v2/posts, POST /wp-json/wp/v2/media — аутентификация работает

Результат: Настроен механизм безопасной межсайтовой синхронизации через REST API. Application Passwords (имя: 83Gr34c1271) обеспечивают отдельные учётные данные для автоматизированных операций без риска компрометации основного пароля администратора. Работа на test не влияет на prod — деплой выполняется осознанно.

1.16.7 23 Aug 2026

Двусторонняя синхронизация TEST-PROD и деплой 7 файлов темы

Контекст: Тестовая и продакшн площадки разошлись по контенту: на prod создавались новости, на test — разрабатывался новый функционал. Требовалась двусторонняя синхронизация.

Выполненные работы:

  • Деплой 7 файлов темы с test на prod через FTP (hoster.by vh137): template-parts/, functions.php, style.css, шаблоны страниц
  • Перенесены новости и фотографии с prod на test — 4 новые записи через REST API
  • Обновлена версия темы на prod до 1.16.7
  • Синхронизированы template-parts, style.css, functions.php — единая кодовая база на обоих сайтах

Результат: Продуктовый сайт обновлён до актуальной версии темы. Тестовая площадка синхронизирована по контенту с prod. Механизм двусторонней синхронизации работает: FTP для файлов темы, REST API для контента.

1.16.6 23 Aug 2026

Синхронизация TEST-PROD: определение разницы через REST API, перенос 4 записей

Контекст: На prod были созданы новые записи, отсутствующие на test. Требовалась идентификация и перенос недостающего контента.

Выполненные работы:

  • Определение разницы между сайтами: сравнение slug через REST API (GET /wp-json/wp/v2/posts?per_page=100) с последующим urldecode() кириллических slug
  • Идентифицированы 4 новые записи на prod, отсутствующие на test
  • Перенесены посты с медиафайлами через WP REST API
  • Обновлена база знаний платформы на тестовой площадке

Результат: Тестовая площадка обновлена актуальным контентом. Методика определения разницы через REST API + urldecode() работает корректно для кириллических slug — позволяет точно выявлять недостающие записи без SQL-сравнения.

1.16.5 23 Aug 2026

Визуальная обратная связь: кнопка копирования, toast-уведомления, Clipboard API fallback

Контекст: Кнопка Скопировать ссылку в лайтбоксе новостей не давала пользователю обратной связи — непонятно, скопировалась ссылка или нет. На HTTP Clipboard API не работает из-за ограничений безопасного контекста.

Выполненные работы:

  • Кнопка Скопировать ссылку получила визуальную обратную связь: зелёная подсветка при успешном копировании, красная при ошибке
  • Для случаев, когда Clipboard API недоступен (HTTP без TLS, старые браузеры), реализован fallback через prompt() с ссылкой для ручного копирования
  • Добавлен toast-уведомление при открытии фото в лайтбоксе — краткая подсказка
  • Проверена совместимость на iOS Safari, Android Chrome, десктопных браузерах — копирование работает на всех платформах

Результат: Пользователь получает мгновенную визуальную обратную связь при копировании ссылки. Работоспособность обеспечена на всех современных браузерах, включая мобильные платформы с ограничениями Clipboard API. Fallback через prompt() гарантирует работоспособность даже в небезопасном контексте (HTTP).

1.16.4 22 Aug 2026

Исправление кнопки копирования: обращение отца Николая, отладка на prod

Контекст: Отец Николай (приходский священник) сообщил, что кнопка Скопировать ссылку в лайтбоксе не работает — ссылка не копируется в буфер обмена.

Выполненные работы:

  • Исправлена неработоспособность кнопки: определена причина — Clipboard API требует безопасного контекста (HTTPS) или специальных разрешений
  • Добавлено логирование в консоль (console.log) для отладки на продакшн-сервере
  • Проведена отладка непосредственно на продуктовом сайте: тестирование на реальном HTTPS-соединении
  • Обновлена версия темы до 1.16.4

Результат: Кнопка Скопировать ссылку работает корректно на всех устройствах. Отладка проведена на реальном продакшн-сервере. Определена корневая причина (Clipboard API + HTTPS), что повлияло на реализацию fallback-механизма в версии 1.16.5.

1.16.3 21 Aug 2026

Исправление кодировки UTF-8: устранение мозаичных символов на странице версионирования

Контекст: Страница /platform-version/ отображала мозаичные символы вместо кириллического текста — проблемы кодировки при сохранении PHP-файлов.

Выполненные работы:

  • Определена причина: PHP-файлы сохранялись через PowerShell с BOM (Byte Order Mark) — UTF-8 с BOM приводил к некорректной интерпретации кириллицы в браузере
  • Все PHP-файлы темы пересохранены в UTF-8 без BOM через PHP file_put_contents() с флагом 0 (без BOM)
  • Проверена корректность отображения кириллицы на всех страницах
  • Добавлено правило: PHP-файлы с кириллицей ВСЕГДА сохраняются через PHP, НЕ через PowerShell

Результат: Страница /platform-version/ корректно отображает кириллический текст. Проблема с кодировкой устранена. Установлено правило: PHP-файлы с кириллицей сохраняются только через PHP (file_put_contents с UTF-8 без BOM).

1.16.2 21 Aug 2026

Мобильное меню: свёрнутые секции, SVG-иконки, двухколоночная сетка храмов

Контекст: Мобильное меню на смартфонах отображало все подменю развёрнуто — длинный список из 30 храмов и пунктов меню, некомпактно и неудобно.

Выполненные работы:

  • Подменю в мобильном меню свёрнуты по умолчанию — раскрываются при клике на родительский пункт
  • Добавлены SVG-иконки для каждого раздела: новости, о благочинии, благочиние, контакты, платформа
  • Подменю Храмы организовано в двухколоночную сетку — 30 храмов компактно размещены в два столбца
  • Оптимизированы обработчики кликов: привязка к существующим DOM-элементам без дублирования событий

Результат: Мобильное меню работает компактно и интуитивно. Секции раскрываются по требованию, SVG-иконки визуально идентифицируют разделы, двухколоночная сетка эффективно использует пространство экрана смартфона.

1.16.1 20 Aug 2026

Обогащение страниц храмов: история, настоятели, литература из kamlib.by

Контекст: Страницы храмов содержали минимальную информацию: название, адрес, фото. Отсутствовали исторические сведения, данные о настоятелях, рекомендованная литература.

Выполненные работы:

  • Парсинг страниц kamlib.by (Каменецкая городская библиотека) по каждому из 30 приходов — извлечение исторических данных
  • На страницы храмов добавлены разделы: История прихода, Настоятели (список с периодами служения), Литература (рекомендованные книги)
  • Добавлены ссылки на первоисточники (kamlib.by) для каждой записи
  • Данные отсортированы по храмам, размещены в структурированном формате с заголовками и списками

Результат: Каждый из 30 храмов получил развёрнутую историческую справку на основе данных библиотечного фонда. Страницы храмов стали информативнее — посетители получают доступ к истории прихода, списку настоятелей и рекомендованной литературе.

1.16.0 20 Aug 2026

Корректировка GPS-координат и адресов: сверка через Google Maps и Яндекс-карты

Контекст: GPS-координаты части храмов были некорректны: при построении маршрута Яндекс-карты вели в неверное место (соседние населённые пункты вместо храмов).

Выполненные работы:

  • Проверены GPS-координаты всех 30 храмов через Google Maps и Яндекс-карты
  • Обнаружены и исправлены ошибки координат для 5 храмов (Видомля, Огородники, Волька, Пески и др.)
  • Сверены адреса с данными kamlib.by и официальными источниками (УПЦ)
  • Обновлены метаданные в БД (meta _latitude, _longitude) для каждого храма через WP-CLI

Результат: GPS-координаты всех 30 храмов приведены к фактическому расположению. Кнопка Как добраться ведёт пользователя точно к храму, а не в соседний населённый пункт. Навигация работает корректно на Яндекс.Картах и Google Maps.

1.15.0 20 Aug 2026

Интерактивные Яндекс-карты на страницах храмов: маркеры, маршруты, координаты

Контекст: На страницах храмов не было карт — посетители не могли визуально определить расположение и построить маршрут.

Выполненные работы:

  • Интегрирован API Яндекс-Карт (JavaScript API v3) на страницы всех 30 храмов
  • На каждой карте отмечен маркер точного расположения храма
  • Добавлены ссылки-кнопки: Как добраться (Яндекс.Карты), Открыть в Google Maps
  • Отображаются GPS-координаты храма
  • Реализована адаптивная вставка: карта корректно отображается на десктопе и мобильных устройствах

Результат: Посетители сайта могут визуально определить расположение каждого из 30 храмов и построить маршрут. Интеграция с Яндекс-Картами и Google Maps обеспечивает выбор удобного навигатора.

1.14.5 19 Aug 2026

Выпадающее меню Храмы: dropdown, SVG-иконки, двухколоночная сетка

Контекст: Для перехода к конкретному храму пользователю необходимо было сначала открыть страницу /hramy/, затем найти нужный храм в списке из 30 карточек.

Выполненные работы:

  • Реализован dropdown-механизм для пункта Храмы в главном меню — при наведении/клике раскрывается подменю
  • Каждый храм в подменю отображается с SVG-иконкой и названием
  • Подменю организовано в двухколоночную сетку для компактного размещения 30 пунктов
  • Анимация раскрытия/свёртывания подменю, закрытие при клике вне области
  • Адаптивность: на мобильных устройствах подменю перестраивается в одноколоночный вид

Результат: Навигация по храмам стала удобнее: 30 приходов доступны из главного меню с визуальной идентификацией (иконки) и компактным расположением (две колонки). Пользователь мгновенно находит нужный храм без перехода на отдельную страницу-каталог.

1.14.4 19 Aug 2026

Исправление дубля категории Богослужения и конфликта редактирования святого

Контекст: Обнаружена дублирующаяся категория Богослужения (ID 14) с фейковым slug — автоматически сгенерированный при импорте. Посты были разделены между двумя категориями с одинаковым названием.

Выполненные работы:

  • Обнаружена фейковая категория ID 14 (slug: bogosluzheniya-2) — дубль основной категории ID 6 (slug: bogosluzheniya)
  • Все посты из фейковой категории ID 14 перенесены в основную ID 6 через WP-CLI
  • Фейковая категория ID 14 удалена из БД
  • Восстановлена страница святого Симеона Столпника после конфликта параллельного редактирования модератором

Результат: Категория Богослужения единая (ID 6, slug: bogosluzheniya). URL /category/6/ работает корректно. Страница святого восстановлена в полном объёме.

1.14.3 19 Aug 2026

Загрузка данных на prod: восстановление страницы святого после конфликта

Контекст: Модератор внёс изменения на prod, которые перезаписали данные страницы святого из тестовой площадки. Требовалось повторное обновление.

Выполненные работы:

  • Повторно загружена страница святого Симеона Столпника (post 14258) на prod через REST API
  • Восстановлены все 7 блоков div.saint-block (фото слева float, текст справа ~60% ширины)
  • Восстановлены метаданные изображений (названия, подписи, ALT)

Результат: Страница святого на prod восстановлена в актуальном состоянии. Механизм деплоя через REST API работает — повторная загрузка данных выполняется за секунды.

1.14.0 19 Aug 2026

Привязка новостей к храмам: Meta Box, admin notice, перекрёстные ссылки, 2339 связей

Контекст: Новости на сайте не были связаны с конкретными храмами — невозможно было на странице храма увидеть новости прихода.

Выполненные работы:

  • Meta Box Привязанный храм в админке WordPress: при создании/редактировании новости выбирается один из 30 храмов (CPT temple)
  • Admin notice — уведомление в админке для напоминания о необходимости привязки новостей к храмам
  • Двусторонняя навигация: на странице храма отображается лента новостей прихода, на странице новости — блок Новости храма
  • Массовое создание связей: через WP-CLI создано 2339 связей новость-храм для существующих записей

Результат: Каждая новость привязана к конкретному храму. Посетитель страницы храма видит все новости прихода; на странице новости видит, к какому храму она относится. Перекрёстные ссылки создают единую навигационную структуру.

1.13.6 18 Aug 2026

Синхронизация PROD-TEST: 7 постов, 6 медиафайлов, featured images, меню

Контекст: Тестовая площадка отставала от prod по контенту: модераторы создавали новости на prod, но они не появлялись на test.

Перенесено:

  • 7 новых постов (новости) с prod на test через WP REST API
  • 6 медиафайлов (фотографии WebP) — вложения к новостям
  • Featured images (обложки постов) — метаданные _thumbnail_id
  • Навигационные структуры (меню) — обновлён порядок пунктов

Результат: Тестовая площадка актуализирована по контенту. Механизм синхронизации через WP REST API работает стабильно на протяжении нескольких итераций.

1.13.5 18 Aug 2026

Восстановление страницы версионирования: полная история 1.0.0-1.13.5 из SQL-дампов

Контекст: Страница /platform-version/ была утеряна после миграций и некорректных операций с БД.

Выполненные работы:

  • Восстановлены версии 1.0.0-1.9.1 из SQL-дампов (escrow-хранилище)
  • Добавлены версии 1.10.0-1.13.4 из текущей ревизии БД
  • Создана новая запись версии 1.13.5
  • Каждая версия содержит структуру: Зачем это было нужно — Что сделано — Результат

Результат: Страница /platform-version/ содержит полную хронологию развития платформы с 1.0.0 по 1.13.5. Каждая запись описывает контекст изменений, технологические детали и результат для пользователя.

1.13.4 18 Aug 2026

Исправление лайтбокса: figure к JS напрямую, ширина 960px, удаление мёртвых ссылок

Контекст: После внедрения лайтбокса остались баги: ширина страницы храмов не совпадала с новостями, нерабочие скрытые ссылки внутри figure-элементов.

Выполненные работы:

  • Лайтбокс: элементы figure привязаны к JS напрямую (без промежуточных скрытых ссылок)
  • Ширина страницы храмов: установлена 960px (десктоп) и 780px (мобильные) — единообразно с новостями
  • Удалены нерабочие скрытые ссылки (href=#) внутри figure-элементов
  • Проверена работа лайтбокса на всех типах страниц (храмы, новости, святые)

Результат: Лайтбокс работает стабильно на всех страницах. Ширина контента единообразна (960px/780px). Все кликабельные элементы ведут к реальным действиям.

1.13.3 17 Aug 2026

Лайтбокс для фото святого: увеличение, листание, подписи, hover-эффект

Контекст: Фотографии на странице святого Симеона Столпника (7 стендов) не увеличивались при клике — не было механизма просмотра в большом размере.

Выполненные работы:

  • Клик по любому фото открывает его в полноэкранном лайтбоксе
  • Навигация: стрелки влево/вправо для листания между 7 фото
  • Подпись изображения отображается под увеличенным фото
  • Закрытие: крестик, клавиша Escape, клик вне фото
  • Единая ширина фото в тексте: 350px — все изображения выровнены
  • Hover-эффект: при наведении на фото — подсветка рамкой (cursor: pointer)

Результат: Фотографии на странице святого доступны для детального просмотра. Пользователь может увеличить каждое из 7 фото, листать галерею и видеть подписи. Визуальное оформление единообразно.

1.13.2 17 Aug 2026

Реорганизация вёрстки святого: div.saint-block, float-макет, адаптивность

Контекст: По замечаниям Алексея: 7 блоков фото + текст на странице святого отображались последовательно, фото и текст не компоновались — страница была длинной и нечитаемой.

Выполненные работы:

  • 7 блоков фото + абзац обёрнуты в div.saint-block с float:left/max-width:40% для фото
  • Текст обтекает фото справа (~60% ширины)
  • Добавлено мобильное правило @media (max-width: 600px) — на узких экранах фото и текст идут последовательно
  • Убраны инлайновые style=width:XXXpx и классы alignleft/alignright — единый CSS-класс .saint-block

Результат: Страница святого отображает 7 пар фото + текст в компактном макете: фото слева (40%), текст справа (60%). На мобильных устройствах блоки перестраиваются в вертикальный порядок.

1.13.1 17 Aug 2026

Текст о Симеоне Столпнике из OCR-скана, 7 фото стендов в тексте

Контекст: Страница святого Симеона Столпника не имела текстового контента — только заголовок и одно фото.

Выполненные работы:

  • Распознан текст о преподобном Симеоне Столпнике из OCR-скана (библиотечный фонд kamlib.by)
  • Текст раздела про Каменец возвращён из оригинала без редактирования — сохранена подлинная стилистика
  • Добавлены 7 фотографий информационных стендов — в тексте (слева/справа через alignleft/alignright)
  • Большое фото источника установлено как обложка страницы (featured image)

Результат: Страница святого содержит полный текстовый контент из библиотечного фонда + 7 иллюстраций. Контент проверен модератором и принят к публикации.

1.13.0 17 Aug 2026

CPT Престольные святые: архив, страница св. Симеона Столпника, привязка к храмам

Контекст: На сайте не было информации о престольных святых храмов — важный элемент православной традиции, отсутствующий на платформе.

Что создано:

  • Новый Custom Post Type: saint (архивный URL /svyatye/)
  • Страница святого Симеона Столпника (/svyatoj/simeon-stolpnik/) — житие, источники, галерея 7 стендов
  • На страницах храмов добавлен блок Престольный святой — ссылка на страницу святого
  • Метаданные: биография, источники, галерея изображений
  • Связь saint-temple через meta данные (post_meta)

Результат: Каждый храм может отображать страницу своего престольного святого с подробным житием, источниками и фотогалереей. Платформа расширена новым типом контента, связанным с храмами через привязку.

1.12.3 11 Aug 2026

Рубрика Благочиние: slug на латиницу, лента новостей расширена до 30 записей

Контекст: Slug рубрики Благочиние содержал кириллические символы — некорректно работает в URL, при копировании, в SEO.

Выполненные работы:

  • Slug рубрики Благочиние изменён с кириллического на латиницу: /category/blagochinie/
  • Лента новостей рубрики расширена: с 10 до 30 записей на страницу
  • Обновлена навигация: пункт Благочиние в главном меню ведёт на обновлённую рубрику

Результат: URL рубрики (/category/blagochinie/) содержит латинские символы — корректно работает в SEO, при копировании и передаче. Лента новостей показывает все 30 последних записей без постраничной навигации.

1.12.2 10 Aug 2026

Направления служения: slug на латиницу, чипы на /about/, 4 пункта меню

Контекст: 4 категории направлений служения (Молодёжное братство, Миссионерская работа, Социальная служба, Сестричество) имели кириллические slug и не были связаны со страницей О благочинии.

Выполненные работы:

  • 4 категории переведены на латиницу: slug изменён с кириллицы на латиницу
  • На странице /about/ добавлен блок Рубрика с 4 пунктами меню (чипы) — быстрая навигация по направлениям
  • Добавлены 4 пункта в меню О благочинии — ссылки на каждое направление служения

Результат: URL направлений содержат латинские символы. На странице О благочинии пользователь видит 4 карточки-направления с возможностью перехода к новостям каждого направления.

1.12.1 10 Aug 2026

Блок Новости храма: карточки с обложками, пояснениями, церковным шрифтом

Контекст: На страницах храмов блок Новости храма отображал простой текстовый список заголовков — без фотографий, без пояснений, без визуальной структуры.

Выполненные работы:

  • Каждая новость в блоке отображается карточкой с обложкой (featured image)
  • Добавлено пояснение к каждой новости (excerpt)
  • Заголовки оформлены церковным шрифтом (Times New Roman / Georgia)
  • Карточки в responsive-сетке: 2 колонки на десктопе, 1 на мобильных

Результат: Блок Новости храма визуально rich: фотографии, пояснения, стилизованные заголовки. Посетитель видит последние новости прихода в карточном формате.

1.12.0 10 Aug 2026

Перелинковка новость-храм: 2339 связей через WP-CLI, двусторонняя навигация

Контекст: Новости и храмы были независимыми сущностями — невозможно было на странице храма увидеть новости прихода, а на странице новости — храм.

Выполненные работы:

  • Через WP-CLI массово создано 2339 связей новость-храм: для каждого поста определён соответствующий храм
  • На страницах храмов отображается лента новостей, привязанных к данному храму
  • На страницах новостей добавлен блок Новости храма с ссылкой на храм
  • Реализована двусторонняя перелинковка: от храма к новостям и от новости к храму

Результат: Каждая новость связана с конкретным храмом. Посетитель страницы храма видит все новости прихода. Перекрёстные ссылки создают единую навигационную структуру храм-новости.

1.11.2 08 Aug 2026

Оптимизация фото: ресайз до 2560px, деплой Видомли на prod, блоки версий

Контекст: Загружаемые фотографии не имели ограничения по размеру — файлы большого размера замедляли загрузку страниц и нагружали хостинг.

Выполненные работы:

  • Ограничение: фотографии больше 2560px по длинной стороне автоматически уменьшаются при загрузке
  • Деплой темы (6 файлов) на prod через FTP
  • Загружены фотографии храма Видомля на prod (WebP 2560px)
  • Добавлены вложения (meta данные) для фотографий
  • Обновлены блоки версий на prod

Результат: Размер загружаемых фотографий оптимизирован — файлы не превышают 2560px. Храм Видомля получил актуальные фотографии на prod.

1.11.1 08 Aug 2026

Фото Видомли: обложка, формат 4:3, компактная карточка настоятеля

Контекст: Страница храма Видомля не имела обложки, фото были разных пропорций, карточка настояителя содержала дублирующиеся данные.

Выполненные работы:

  • Установлена обложка (featured image) для храма Видомля — WebP 2560px
  • Фотографии приведены к формату 4:3 для единообразия
  • Карточка настояителя: одна фотография + ФИО + должность (без дублирования)
  • Добавлен photo-id для идентификации изображения в БД

Результат: Страница храма Видомля отображает актуальную фотографию в формате 4:3, карточка настояителя — компактная и информативная.

1.11.0 08 Aug 2026

Храм Видомля: галерея фото, контакты, карточка настоятеля, GPS-координаты

Контекст: Страница храма Покрова Пресвятой Богородицы в агрогородке Видомля была пустой — только заголовок.

Что добавлено:

  • Фотогалерея храма (4+ фото): exterior, interior, territory
  • Контактные данные: адрес, телефон настоятеля
  • Карточка настояителя: фото, ФИО, должность
  • GPS-координаты для навигации

Результат: Страница храма Видомля содержит полную информацию: фотографии, контакты, данные настояителя, расположение на карте.

1.10.4 07 Aug 2026

Деплой темы 1.10.3 на prod: шаблоны, стили, SVG-иконки

Контекст: Изменения в теме (контакты, социальные сети, замена эмодзи на SVG) были только на test — prod оставался на старой версии.

Что деплоено:

  • Все файлы темы (PHP, CSS, JS) загружены на prod через FTP (hoster.by vh137)
  • Обновлённые шаблоны: template-kontakty.php, template-blagochinnyj.php, footer.php
  • Обновлённые стили: style.css (все эмодзи заменены на SVG-иконки)

Результат: Продуктовый сайт обновлён до версии 1.10.3. Контакты, социальные сети, SVG-иконки доступны пользователям prod.

1.10.3 07 Aug 2026

Страница Контакты: интерактивная карта, социальные сети, эмодзи заменены на SVG

Контекст: Страница Контакты содержала только текстовые адреса и телефоны — без карты, без социальных сетей, с эмодзи вместо иконок.

Выполненные работы:

  • На странице /kontakty/ размещена интерактивная карта (Яндекс-Карты) с маркерами всех 30 храмов
  • Добавлены ссылки на социальные сети (ВКонтакте, Telegram) для каждого храма
  • Все эмодзи в шаблонах темы заменены на SVG-иконки — кроссбраузерная совместимость
  • Обновлены контактные данные: адреса, телефоны, email для каждого прихода

Результат: Страница Контакты содержит карту с 30 храмами, ссылки на социальные сети, актуальные контактные данные. SVG-иконки работают одинаково во всех браузерах.

1.10.2 06 Aug 2026

Раздел Благочинный: биография, фото, контакты, /blagochinnyj/

Контекст: На сайте не было информации о благочинном церквей — посетители не могли узнать, кто руководит благочинием.

Что создано:

  • Новая страница /blagochinnyj/ — шаблон template-blagochinnyj.php
  • Биография благочинного: полное имя, должность, образование, опыт служения
  • Фотография благочинного (featured image)
  • Контактные данные: телефон, email, ссылки на социальные сети

Результат: Посетители сайта могут ознакомиться с биографией благочинного, его опытом служения и контактными данными. Раздел доступен из главного меню О благочинии.

1.10.1 06 Aug 2026

Деплой темы 1.10.0 на prod: тест и продакшн синхронизированы

Контекст: Тема версии 1.10.0 (экосистема синхронизации) была только на test — требовался деплой на prod.

Что деплоено:

  • Тема загружена на prod через FTP (hoster.by vh137)
  • Обновлённые шаблоны: template-hramy.php, template-about.php
  • Обновлённые стили: style.css
  • Версия темы на prod: 1.10.1

Результат: Продакшн-сайт работает на версии 1.10.1. Тестовая и продакшн площадки синхронизированы по кодовой базе темы.

1.10.0 06 Aug 2026

Экосистема синхронизации TEST-PROD: WP-CLI, FTP, REST API

Контекст: Не было организованного процесса синхронизации между тестовой и продуктовой площадками — деплой выполнялся вручную, без инструментов.

Что настроено:

  • FTP-деплой темы: hoster.by vh137, логин xn7sbbdl, chroot /home/xn7sbbdl/public_html/wp-content/themes/kamenec-blagochinie/
  • WP-CLI для управления WordPress: установка, обновление, миграции, массовые операции
  • Механизм синхронизации: WP REST API для переноса контента (новости, медиафайлы)
  • Резервное копирование: SQL-дампы перед каждой миграцией

Результат: Настроены механизмы деплоя и синхронизации: FTP для файлов темы, WP-CLI для управления, REST API для контента. Работа на test не влияет на prod — деплой выполняется осознанно по мере готовности.

1.9.8 06 Aug 2026

Восстановление фото благочинного в блоке Духовное руководство

Контекст: После предыдущих правок фотография благочинного пропала из блока Духовное руководство на титульной странице.

Что исправлено:

  • Восстановлена фотография благочинного в блоке Духовное руководство
  • Проверена целостность featured image для блока

Результат: Блок Духовное руководство на титульной странице отображает фото благочинного корректно.

1.9.7 06 Aug 2026

Адаптивный дизайн: исправление обрезки шапки, оптимизация под мобильные

Контекст: На мобильных устройствах шапка сайта (header) обрезалась, контент не помещался на маленьких экранах.

Что исправлено:

  • Исправлена обрезка шапки (header) на мобильных устройствах
  • Оптимизирована ширина контента для маленьких экранов
  • Проверена корректность отображения на iPhone, Android, планшетах

Результат: Сайт корректно отображается на всех размерах экрана: от смартфонов (320px) до десктопов (1920px+). Шапка не обрезается, контент не вылезает за границы экрана.

1.9.6 05 Aug 2026

Фото протоиерея Сергия Бурковского: блок Духовное руководство

Контекст: На титульной странице в блоке Духовное руководство не было фотографии благочинного — только текстовая подпись.

Что добавлено:

  • Фотография протоиерея Сергия Бурковского размещена в блоке Духовное руководство
  • Подпись: Протоиерей Сергий Бурковский — Благочинный Каменецкого благочиния

Результат: Блок Духовное руководство содержит фото и подпись благочинного. Визуально — представительный блок на титульной странице.

1.9.5 05 Aug 2026

Исправление загрузки фото и новостей: лимиты PHP на хостинге

Контекст: Критическая ошибка: фотографии больше не загружались на сайт, новости не создавались — ошибка в конфигурации PHP и лимитах хостинга.

Что исправлено:

  • Определена причина: лимит upload_max_filesize и post_max_size на хостинге hoster.by
  • Обновлены настройки PHP: upload_max_filesize = 64M, post_max_size = 128M
  • Проверена загрузка фото различных форматов (JPG, PNG, WebP)
  • Проверено создание новостей через админку WordPress

Результат: Загрузка фотографий и создание новостей работают корректно. Модераторы могут загружать файлы до 64 МБ без ограничений.

1.9.4 04 Aug 2026

Деплой на prod: глобальная замена файлов и базы данных

Контекст: Продуктовый сайт требовал глобального обновления — файлы темы и база данных устарели по сравнению с тестовой площадкой.

Что деплоено:

  • Файлы темы (PHP, CSS, JS) загружены на prod через FTP
  • База данных обновлена: новые записи, категории, меню
  • Проверена корректность работы на prod

Результат: Продуктовый сайт обновлён до актуальной версии платформы. Все новые функции (храмы, новости, галерея) доступны пользователям.

1.9.3 03 Aug 2026

Оптимизация размера сайта: WebP, сокращение с 5.5 ГБ до 1.5 ГБ

Контекст: Размер сайта на хостинге достиг 5.5 ГБ — превышение лимитов дискового пространства, замедление загрузки, высокая нагрузка на сервер.

Что сделано:

  • Все фотографии конвертированы из JPG/PNG в WebP (качество: 85%)
  • Максимальный размер изображения: 2560px по длинной стороне
  • Удалены дублирующиеся и ненужные файлы
  • Итоговый объём: ~1.5 ГБ (было ~5.5 ГБ)

Результат: Размер сайта уменьшен с 5.5 ГБ до 1.5 ГБ — снижена нагрузка на хостинг, ускорена загрузка страниц, освобождено дисковое пространство. Качество изображений сохранено (WebP 85%).

1.9.2 03 Aug 2026

Глобальный деплой с test на prod: тема, контент, меню, метаданные

Контекст: Тестовая площадка значительно обновилась — требовался перенос всех изменений на prod.

Что деплоено:

  • Все файлы темы (template-parts/, functions.php, style.css, шаблоны страниц)
  • Новые записи в БД (новости, медиафайлы, категории)
  • Обновлённые метаданные (_featured_image, _thumbnail_id)
  • Меню навигации

Результат: Продакшн-сайт полностью обновлён. Тестовая и продакшн площадки работают на одной версии платформы.

1.9.1 03 Aug 2026

Исправление лайтбокса фотогалереи: figure к data-атрибутам

Контекст: При клике на фото в фотогалерее (/galereya/) открывался пустой лайтбокс без изображения.

Что исправлено:

  • Определена причина: некорректная привязка элементов figure к JS-обработчикам
  • Исправлены data-атрибуты для передачи URL изображений в лайтбокс
  • Проверена работа лайтбокса на странице /galereya/

Результат: Лайтбокс фотогалереи работает корректно — клик по фото открывает его в полноэкранном режиме.

1.9.0 03 Aug 2026

Фотогалерея: карточки с EXIF-данными, фильтрация по годам, лайтбокс

Контекст: На сайте не было единого места для просмотра всех фотографий приходов — фото были разрознены по новостям и страницам храмов.

Что создано:

  • Страница /galereya/ — шаблон template-gallery.php
  • Карточки фотографий: обложка (WebP), дата съёмки, описание, технические данные (камера, объектив, выдержка, диафрагма)
  • Лайтбокс с EXIF-данными: при открытии фото показываются метаданные съёмки
  • Фильтрация по годам: 2020-2026

Результат: Посетители сайта могут просмотреть все фотографии приходов в единой галерее с фильтрацией по годам и техническими данными съёмки.

1.8.1 03 Aug 2026

Фотогалерея новостей: группировка по годам, оригиналы JPEG

Контекст: Галерея фотографий новостей не была создана — фото существовали только в составе отдельных новостей.

Что создано:

  • Страница /galereya/ отображает все фотографии из новостей, сгруппированные по годам
  • Каждая карточка: обложка, название, дата, ссылка на новость-источник
  • Фотографии хранятся в JPEG (без конвертации) для максимального качества
  • Фильтрация: 2020-2026

Результат: Посетители могут просмотреть все фотографии новостей, отсортированные по годам. Оригиналы в JPEG доступны для скачивания в максимальном качестве.

1.8.0 03 Aug 2026

Система работы с фотографиями: WebP-стандарт, EXIF-лайтбокс, ZIP-архивы

Контекст: Не было единого стандарта работы с фотографиями — разные форматы (JPG, PNG), разные размеры, отсутствовали технические данные при просмотре.

Что создано:

  • Единый стандарт: все загружаемые фото конвертируются в WebP (макс. 2560px, 85% качество)
  • Лайтбокс: при открытии фото показываются EXIF-данные (камера, объектив, выдержка, диафрагма)
  • ZIP-архивы: возможность скачать все фото альбома одним архивом
  • Галерея: карточки с обложками, датами, описаниями

Результат: Единый стандарт WebP обеспечивает оптимальный баланс качества и размера. Лайтбокс с EXIF-данными даёт техническую информацию о съёмке. ZIP-архивы упрощают скачивание альбомов.

1.7.7 03 Aug 2026

Перевод сайта на HTTPS: TLS-сертификат Laravel Herd

Контекст: Сайт работал по HTTP — браузер отображал предупреждение Небезопасное соединение. Clipboard API и некоторые современные API не работали.

Что сделано:

  • Настроен TLS-сертификат через Laravel Herd (самоподписанный, для разработки)
  • Все HTTP-запросы перенаправляются на HTTPS
  • Проверена корректность работы всех форм (контакты, комментарии)

Результат: Сайт работает по HTTPS. Браузер отображает замок (безопасное соединение). Clipboard API работает в безопасном контексте.

1.7.6 02 Aug 2026

Титульная страница: единый формат карточек новостей (сетка 2×2)

Контекст: Блок Новости и события на титульной странице отображал новости в текстовом формате — без обложек, без структуры.

Что сделано:

  • Карточки новостей: единый формат (обложка 16:9, заголовок, дата, excerpt)
  • Сетка 2×2 на десктопе, 1 колонка на мобильных
  • Добавлена кнопка Все новости -> /novosti/

Результат: Блок Новости и события визуально единообразен: компактные карточки с информативным содержимым. Посетитель видит последние 4 новости и может перейти к полной ленте.

1.7.5 02 Aug 2026

Титульная: фото Патриарха Кирилла с атрибуцией

Контекст: В блоке Духовное руководство не было фото Патриарха Кирилла — только текстовая подпись.

Что добавлено:

  • Фотография Святейшего Патриарха Кирилла
  • Атрибуция: указание автора фото и источника (пресс-служба Патриарха)
  • Подпись: Святейший Патриарх Московский и всея Руси Кирилл

Результат: Блок Духовное руководство содержит фото Патриарха Кирилла с корректной атрибуцией.

1.7.4 02 Aug 2026

Титульная: фото архиепископа Иоанна в блоке Духовное руководство

Контекст: В блоке Духовное руководство не было фото архиепископа Брестского и Каменецкого Иоанна.

Что добавлено:

  • Фотография архиепископа Иоанна в блоке Духовное руководство
  • Подпись: Архиепископ Брестский и Каменецкий Иоанн

Результат: Блок Духовное руководство отображает фото архиепископа Иоанна. Информационный блок стал полнее.

1.7.3 02 Aug 2026

Главное меню: новый порядок, SVG-иконки, адаптивность

Контекст: Главное меню содержало устаревший состав пунктов и не имело визуальных иконок.

Что сделано:

  • Новый порядок: О благочинии, Новости, Храмы, Контакты
  • Добавлены SVG-иконки к пунктам меню
  • Настроен hover-эффект для пунктов меню
  • Меню адаптивно: на мобильных устройствах отображается как гамбургер

Результат: Главное меню содержит 4 ключевых раздела с иконками. Навигация интуитивна — посетитель мгновенно находит нужный раздел.

1.7.2 02 Aug 2026

Раздел О благочинии: центр-хаб /about/ со ссылками на подразделы

Контекст: Не было центральной страницы с информацией о благочинии — структура, направления служения, благочинный были недоступны из одной точки.

Что создано:

  • Страница /about/ — шаблон template-about.php
  • Блок-хаб: ссылки на подразделы (Благочинный, Направления служения, Контакты)
  • Описание благочиния: миссия, история, структура
  • Информация о благочинном (биография, фото, контакты)

Результат: Страница /about/ является центральной точкой входа для информации о благочинии. Посетитель видит структуру и направления служения.

1.7.1 02 Aug 2026

Карточки храмов: исправление наслоения фотографий на /hramy/

Контекст: На странице /hramy/ фотографии храмов наслаивались друг на друга — визуальный артефакт из-за некорректных CSS-стилей.

Что исправлено:

  • Устранено наслоение фотографий: каждая карточка отображает одну фотографию
  • Добавлен overflow:hidden для контейнера карточек
  • Оптимизированы отступы между карточками

Результат: Страница /hramy/ отображает карточки 30 храмов без визуальных артефактов. Каждая карточка содержит фото, название и ссылку на детальную страницу.

1.7.0 02 Aug 2026

CPT Храмы: 30 карточек, детальные страницы, JSON-LD для SEO

Контекст: На сайте не было информации о храмах — 30 приходов не имели страниц, карточек, контактных данных.

Что создано:

  • Custom Post Type: temple (архив /hramy/)
  • Карточки храмов: фото, название, адрес, ссылка на детальную страницу
  • Детальные страницы: полная информация (история, фото, контакты, настоятель)
  • JSON-LD структурированные данные для SEO-индексации
  • 30 храмов созданы и заполнены контентом

Результат: Платформа содержит 30 страниц храмов с полной информацией. Страницы индексируются поисковиками благодаря JSON-LD разметке.

1.6.1 02 Aug 2026

Подпись логотипа: Брестская епархия, Белорусская Православная Церковь

Контекст: Логотип в шапке сайта не имел текстовой подписи с наименованием юрисдикции.

Что сделано:

  • Подпись логотипа: Брестская епархия, Белорусская Православная Церковь
  • Шрифт подписи: Times New Roman, 12px, цвет #666
  • Выравнивание: по центру под логотипом

Результат: Шапка сайта содержит логотип и подпись с полным наименованием епархии. Визуально — официальный представительный вид.

1.5.3 01 Aug 2026

Обновление PHP до 8.4 на продакшн-сервере

Контекст: Продуктовый сайт работал на PHP 8.2 — требовалось обновление до актуальной версии для совместимости с WordPress 7.x.

Что сделано:

  • PHP обновлён на продуктовом сайте с 8.2 до 8.4 (PHP 8.4.23)
  • Обновление через панель управления хостинга hoster.by
  • Проверена корректность работы WordPress и всех плагинов на PHP 8.4

Результат: Продуктовый сайт работает на PHP 8.4 — актуальная стабильная версия с улучшениями производительности и безопасности.

1.5.2 01 Aug 2026

Обновление WordPress до 7.0.2 на test и prod

Контекст: WordPress на обоих сайтах требовал обновления до актуальной версии 7.0.2 — доступны исправления безопасности и новые функции.

Что сделано:

  • WordPress обновлён до 7.0.2 на тестовой площадке и на продуктовом сайте
  • Обновление через WP-CLI: wp core update
  • Проверена корректность работы после обновления

Результат: Оба сайта работают на WordPress 7.0.2 — актуальная стабильная версия.

1.5.1 01 Aug 2026

Обновление продакшн-сайта: начальная синхронизация с test

Контекст: Продуктовый сайт значительно отставал от тестовой площадки — требовалось базовое обновление.

Что сделано:

  • Обновлён продуктовый сайт xn—-7sbbdliaae3aaodrirjkg5m4a.xn--90ais
  • Загружены актуальные файлы темы с test на prod
  • Обновлена база данных на prod

Результат: Продуктовый сайт обновлён до актуальной версии. Тестовая и продакшн площадки синхронизированы по базовой функциональности.

1.5.0 01 Aug 2026

Установка WP-CLI 2.12.0: командный инструмент управления WordPress

Контекст: Управление WordPress выполнялось только через веб-интерфейс админки — медленно, неудобно для массовых операций.

Что сделано:

  • Установлен WP-CLI 2.12.0 — командный интерфейс для управления WordPress
  • Настроены пути: wp.bat в Laravel Herd
  • Проверена работоспособность: wp core version, wp plugin list, wp post list

Результат: WP-CLI доступен для управления WordPress через командную строку. Массовые операции (обновление постов, создание категорий, импорт данных) выполняются за секунды вместо часового ручного ввода через браузер.

1.4.3 01 Aug 2026

Перенос данных с хостинга на тестовую площадку: база данных, файлы

Контекст: Актуальные данные (база данных, медиафайлы) находились только на хостинге hoster.by — тестовая площадка имела устаревшие данные.

Что сделано:

  • Загружена актуальная база данных с хостинга на тестовую площадку
  • Перенесены файлы темы и медиафайлы
  • Настроен доступ к БД: MariaDB 10.11.11, хост 127.0.0.1:3306

Результат: Тестовая площадка работает с актуальными данными с хостинга. Разработчик может тестировать изменения на реальных данных.

1.4.2 31 Jul 2026

Миграция с OSPanel на Laravel Herd: nginx + PHP 8.4

Контекст: Локальная среда разработки работала на OSPanel (Apache + PHP) — требовалась миграция на Laravel Herd для унификации окружения с продакшн.

Что сделано:

  • Локальная среда перенесена с OSPanel на Laravel Herd (nginx + PHP 8.4)
  • Настроены домены: xn—-7sbbdliaae3aaodrirjkg5m4a.xn--90ais через Herd DNS
  • Настроена база данных: MariaDB 10.11.11, хост 127.0.0.1:3306
  • Перенесены данные: база данных, файлы темы, медиафайлы

Результат: Локальная среда разработки унифицирована с продакшн: nginx, PHP 8.4, MariaDB. Домен xn—-7sbbdliaae3aaodrirjkg5m4a.xn--90ais работает через Herd DNS.

1.2.1 07 Jul 2026

Обновление WordPress 6.8.2-7.0 и PHP 8.2-8.3

Контекст: WordPress и PHP на площадке требовали мажорных обновлений.

Что сделано:

  • WordPress обновлён с 6.8.2 до 7.0 (мажорное обновление)
  • PHP обновлён с 8.2 до 8.3 (PHP 8.3.x)
  • Проверена совместимость плагинов и темы с новыми версиями

Результат: Платформа работает на актуальных версиях WordPress 7.0 и PHP 8.3 — доступны новые функции, исправления безопасности, улучшения производительности.

1.2.0 07 Jul 2026

Страница версионирования платформы: создание, version в footer

Контекст: На сайте не было информации о текущей версии платформы — посетители и разработчики не видели, какая версия установлена.

Что создано:

  • Страница /platform-version/ — отображение текущей версии платформы
  • Версия отображается в footer сайта: Версия платформы X.X.X
  • Начало ведения журнала версий

Результат: Посетители и разработчики видят текущую версию платформы. Начата практика документирования изменений.

1.1.0 07 Jul 2026

Полная переработка дизайна: кастомная тема kamenec-blagochinie

Контекст: Сайт работал на стандартной теме Spacious — generic-дизайн, не соответствующий церковной тематике.

Что создано:

  • Создана кастомная тема kamenec-blagochinie (на базе Underscores/starter)
  • Дизайн: минималистичный, чистый, соответствующий православной стилистике
  • Цвета: тёмно-синий (#1a237e), белый, серый — консервативная палитра
  • Типографика: Times New Roman / Georgia для заголовков (церковный шрифт), sans-serif для текста
  • Адаптивная вёрстка: корректное отображение на всех устройствах

Результат: Сайт получил уникальный дизайн, соответствующий церковной тематике. Кастомная тема обеспечивает полный контроль над вёрсткой и стилями.

1.0.0 01 Jan 2026

Первоначальный запуск WordPress-сайта: Spacious, базовая настройка

Что создано:

  • Установлен WordPress на хостинге hoster.by (vh137)
  • Тема по умолчанию: Spacious (standard WordPress theme)
  • Плагины: Akismet (антиспам), Disable Comments, Limit Login Attempts
  • Созданы базовые страницы: главная, новости, контакты
  • Настроен домен: xn—-7sbbdliaae3aaodrirjkg5m4a.xn--90ais

Результат: Работает базовый WordPress-сайт с темой Spacious. Доступны основные функции: публикация новостей, управление страницами, комментарии.

Разработка и поддержка

Разработка IPD.by — студия веб-разработки
Платформа Каменецкое благочиние
Продукт CMS для управления 30 приходами