Современный WordPress активно использует блочный редактор Gutenberg, где каждый блок представляет собой самостоятельную единицу контента с собственными атрибутами. Однако при миграциях, сбоях базы данных или некорректных обновлениях часто происходит частичная или полная потеря логики блоков: HTML-комментарии исчезают, атрибуты обрезаются, а визуальное представление превращается в набор несвязанных фрагментов. Восстановление таких данных вручную трудоёмко и не всегда возможно. На помощь приходят нейросетевые методы, способные реконструировать исходную структуру по остаточным следам в post_content и ревизиях.
Каждый блок Gutenberg в post_content хранится в виде HTML-комментария: <!-- wp:paragraph {"align":"center"} -->. Даже если блок повреждён, некоторые атрибуты могут сохраниться. Например, при удалении части JSON остаётся открывающий комментарий или его фрагмент. Нейросеть анализирует такие остатки, сопоставляя их с известными шаблонами блоков. Практический пример: если найден фрагмент {"level":2, можно с высокой вероятностью предположить, что это блок заголовка с уровнем 2.
WordPress хранит ревизии в таблице wp_posts с типом записи revision. Каждая ревизия содержит полную копию post_content на момент сохранения. Даже если текущая версия утратила блоки, в старых ревизиях они могут остаться нетронутыми. Нейросеть сравнивает последовательность ревизий, выявляет, какие блоки были добавлены, изменены или удалены, и восстанавливает недостающие элементы по их сериализованным атрибутам. Например, если в ревизии 5 был блок галереи с ID изображений, а в ревизии 6 он исчез, модель может предложить восстановить его на основе оставшихся ссылок.
Процесс включает несколько этапов: сбор данных из post_content и ревизий, извлечение остаточных атрибутов, обучение модели на парах «повреждённый блок — оригинальный блок». Используются архитектуры типа Transformer, которые хорошо работают с последовательностями. Модель предсказывает缺失ные части JSON-атрибутов и восстанавливает HTML-комментарии. После этого специальный парсер собирает блоки обратно в валидный post_content.
Рассмотрим пример: в post_content остался фрагмент <!-- wp:image {"id":123,"sizeSlug":"large" без закрывающей скобки. Нейросеть, обученная на типичных атрибутах блока image, дополнит JSON до {"id":123,"sizeSlug":"large","linkDestination":"none"} и восстановит комментарий. Другой пример: в ревизии найдена сериализованная строка a:2:{s:4:"text";s:5:"Hello";s:5:"align";s:6:"center";}, что соответствует блоку paragraph. Модель преобразует её в корректный блок Gutenberg.
Для успешной реконструкции проверьте:
| Тип блока | Остаточные атрибуты | Метод восстановления |
|---|---|---|
| Paragraph | {"align":"center"} | Дополнение JSON по шаблону |
| Image | {"id":123} | Предсказание sizeSlug и link |
| Heading | {"level":2} | Восстановление content по тексту |
Нейросетевая реконструкция блоков Gutenberg — мощный инструмент для восстановления утраченного контента. Анализ остаточных атрибутов в post_content и следов сериализации в ревизиях позволяет с высокой точностью воссоздать исходную структуру. Применение таких методов сокращает время восстановления и минимизирует потери данных.







