WooCommerce-prissynk i WhatsApp-förhandsvisningen
En WooCommerce-prissynk i WhatsApp-förhandsvisningen innebär att siffran på kortet hämtas från din katalog i det ögonblick kortet genereras — inte inbakad i en bild som någon skapade en gång. När det väl gäller är den enda återstående frågan när WhatsApp läser om länken, och det är det enda en butik inte kan styra.
Det korta svaret
Ett pris kan bara visas i en förhandsvisning om bilden byggs från livedata för produkten. En statisk utvald bild har inget pris att visa, någonsin; ett kort som designats en gång har det pris det hade den dagen. WooCommerce tillhandahåller ingen pris taggad bild som standard, så klagomålet "gammalt pris i förhandsvisningen" är egentligen två frågor:
- Känner kortet till det aktuella priset? — ett designbeslut, och det du kan åtgärda.
- Har plattformen läst om sidan sedan priset ändrades? — WhatsApps klocka, inte din.
Varför priset blir inaktuellt
| Orsak | Vad du ser | Varför det händer |
|---|---|---|
| Taggen pekar på utvald bild | Inget pris alls | Ett produktfoto innehåller inget pris |
| Kortet skapades en gång | Priset från designdagen | Inget genererar om det |
| En rea tog slut | En genomstrykning för en rabatt som är över | Bilden bär fortfarande den gamla brickan |
| Sidcachen serverar gammal HTML | Det gamla kortet, igen | Crawlern ser aldrig den nya og:image-URL:en |
Endast de tre första handlar om kortet. Den fjärde handlar om ditt cachelager, och det ser identiskt ut utifrån — vilket är varför kontrollordningen i Instant WhatsApp Image Update for WooCommerce spelar roll.
Vad ett synkat kort faktiskt läser
FastOG signerar en omslags-URL per förfrågan, och propsen kommer från den live-produkten:
| Kortelement | Källa | Notering |
|---|---|---|
| Pris | get_price() |
På en rabatterad produkt är detta reapriset |
| Jämförpris ("var") | ordinarie pris | Skickas endast när produkten faktiskt är på rea — ett "var" som är lika med aktuellt pris är en genomstrykning ingen förtjänat |
| Rea-badge | produktens reastatus | Visas och försvinner med rean |
| Lager | lagerstatus | Speglar katalogen vid renderingstillfället |
| Foto | utvald bild först, sedan galleriet | Komponeras inuti kortet, beskärs inte av plattformen |
Det är skillnaden mellan "dynamisk" och faktiskt dynamisk: värdena är inte platshållare som en designer fyllt i, de läses från din butik varje gång ett kort byggs.
Hur "sync" fungerar i båda riktningarna
Katalog → kort. Varje värde ovan läses vid renderingstillfället. Ändra ett pris och nästa rendering visar det nya; det finns inget exportsteg och ingen fil att ladda upp igen.
Kort → cache. Varje värde färdas också inuti den signerade cover-URL:en. En prisändring ändrar alltså URL:en — vilket innebär att den gamla bilden inte längre är adresserbar, CDN:en har inget inaktuellt att servera och ingen cache-busting behövs. Inget annat i den här kategorin fungerar på det här sättet, eftersom ett självhostat plugin nycklar sin bild på ett filnamn som aldrig ändras.
Kort → Facebook. När en produkt sparas utlöses WooCommerces inbyggda product.updated-webhook, och FastOG köar en Meta-omskrapning för produktens permalink, så att Facebook ersätter det cachade kortet i stället för att vänta i veckor. Se Force a Facebook Open Graph Cache Refresh.
Kort → WhatsApp. Inget kan pushas. Det korrekta kortet väntar på nästa läsning.
Kantfallet med tidsinställd rea
En rea som börjar vid midnatt utan att någon rör produkten utlöser ingen webhook alls — en detalj som bryter varje design av typen "vi uppdaterar vid sparning", inklusive vår Facebook-ping.
Det som räddar kortet är att det inte genereras i förväg: omslagsbilden byggs på begäran från aktuell katalogdata, så den första hämtningen efter midnatt visar redan reapriset och märket. Det inaktuella numret kan bara överleva i en plattforms förhandsvisningscache, där det ersätts enligt plattformens eget schema. Ett kort som renderas i stället för att exporteras är den enda sorten som överlever en rea som ingen har sparat.
Verifiera att numret är synkroniserat
Priset syns i själva omslags-URL:en, vilket gör det kontrollerbart utan en debugger:
# 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.
Om URL:ens parametrar och det renderade kortet båda innehåller det aktuella priset, och produktsidan visar samma sak, är butikssidan synkroniserad och eventuell kvarvarande inaktuell data beror på en plattformscache. Om URL:en fortfarande innehåller det gamla priset serverar sidcachen HTML från före redigeringen — rensa den.
För att se det hela från början till slut, klistra in en produkt-URL i See Your Links The Way Buyers Do: den läser de live-taggarna och renderar ett omslag från samma produktdata, sida vid sida med vad plattformarna skulle visa idag.
Vanliga frågor
Hur visar jag ett pris i en WhatsApp-förhandsgranskning av en länk?
Servera en og:image som innehåller priset — vilket innebär en bild genererad från din katalog, inte ett statiskt foto. WhatsApp renderar vilken bild som helst som taggen pekar på, i 1200×630; priset visas bara om det har ritats in i den bilden.
Varför visar förhandsgranskningen fortfarande det gamla priset efter att jag avslutat rean?
Två troliga orsaker: bilden som sidan serverar har inte ändrats (sidcache, eller en statisk bild), eller så visar WhatsApp en cachad förhandsgranskning från före ändringen. Kontrollera den aktuella og:image-URL:en först — om dess pris också är gammalt är det butiken som är problemet; om det är aktuellt är det WhatsApp.
Visar kortet reapriset eller ordinarie pris?
Reapriset — det är vad WooCommerce rapporterar som aktuellt pris — med ordinarie pris bredvid som jämförelsepris, och endast när produkten verkligen är på rea.
Ritar alla planer priset och reabadgen?
Ja. Mallfält är inte låsta till en nivå på FastOG: pris, jämförelsepris och lagerbadges är tillgängliga i alla planer. Planerna skiljer sig åt i sidtyper, antal objekt och mallbredd, inte i vad ett omslag kan säga.
Uppdateras priset för länkar som redan har delats?
För Facebook begär FastOG en ny skrapning efter produktuppdateringen. För WhatsApp, LinkedIn och X sker nästa läsning enligt respektive plattforms eget schema; ingen offentlig tidsgaranti eller programmatiskt uppdaterings-API utlovas för dessa plattformar.
Vad händer om jag ändrar priset men inte mallen?
Det är det normala fallet och det fungerar: mallen definierar layouten, katalogen levererar värdena. Inget behöver designas om och ingen bild behöver exporteras om.
Kommer en länk som delades under rean att fortsätta visa reapriset efter att den tagit slut?
Endast så länge en plattforms cachade förhandsgranskning finns kvar. Omslags-URL:en ändras med katalogen, så den första färska läsningen får kortet för tiden efter rean.
Finns det en gratisplan?
Ja. Den kostnadsfria Community-nivån omfattar upp till 100 objekt över produkt-, kategori-, butiks- och blogginläggssidor med fem basmallar plus produktmallarna Black Friday och Seasonal Offer. Dess omslag är rena — ingen plan har vattenstämpel, Community inkluderat. Community renderas på den delade Community-servern och begränsas av hastighetsgränser per butik/IP snarare än av varumärkning. Betalda planer använder en dedikerad server separat från Community, höjer objektgränsen och låser upp ytterligare mallar och funktioner (betygsbadges från Starter, metafield-mappning från Pro, avgränsade regler och prioriterad rendering från Scale). Betalda planer inkluderar en 14-dagars provperiod utan krav på kreditkort.
Relaterat
Prova gratis – ingen registrering krävs
Förhandsgranska och testa dynamiska OG-bilder på några sekunder.
Öppna gratis OG-bildtestaren