Формат Lana Pages Full JSON: создание и обновление страниц
Васильева Светлана — маркетолог в Челябинске, основатель Лана Диджитал · маркетинг с 2010 года · обучение ИИ · консультации
Публикация

Формат Lana Pages Full JSON: создание и обновление страниц

Релиз:

Формат Lana Pages Full JSON используется для создания и обновления страниц WordPress вместе с контентом, SEO, шаблоном и метаданными. Его задача — сделать импорт предсказуемым: до применения должно быть понятно, какой объект создаётся, какой обновляется и какие поля будут затронуты.

Создание новой страницы

Для новой страницы используется operation: create и id: 0 или null. Требовать существующий ID неправильно, потому что объекта ещё нет.

{
  "id": 0,
  "operation": "create",
  "slug": "platform-docs",
  "status": "publish",
  "title": "Документация платформы"
}

После импорта WordPress назначит новый ID. Slug должен быть уникальным.

Обновление существующей страницы

Operation: update требует реальный ID существующей страницы. Пакет лучше формировать на основе свежего экспорта, чтобы не потерять метаполя.

{
  "id": 123,
  "operation": "update",
  "slug": "platform-docs",
  "status": "publish"
}

Когда менять slug

Slug является частью URL. Для обычной правки текста его сохраняют. Изменение допустимо только по отдельной задаче и с настройкой 301-редиректа.

Статусы страниц

  • publish — доступна посетителям.
  • draft — черновик.
  • private — ограниченный доступ.
  • pending — ожидает проверки.

Для больших пакетов новые страницы безопаснее сначала создавать как draft.

Шаблон страницы

Page_template должен принимать только допустимое значение: default, page.php или зарегистрированный шаблон темы. Произвольные значения нельзя массово записывать в _wp_page_template.

Приоритет источников должен быть однозначным: верхнее поле, затем meta_entries, затем старое meta.

Обычные и защищённые операции

Обычные операции — create и update. Защищённые — delete, trash, restore и validate_only.

Create нельзя направлять в валидатор защищённых операций, иначе импортёр ошибочно потребует ID.

Минимальная структура

{
  "format": "lana_pages_full_json",
  "version": 1,
  "post_type": "page",
  "items": [
    {
      "id": 0,
      "operation": "create",
      "slug": "new-page",
      "status": "draft"
    }
  ]
}

Проверка перед импортом

  • Проверить синтаксис JSON.
  • Сверить format, version и post_type.
  • Проверить пары operation и id.
  • Найти дубли slug.
  • Проверить page_template.
  • Сверить SEO и meta.
  • Исключить неожиданные удаления.

Типичные ошибки

«Для операции нужен ID» при создании

Create ошибочно обрабатывается как update или защищённая операция.

Slug изменился автоматически

В WordPress уже существует объект с таким адресом.

После импорта сменился шаблон

Источники page_template противоречат друг другу.

Контент выводится как сырой код

HTML экранирован дважды или записан не в то поле.

Частые вопросы

Можно ли использовать null вместо нулевого ID?

Да, если версия импортёра это поддерживает. Id: 0 обычно проще проверять автоматически.

Нужно ли сохранять ID при переносе на другой сайт?

Для create на другом сайте — нет. Для update на том же сайте — да.

Можно ли смешивать create и update?

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

Ошибка, из-за которой create требовал ID

На одном из этапов разработки новая страница попадала в общий валидатор защищённых операций. Валидатор ожидал существующий объект и закономерно требовал ID. Исправление заключалось в разделении маршрутов: create и update обрабатываются как штатные операции, а удаление, корзина, восстановление и validate-only проходят отдельный контроль.

Как платформа защищает шаблон страницы

Поле page_template нормализуется до допустимого значения. Система принимает default, page.php или реально зарегистрированный шаблон темы. Это предотвращает массовую запись произвольного значения в _wp_page_template и потерю корректного отображения страниц.

Связанные материалы

Lana Pages Full JSON полезен строгой логикой операций: create создаёт объект без существующего ID, update изменяет конкретную страницу, а опасные действия отделены от обычного импорта.

LD Конец протокола Система готова
Вернуться в базу