Синхронизация цен WooCommerce в превью WhatsApp

Синхронизация цен WooCommerce в превью WhatsApp означает, что число на карточке берётся из вашего каталога в момент генерации карточки, а не зашито в картинку, которую кто-то сделал однажды. Когда это так, остаётся единственный вопрос — когда WhatsApp повторно считывает ссылку, и именно это магазин контролировать не может.

Короткий ответ

Цена может появиться в превью, только если изображение построено из актуальных данных товара. У статичного изображения товара нет цены, которую можно показать, — никогда; у карточки, свёрстанной один раз, будет та цена, которая была в тот день. WooCommerce по умолчанию не отдаёт изображение с привязанной ценой, поэтому жалоба «старая цена в превью» — это на самом деле два вопроса:

  1. Знает ли карточка текущую цену? — это проектное решение, и именно его вы можете исправить.
  2. Перечитала ли платформа страницу с момента изменения цены? — это часы WhatsApp, а не ваши.

Почему цена устаревает

Причина Что вы видите Почему это происходит
Тег указывает на изображение товара Цены нет вообще В фотографии товара нет цены
Карточка была создана один раз Цена на день дизайна Ничто её не перегенерирует
Акция закончилась Зачёркнутая цена для скидки, которая уже не действует Изображение по-прежнему несёт старый бейдж
Кэш страницы отдаёт старый HTML Снова старая карточка Краулер так и не видит новый URL og:image

Только первые три пункта касаются карточки. Четвёртый — про ваш слой кэширования, и снаружи он выглядит точно так же, поэтому порядок проверки в Instant WhatsApp Image Update for WooCommerce имеет значение.

Что на самом деле содержит синхронизированная карточка

FastOG подписывает URL обложки при каждом запросе, а данные берутся из актуального товара:

Элемент карточки Источник Примечание
Цена get_price() Для товара со скидкой это и есть цена со скидкой
Цена «было» (зачёркнутая) обычная цена Передаётся только когда товар действительно на распродаже — «было», равное текущей цене, это зачёркивание, которого никто не заслужил
Бейдж распродажи состояние распродажи товара Появляется и исчезает вместе с распродажей
Наличие статус наличия Отражает каталог на момент рендеринга
Фото сначала главное изображение, затем галерея Компонуется внутри карточки, а не обрезается платформой

В этом и разница между «динамической» и действительно динамической: значения — не заглушки, которые заполнил дизайнер, они считываются из вашего магазина при каждом построении карточки.

Как работает «синхронизация» в обоих направлениях

Каталог → карточка. Каждое значение выше считывается во время рендеринга. Измените цену — и при следующем рендеринге отобразится новая; здесь нет шага экспорта и нет файла, который нужно повторно загружать.

Карточка → кеш. Каждое значение также передаётся внутри подписанного URL обложки. Поэтому изменение цены меняет URL — а значит, старое изображение больше не адресуемо, CDN нечего отдавать устаревшее, и сброс кеша не нужен. Ничто другое в этой категории так не работает, потому что самостоятельно размещаемый плагин привязывает своё изображение к имени файла, которое никогда не меняется.

Карточка → Facebook. Сохранение товара запускает нативный вебхук WooCommerce product.updated, и FastOG ставит в очередь повторный скрейпинг Meta для постоянной ссылки этого товара, чтобы Facebook заменил закешированную карточку, а не ждал неделями. См. Принудительное обновление кеша Open Graph в Facebook.

Карточка → WhatsApp. Ничего нельзя протолкнуть. Правильная карточка ждёт следующего чтения.

Особый случай запланированной распродажи

Распродажа, которая начинается в полночь, когда никто не трогает товар, вообще не вызывает вебхук — деталь, которая ломает любой дизайн «мы обновляем при сохранении», включая наш пинг в Facebook.

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

Убедитесь, что цена синхронизирована

Цена видна в самом URL обложки, поэтому проверить это можно без отладчика:

bash
# What the page is serving right now
curl -s https://your-store.com/product/example | grep -o 'og:image[^>]*' | head -1

# Open that cover URL in a browser and compare the number against the product page.

Если параметры URL и отрисованная карточка содержат актуальную цену, и страница товара показывает то же самое, значит сторона магазина синхронизирована, а любая оставшаяся неактуальность — это кэш платформы. Если URL всё ещё содержит старую цену, кэш страницы отдаёт HTML до правки — очистите его.

Чтобы увидеть всё целиком, вставьте URL товара в See Your Links The Way Buyers Do: инструмент читает актуальные теги и отрисовывает обложку из тех же данных товара — рядом с тем, что платформы показали бы сегодня.

FAQ

Отдавайте og:image, содержащий цену, — то есть изображение, сгенерированное из вашего каталога, а не статичную фотографию. WhatsApp отрисовывает то изображение, на которое указывает тег, в размере 1200×630; цена появится, только если она была нанесена на это изображение.

Почему в превью всё ещё отображается старая цена после окончания акции?

Две вероятные причины: изображение, которое отдаёт страница, не изменилось (кэш страницы или статичное изображение), либо WhatsApp показывает закэшированное превью, сделанное до правки. Сначала проверьте текущий URL og:image — если цена там тоже старая, проблема в магазине; если актуальная, проблема в WhatsApp.

На карточке отображается акционная или обычная цена?

Акционная — именно её WooCommerce сообщает как текущую цену — вместе с обычной ценой в качестве compare-at, и только когда товар действительно участвует в акции.

На всех тарифах отрисовываются цена и бейдж акции?

Да. Поля шаблона в FastOG не привязаны к тарифу: цена, compare-at цена и бейджи наличия доступны на любом тарифе. Тарифы различаются типами страниц, лимитом элементов и набором шаблонов, а не тем, что может содержать обложка.

Для Facebook FastOG запрашивает повторный скрейпинг после обновления товара. Для WhatsApp, LinkedIn и X следующее чтение происходит по собственному графику каждой платформы; для этих платформ не заявляется ни публичных гарантий по срокам, ни программного API обновления.

Что если я меняю цену, но не шаблон?

Это обычный случай, и он работает: шаблон задаёт макет, каталог поставляет значения. Ничего не нужно перепроектировать, и никакое изображение не нужно экспортировать заново.

Только пока сохраняется закэшированное превью платформы. URL обложки меняется вместе с каталогом, поэтому первое свежее чтение получит карточку после акции.

Есть ли бесплатный тариф?

Да. Бесплатный тариф Community покрывает до 100 элементов на страницах товаров, категорий, магазина и записей блога с пятью базовыми шаблонами плюс шаблоны товаров Black Friday и Seasonal Offer. Его обложки чистые — ни один тариф не содержит водяного знака, включая Community. Community рендерится на общем сервере Community и ограничен лимитами запросов по магазину/IP, а не брендингом. Платные тарифы используют выделенный сервер, отдельный от Community, повышают лимит элементов и открывают дополнительные шаблоны и возможности (бейджи рейтинга начиная с Starter, маппинг метаполей начиная с Pro, ограниченные правилами области и приоритетный рендеринг начиная с Scale). Платные тарифы включают 14-дневный пробный период без требования кредитной карты.

Попробуйте бесплатно — регистрация не требуется

Предпросмотр и тестирование динамических OG-изображений за секунды.

Открыть бесплатный тестер OG-изображений

From Us

A BeCaSimulations site