Open Graph Signals in Ecommerce Product Pages
What 72,716 product checks from February 2026 reveal about missing metadata, overlapping signals and the limits of automated preview checks. Includes aggregate data.

In ShareScan's February 2026 sample, 13,125 of 72,716 product checks lacked og:image. That is 18.05% of the checks. The missing-image signal appeared on at least one sampled product page in 229 of the 647 included domains.
The wider picture needs more care. The most frequent flag concerned image proportions, and many of those images were square. Other flags overlap or can describe valid metadata. Counting every flag as a broken preview would turn a useful diagnostic dataset into a misleading failure rate.
This analysis separates nine recorded signals, shows how the denominator changes the interpretation, and documents a limitation in the historical image probe. It describes checks collected on 26–27 February 2026, not the current state of those websites. Platform card rendering, clicks and sales were not measured.
Download the aggregate data and codebook to inspect the counts, definitions and overlaps. The package includes a small offline verifier and editable chart files.
What was sampled
The Social Preview Reliability Index used a selected ecommerce candidate set drawn from Tranco rankings. This is a bounded sample, not a representative estimate for all ecommerce.
The stored snapshot contains 647 domains and 72,716 product checks, within 94,889 checks across all page types. Its domain labels comprise 636 retail ecommerce domains, eight unknown and three marketplaces. Filtering to the retail label produces a different denominator: 72,260 product checks across 636 domains.
An audit reconciled the saved checks with all 647 archived crawl files and reproduced the historical domain scores and published product percentages. Snapshot membership does not directly store crawl IDs; the audit selected each member's last completed crawl before the snapshot cutoff, then checked that reconstruction against the archived records and historical scores.
There are inclusion exceptions. Ninety-three selected crawls came from an earlier pilot cohort. Twelve of those fall below one or both configured minimums of 50 product checks and 100 total checks. The dated methodology notes explain these exceptions. The table below retains the original 647-domain denominator so it remains comparable with the historical snapshot.
The nine recorded signals
Each row counts product checks carrying one flag. A single check can appear in several rows. The last column counts domains with at least one flagged product check, out of 647.
| Recorded signal | Product checks | Share of 72,716 | Domains affected |
|---|---|---|---|
| Missing og:image | 13,125 | 18.05% | 229 |
| Image probe status other than 200 | 2,439 | 3.35% | 64 |
| Recorded image width or height below 200 px | 2,261 | 3.11% | 95 |
| Canonical and OG URL host or path differ | 2,881 | 3.96% | 89 |
| Repeated OG property other than og:image | 3,706 | 5.10% | 47 |
| Multiple og:image tags | 2,768 | 3.81% | 41 |
| Image URL uses HTTP | 16,115 | 22.16% | 136 |
| Image ratio outside 1.2–2.2 | 31,762 | 43.68% | 415 |
| Missing og:title while an HTML title exists | 10,501 | 14.44% | 151 |

The missing-image row means the crawler did not find a parsed, non-empty og:image value. It does not establish which fallback image, if any, a particular platform selected. For an affected URL, the missing-image troubleshooting guide helps separate absent markup from image delivery and caching problems.
The image-size and URL rows also have narrow definitions. The historical size threshold was 200 pixels on either dimension; it is not a universal platform requirement. The URL rule compared normalized host and path, ignoring query strings, scheme and port. Different values warrant review, but do not by themselves prove an incorrect card.
Checks and domains answer different questions
The missing-image signal illustrates three useful summaries:
| Summary | Result | Question it answers |
|---|---|---|
| Share of all product checks | 13,125 / 72,716 = 18.05% | How often did the signal occur in the collected checks? |
| Domains with at least one flagged check | 229 / 647 = 35.39% | How widely did it appear across sampled domains? |
| Mean of each domain's flagged proportion | 18.70% | What was the average proportion when every domain had equal weight? |
The first calculation gives domains with more sampled product pages more influence. The third calculates a proportion within each domain before averaging those proportions. Domains with no flagged checks remain in that average.
The median within-domain missing-image proportion was 0%: at least half of the included domains had no missing-image flag among their sampled product checks. That can coexist with 18.05% of all product checks being flagged. Neither result describes every page on those domains, and a domain with a larger sample has more opportunities to show at least one flag.
A paired homepage/product comparison asks a narrower question: what did the sampled product pages declare when the homepage already had an image? It pairs pages within each selected crawl and provides separate full-response and HTTP-200 tables.
There are two useful sensitivity checks. Restricting the denominator to product-page responses with HTTP 200 gives 12,888 missing-image checks out of 72,304, or 17.82%. Separately, restricting by the retail domain label gives 13,105 out of 72,260, or 18.14%. These answer different questions; neither silently replaces the original 18.05%.
Frequent signals can describe valid metadata
The largest row is image ratio: 31,762 checks had a recorded ratio below 1.2 or above 2.2. 17,453 of those images were square. The benchmark's preference for landscape proportions does not establish that square images failed to render. Choose composition for the intended placement and inspect the actual card.
Likewise, the Open Graph protocol permits multiple image values and associates structured properties with their preceding image tag. The multiple-image signal therefore does not prove a configuration conflict. The separate repeated-property signal counts repeated properties without comparing their values; it can also flag valid structured properties for different images.
Signals often coexist. For example, 14,561 checks had both an HTTP image URL and a ratio outside the chosen range. Another 7,890 had both a missing og:image and a missing og:title while an HTML title existed. Adding the table's percentages would count some checks repeatedly. The downloadable overlap table records pairs on the same check, not unrelated flags on different pages of one domain.
A successful range response exposed a probe limitation
The historical image-status rule required exactly HTTP 200. Among the 2,439 product checks carrying that flag, 402 recorded HTTP 206.
HTTP 206 can indicate successful delivery of a requested portion of a resource. The client must interpret the response headers and returned content; the status alone does not make an image inaccessible. RFC 9110 documents the response semantics.
The probe first attempted HEAD, then used a GET with a Range header to inspect image dimensions. A successful HEAD status was retained. If HEAD failed, the GET status became the recorded status. In a controlled test using the same complete 1200×630 PNG, changing only the HEAD response produced this result:
| HEAD response | GET response | Recorded status | Historical classification |
|---|---|---|---|
| 200 | 206 with the requested bytes | 200 | Stable |
| 405 | 206 with the requested bytes | 206 | Unreliable |
All 402 historical 206 cases had the status flag as their sole reason for the Unreliable tier. Only 270 had recorded dimensions of at least 200×200; the remaining dimensions were not established by the probes. The controlled test explains a weakness in the rule, but it does not verify the rendered cards for those 402 cases. Historical scores remain unchanged; a revised measurement needs an explicit version and comparable denominators.
Apply the findings to your own product pages
Start with a small set of pages covering different product templates, image sources and recently changed components. Record the response status and returned metadata for each. When a field is absent, identify the template or CMS field responsible. When an image request fails, check the GET response and redirects as well as HEAD. Review image alternatives and dimensions in the context of the intended card.
Fix one cause, then repeat the same checks and inspect the target platform. The website audit walkthrough shows how to expand a representative sample and group findings by template without treating a small sample as complete coverage.
Use the Link Preview Checker to check up to ten representative product URLs. From the report, you can explicitly choose free follow-up by confirmed email or activate Slack follow-up for those pages. Broader coverage and scheduled checks are available in a verified workspace through Open Graph monitoring, subject to its plan limits.
Reuse the aggregate data
The download package contains separate tables for all snapshot domains and the retail-label subset, overlapping flags, a codebook, the aggregate analysis and the controlled Range-test result. Domain names and individual URLs are omitted.
Run python3 verify.py after extraction to check file hashes and reconcile the check-level flag and overlap counts against the saved combinations. The public aggregates cannot independently reproduce domain-level means or the original crawl-to-snapshot mapping; the codebook describes those limits.
When citing these figures, keep the February 2026 date, the sampled-check denominator and the signal definition together. A useful attribution is: ShareScan Social Preview Reliability Index, February 2026 snapshot; 72,716 sampled product checks across 647 included domains.
Related articles
Put the guide into practice
Check the links your team shares.
Check preview images, titles and descriptions on up to 10 pages. Review the findings, then choose what to monitor.
No account or card. Choose weekly follow-ups by email or Slack after your scan.