Мгновенное обновление изображения для WhatsApp в WooCommerce

Мгновенное обновление изображения для WhatsApp в WooCommerce означает, что правильная карточка готова в момент сохранения товара, а не то, что WhatsApp перечитывает ссылку по команде. Никто не может заставить WhatsApp перечитать ссылку: он кэширует превью в приложении получателя и не предоставляет API для обновления. Вы контролируете всё на стороне магазина, и этого достаточно, чтобы следующий человек, поделившийся ссылкой, увидел актуальный товар, цену и фото.

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

В превью WhatsApp есть двое часов, и только одни из них ваши.

Часы Кому принадлежат Могут ли быть мгновенными?
og:image, который отдаёт ваша страница Вам (магазину) Да — именно это и нужно исправить
WhatsApp читает страницу и кэширует прочитанное WhatsApp, для каждого получателя Нет — ни API, ни отладчика, ни обходного пути

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

Почему ваше обновление не отображается

Между «я изменил цену» и «превью изменилось» находятся четыре отдельных кеша. Продавцы почти всегда винят не тот из них.

# Кеш Ключ Что действительно его очищает
1 Кеш страниц вашего магазина / CDN URL страницы очистка кеша страниц
2 Кеш превью ссылок WhatsApp ссылка, которой поделились ничего — он истекает по расписанию WhatsApp
3 Копия байтов изображения в WhatsApp URL изображения новый URL изображения
4 Ваш CDN изображений / кеш рендеринга URL изображения новый URL изображения или его очистка

Строка 1 — та, которую упускают. Закешированная HTML-страница по-прежнему содержит старый URL og:image, поэтому даже идеально пересобранная карточка никогда не будет обнаружена. Сначала очистите кеш страниц, затем смотрите на остальное.

Строки 3 и 4 — причина, по которой добавление версии к URL изображения является единственным надёжным способом сброса кеша: новый URL изображения — это промах кеша везде одновременно.

Часть про WooCommerce: ваш тег не должен устаревать

В WooCommerce проблема с тегом обычно сводится к одному из двух случаев, и ни один из них не является виной WhatsApp:

  • Тега og:image вообще нет. WordPress и WooCommerce не выводят его для product, product_cat или страницы магазина. Его добавляет ваш SEO-плагин — и для товара он берёт статическое изображение товара.
  • Тег есть, но указывает на фиксированный файл. URL статического изображения не может измениться вместе с ценой. Каждый репост после изменения заново кэширует ту же устаревшую картинку.

FastOG идёт другим путём. Обложка — это подписанный URL, в query-параметрах которого содержатся значения, породившие его, и они читаются из живого каталога при каждом запросе: название товара, текущая цена (get_price() — цена со скидкой для товара со скидкой), зачёркнутая цена «было», бейдж распродажи, рейтинг, наличие и фотография товара.

Отсюда следует вывод, который стоит сформулировать прямо: изменение цены — это изменение URL. Старый URL больше не описывает товар, поэтому CDN нечего отдавать как устаревшее, и при следующем запросе происходит повторный рендеринг. Никаких хаков для сброса кэша, никаких чек-листов «а я его очистил?».

Что происходит при нажатии «Сохранить» на товаре

Для Facebook — единственной платформы, которая позволяет любому отправить запрос — FastOG делает этот запрос за вас:

  1. WooCommerce отправляет свой нативный вебхук product.updated / product.created (в полезной нагрузке присутствует permalink).
  2. FastOG обновляет запись каталога для магазина, чтобы следующая обложка была построена на актуальных данных.
  3. Для URL страницы этого товара ставится в очередь задача RefreshMetaPreview. Она ставится в очередь, а не выполняется сразу — полная синхронизация каталога не должна добавлять по одному блокирующему вызову к Meta на каждый элемент — и она дедуплицируется, поэтому повторное сохранение одного и того же товара не расходует лимит запросов Meta.
  4. Задача вызывает эндпоинт скрейпинга Meta с токеном доступа приложения, и Meta заменяет свою кэшированную копию превью для этой страницы.

По своей природе это выполняется по мере возможности. Если Meta медлит, отказывает или ограничивает частоту запросов, синхронизация всё равно завершается успешно: тег на вашей странице уже корректен, и единственная цена — Meta обновит данные по своему собственному графику, а не сразу.

Это не обновляет WhatsApp, LinkedIn или X, потому что ни одна из них не предоставляет API для обновления чего-либо. Это не ограничение FastOG — это отсутствие эндпоинта на другой стороне.

Проверяйте в правильном порядке

Если превью не обновляется, идите по этому списку, а не гадайте:

bash
# 1. Does the page still serve the OLD tag? (page cache — cache row 1)
curl -s https://your-store.com/product/example | grep -i 'og:image'

# 2. Is that image URL reachable without credentials? (cache row 3)
curl -I "https://...the-og-image-url-from-step-1..."

# 3. Did the image URL change after the edit? Compare with the URL from before.

Если на шаге 1 всё ещё отображается URL до правки, ничто дальше не поможет — очистите кеш страницы. Если на шаге 1 отображается новый URL, а шаг 2 возвращает 200 OK с image/png, значит на стороне магазина всё правильно, и вы смотрите на строку 2 кеша — это часы WhatsApp.

Хотите увидеть все четыре строки снаружи? Вставьте URL товара в See Your Links The Way Buyers Do — сервис загружает страницу так же, как это делает краулер, читает актуальные теги и отображает результат так, как его показывают WhatsApp, X и Messenger, рядом с обложкой FastOG, построенной из тех же данных товара. Без регистрации.

Помогает ли плагин сброса кеша или ?v=2?

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

Превью кешируется для той ссылки, которой поделились. У URL, которым никто никогда не делился, нет закешированного превью — поэтому добавление меняющейся строки запроса (?v=2) — такой распространённый приём. Он работает, но обходится вам дорого: ссылка, которой поделились, больше не является вашим каноническим URL товара, поисковые системы видят второй адрес, а аналитика разделяет трафик.

FastOG применяет тот же механизм на уровень ниже, где он ничего не стоит. URL страницы остаётся каноническим; меняется только URL изображения вместе с содержимым. Так что старая обложка не может быть отдана снова, а ссылка, которой вы делитесь, по-прежнему ведёт на страницу товара, которую вы хотите индексировать.

Что невозможно исправить и почему мы об этом говорим

  • WhatsApp кэширует превью в приложении получателя. Нет ни API, ни отладчика, ни инструмента — включая наш, — который мог бы до него добраться.
  • LinkedIn и X также не предоставляют документированного API для программной инвалидации. Их краулеры перечитывают данные по собственному графику; не воспринимайте стороннюю оценку сроков как гарантию платформы.
  • Facebook — исключение и единственная платформа, которую FastOG пингует за вас. Механику см. в разделе Принудительное обновление кэша Facebook Open Graph.

Вендор, который утверждает, что обновляет WhatsApp, описывает поведение Facebook и надеется, что вы не проверите. Мы предпочитаем дать вам точную карту.

FAQ

Нет. WhatsApp не предоставляет ни endpoint для обновления, ни отладчика, а кэшированное превью хранится в приложении получателя. Вы можете лишь убедиться, что правильное изображение будет ждать следующего чтения.

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

Почему у меня превью обновилось, а у клиента — нет?

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

Изменение URL товара заставляет превью обновиться?

У URL, который никто не отправлял, нет кэшированного превью, так что да — ценой второго адреса для того же товара. Изменение URL изображения даёт тот же эффект, не затрагивая ваш постоянный URL, — именно так работает FastOG.

Нужен ли плагин, или я могу отредактировать тему сам?

Статический og:image в вашей теме гораздо лучше, чем ничего, и это бесплатно. Чего он не может — отличаться для каждого товара без ручного создания изображения для каждого товара — или отслеживать изменение цены. Именно в этот момент динамическая обложка окупает себя.

Мой сайт не на FastOG. Поможет ли что-то из этого?

Да. Четыре кэша, порядок проверки и ограничения платформ — это то, как ведут себя платформы, а не FastOG. Пройдитесь по списку с помощью curl и отладчиков.

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

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

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

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

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

From Us

A BeCaSimulations site