Мгновенное обновление изображения для 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 делает этот запрос за вас:
- WooCommerce отправляет свой нативный вебхук
product.updated/product.created(в полезной нагрузке присутствуетpermalink). - FastOG обновляет запись каталога для магазина, чтобы следующая обложка была построена на актуальных данных.
- Для URL страницы этого товара ставится в очередь задача
RefreshMetaPreview. Она ставится в очередь, а не выполняется сразу — полная синхронизация каталога не должна добавлять по одному блокирующему вызову к Meta на каждый элемент — и она дедуплицируется, поэтому повторное сохранение одного и того же товара не расходует лимит запросов Meta. - Задача вызывает эндпоинт скрейпинга Meta с токеном доступа приложения, и Meta заменяет свою кэшированную копию превью для этой страницы.
По своей природе это выполняется по мере возможности. Если Meta медлит, отказывает или ограничивает частоту запросов, синхронизация всё равно завершается успешно: тег на вашей странице уже корректен, и единственная цена — Meta обновит данные по своему собственному графику, а не сразу.
Это не обновляет WhatsApp, LinkedIn или X, потому что ни одна из них не предоставляет API для обновления чего-либо. Это не ограничение FastOG — это отсутствие эндпоинта на другой стороне.
Проверяйте в правильном порядке
Если превью не обновляется, идите по этому списку, а не гадайте:
# 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 немедленно обновить превью ссылки?
Нет. WhatsApp не предоставляет ни endpoint для обновления, ни отладчика, а кэшированное превью хранится в приложении получателя. Вы можете лишь убедиться, что правильное изображение будет ждать следующего чтения.
Как долго WhatsApp хранит превью ссылки?
Опубликованных данных нет, и узнать это невозможно — всё зависит от получателя и устройства. Считайте, что превью живёт «пока 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-дневный пробный период без требования кредитной карты.
Связанные материалы
- Не отображается превью ссылки в WhatsApp? Исправляем og:image
- Руководство по кэшу социальных превью: Facebook, WhatsApp, LinkedIn, X, Slack и Discord
- Принудительное обновление кэша Open Graph в Facebook
- Синхронизация цен WooCommerce в превью WhatsApp
- Как кэшировать OG-изображения
- Размер OG-изображения: почему 1200×630
- Интеграция с WooCommerce: FastOG для WooCommerce
Попробуйте бесплатно — регистрация не требуется
Предпросмотр и тестирование динамических OG-изображений за секунды.
Открыть бесплатный тестер OG-изображений