Official statement
When asked about the source that Google favors in case of conflict (feed vs structured data), he answers that there is no published priority order from Google for reconciling metadata. That is why he advises fixing the conflict rather than trying to guess which source Google will accept. Also read SEO: Structured Data. John Mueller also discusses a similar case with dates (visible date on the page, dateModified in structured data, lastmod in the sitemap), noting that these values can have different weights and evolve over time, which underscores the importance of making the correct value easy to identify.
Google explicitly discourages inconsistencies between data sources (HTML, structured data, feeds, sitemap). When a product shows 'out of stock' on the front but 'available' in schema.org, Google struggles to determine the relevant value. There is no official hierarchy to resolve these conflicts: it is better to fix the source than to gamble on the algorithm.
What you need to understand
Why is Google so insistent on the consistency of metadata?
The statement stems from a concrete case: an e-commerce retailer reports that a product page displays 'out of stock' upfront, but the server HTML and Schema.org structured data indicate 'available'. This type of conflict forces Google to choose a source without any guarantee of consistency.
Contrary to what one might think, Google does not have a public priority table among the different sources: visible HTML, structured data, Merchant Center feeds, lastmod tags in XML sitemap. This lack of documented hierarchy complicates the work of crawlers, which must reconcile contradictory signals without a clear rule.
What metadata sources conflict most often?
Typical cases involve three areas. The first case: product availability (visible out of stock vs schema.org Product availability). The second case: dates (datePublished HTML vs dateModified Schema.org vs lastmod sitemap). The third case: prices (front display vs structured data vs product feeds).
The user also inquired about the priority between feeds and structured data. The answer is clear: no source has fixed weight, and these weights can evolve over time according to algorithms. Hence the importance of making the correct value easy to identify rather than betting on a hypothetical order of preference.
Why is this statement coming now?
Google is increasing signals about the importance of structured data reliability, particularly since the massive rollout of rich results and product snippets. A metadata conflict undermines algorithmic trust in the site.
The alternative suggestion (using a feed rather than on-page metadata) targets e-commerce sites that manage dynamic catalogs. But it raises a new question: if the feed contradicts structured data, which takes precedence? Google's answer: no guaranteed order, so correct rather than guess.
- No official hierarchy between HTML, Schema.org, feeds, and sitemap
- Algorithmic weights can change without notice
- Inconsistencies complicate determining the relevant value
- Favor correcting at the source rather than algorithmic betting
- Dates (dateModified, lastmod) carry the same conflict risks
SEO Expert opinion
Is this statement consistent with field observations?
Yes, and it confirms empirical findings. E-commerce sites with price/stock discrepancies between the front end and Merchant Center feeds face product rejections or account suspensions. Google Shopping already applies this strict logic, but generalizing it to organic indexing was less documented.
However, the lack of a published hierarchy poses a practical problem. SEO teams spend time testing which source Google favors, while the answer is: it depends, and it changes. This maintained opacity is frustrating for practitioners seeking stable rules.
What nuances should be added to this rule?
First point: some conflicts are unavoidable in production. A stock that empties between Googlebot's crawl and user display, a price update that propagates with latency between systems. Google knows this and likely tolerates a margin of temporal divergence. The problem arises when inconsistency becomes structural.
Second nuance: not all types of metadata carry the same weight. A dateModified divergence has less impact than a product availability conflict. Transactional signals (price, stock) are scrutinized more harshly than editorial signals (dates, authors). [To be verified]: Google has never published a matrix of severity by type of conflict.
In what cases does this rule not apply strictly?
News sites present a borderline case. A page can display a visible publication date, a different dateModified in Schema.org (last typo correction), and a still distinct lastmod sitemap (batch regeneration). These three values have legitimately different functions, and Google seems capable of contextualizing them.
Another exception: multilingual sites with hreflang. A price metadata can legitimately differ according to currency and region, without Google seeing a conflict. Nonetheless, the statement primarily targets intralanguage inconsistencies, where the same entity has two simultaneous values without technical justification.
Practical impact and recommendations
What should you do concretely to avoid these conflicts?
First action: audit the four main sources of metadata: visible HTML (displayed text), Schema.org structured data (JSON-LD or microdata), product feeds (Merchant Center, custom XML), XML sitemaps (lastmod, priority). Compare them for each type of critical data: price, availability, dates, authors.
Second action: favor a single source of truth on the back end, from which all metadata is generated. If stock comes from a real-time API, ensure that this API simultaneously feeds the front end, Schema.org, and the feed. Disallow divergent manual entries or unsynchronized caches.
What mistakes must be absolutely avoided?
Never maintain two parallel management systems: a CMS that generates the front HTML and a batch export that feeds the feeds. This decoupling inevitably creates propagation latencies. If a product goes out of stock, the information must reflect everywhere in less than a few minutes, not a few hours.
Another common mistake: using generic default values in structured data. Example: a Schema.org Product with availability='InStock' hardcoded in the template, while the front displays the actual dynamic availability. Google detects these incoherent static values and increasingly ignores them.
How can I check that my site is compliant?
Use Google's Rich Results Test tool to compare the extracted structured data with what you see on the front end. On the Merchant Center side, check the diagnostics for rejected products: the 'price mismatch' or 'availability mismatch' reasons signal a conflict with organic crawling.
For dates, extract the lastmod from your XML sitemap and compare it to the dateModified in Schema.org Article. If the discrepancy consistently exceeds several days without editorial reason, you likely have a desynchronized generation process. Correct the production chain rather than the values individually.
- Audit the four sources: front HTML, Schema.org, product feeds, XML sitemap
- Implement a single source of truth (API or central database) feeding all metadata
- Check the consistency of price/stock/dates with Rich Results Test and Merchant Center
- Disallow hardcoded static values in structured data if the front is dynamic
- Measure propagation latencies: going out of stock should be reflected everywhere in less than 5 minutes
- Document legitimate divergence cases (multi-currency, multilingual) to avoid false positives
💬 Comments (0)
Be the first to comment.