← На главную | ← Назад к блогу

После обмена с 1С удаляются SEO-поля: как защитить данные

После обмена с 1С удаляются SEO-поля: как защитить данные

Если после обмена с 1С удаляются SEO-поля, проблема обычно находится в правилах владения данными: импорт обновляет свойства, метаполя, текст или символьный код значением из 1С, включая пустое. Возможен и более серьёзный сценарий — товар удаляется и создаётся заново, поэтому теряет все ручные данные.

Первое действие — остановить повторный обмен или работать на копии, сохранить резервную копию и выяснить, какие именно поля и элементы изменяются.

Определите тип потерянных данных

В Битрикс SEO может храниться в шаблонах метаданных инфоблока и раздела, индивидуальных IPROPERTY_VALUES, обычных свойствах, PREVIEW_TEXT, DETAIL_TEXT, CODE или пользовательской таблице. Механизм восстановления и защиты для них различается.

Составьте список: поле, старое значение, ID товара, XML_ID, время изменения и источник заполнения.

Проверьте, обновился или пересоздался товар

Сравните внутренний ID до и после. Если он новый, проблема не в отдельном SEO-поле: обмен потерял связь по внешнему идентификатору. Сначала восстановите стабильный XML_ID и карту соответствия. Иначе любые ручные данные будут исчезать снова.

Если ID прежний, смотрите обработчики импорта и настройки обновления.

Пустое значение тоже может быть командой

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

Проверьте фактический CommerceML-файл или другой пакет до загрузки.

Разделите владельцев полей

Например, 1С управляет названием, ценой, остатком и базовыми характеристиками, а сайт — SEO-title, description, H1, текстом категории и символьным кодом. Либо название принадлежит редакции сайта, если оно оптимизировано и не должно повторять номенклатуру.

Проверьте пользовательские обработчики

События до и после добавления элемента могут генерировать CODE, очищать свойства или пересчитывать метаданные при любом обновлении. Логика, написанная для нового товара, иногда запускается и для существующего. Добавьте условия и журнал, не изменяя ядро Битрикс.

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

Как восстановить потерянное

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

Если резервной копии нет, используйте выгрузки, поисковые кеши и редакционные документы как вспомогательные источники, проверяя актуальность вручную.

Защитите следующий обмен

Выполните импорт одной позиции с заполненным SEO, пустым значением из 1С, переименованием и повторным запуском. Сравните все поля до и после автоматически. Введите порог остановки: неожиданное массовое очищение не должно доходить до полного каталога.

Контроль после запуска

  1. Создать резервную копию.
  2. Сохранить выгрузку SEO-полей.
  3. Запустить малую партию.
  4. Сравнить изменения.
  5. Проверить страницы и кеш.
  6. Повторить обмен.
  7. Настроить регулярный отчёт об очистках.

Алиса может найти участок импорта, который очищает поля, и настроить разделение данных между 1С и Битрикс без правки ядра.

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

Комментарии

Комментариев пока нет. Будьте первым!

Оставить комментарий

← Вернуться к списку статей