Импорт и экспорт WordPress через JSON: зачем нужна управляемая схема
JSON сам по себе не делает перенос WordPress безопасным. Без правил операций и строгой структуры он превращается в ещё один способ массово записать ошибочные данные. Управляемая схема нужна для того, чтобы заранее понимать, что создаётся, что обновляется и какие связи должны сохраниться.
Какие данные приходится переносить
У страницы или записи есть не только title и content. Реальный объект WordPress включает ID, slug, статус, даты, таксономии, изображения, SEO и метаполя. WooCommerce добавляет атрибуты, вариации, цены, остатки и галерею.
Почему CSV подходит не для всего
CSV удобен для плоских таблиц, но сложные вложенные структуры в нём быстро становятся нечитаемыми. JSON естественно хранит массивы, объекты и связанные поля, поэтому лучше подходит для полного пакета страницы, записи или товара.
Операция важнее содержимого
Одинаковый набор полей может означать создание нового объекта или обновление существующего. Поэтому операция должна быть явной.
{
"id": 0,
"operation": "create",
"slug": "new-page"
}
{
"id": 123,
"operation": "update",
"slug": "existing-page"
}
Для create существующий ID не нужен. Для update он обязателен. Смешение этих правил приводит к дублям или ошибкам поиска объекта.
Что делает схему управляемой
- известный format и version;
- явный post_type;
- ограниченный список операций;
- валидация обязательных полей;
- нормализация шаблонов и slug;
- защита сериализованных метаданных;
- сводка изменений до применения.
Как избежать скрытой очистки данных
Одна из самых неприятных ошибок возникает, когда поле отсутствует в пакете или передано пустым, а импортёр очищает существующее значение. Поэтому точечное обновление лучше формировать из свежего экспорта: ненужные поля сохраняются в исходном виде, а изменяются только выбранные.
Работа с медиа
URL изображения не всегда достаточно. Для полного переноса нужны alt, title, caption и description. На другом домене также требуется медиапакет или доступный исходный файл. Иначе запись импортируется, но останется без изображения.
WooCommerce и вариации
У вариативного товара важно сохранить связь вариаций с родителем, атрибуты, SKU и цены. При полной пересборке вариаций операция должна быть явной, а дублирующиеся SKU — обнаруживаться до импорта.
Проверка до и после
- Проверить синтаксис JSON.
- Сверить format, version и post_type.
- Проверить количество items.
- Проверить операции и ID.
- Найти дубли slug и SKU.
- Выполнить импорт на staging.
- Сделать повторный экспорт и сравнение.
Практический вывод из разработки платформы
Самыми опасными оказались не явные ошибки JSON, а логически правдоподобные пакеты: корректный синтаксис, но неверная операция, потерянный slug или пустое метаполе. Поэтому синтаксической проверки недостаточно — нужны зарегистрированные проверки бизнес-правил.
Связанные материалы
Управляемая JSON-схема — это контракт между экспортом, обработкой и импортом. Она не исключает ошибки полностью, но делает их обнаруживаемыми до того, как изменения попадут на рабочий сайт.