19

Schema.org neither requires nor recommends specific image dimensions. For an ImageObject, you may specify the image’s height and width with the height and width properties. Consumers of the data would have their own rules, if any at all. In case of Google Search tl;dr: For some Rich Snippets that use the image property, no dimensions are specified. For ...


19

The mainEntityOfPage property is used to give the URL of a page on which the thing is the main entity. It might become clearer if you look at the inverse property mainEntity: this gives the main entity for a page (see an example). For example, for a web page that contains a single blog post, you could provide one of these: BlogPosting → mainEntityOfPage → ...


15

schema.org/BlogPosting image permits ImageObject and URL, however Google only permits ImageObject, hence the error. The intended markup is: <!-- my code --> <div itemprop="image" itemscope itemtype="http://schema.org/ImageObject"> <img src="image.jpg" itemprop="url"> </div>                 Another discrepancy is schema.org/...


15

Turns out, because BlogPosting is one of the types supported by Google as a possible Rich Snippet, they apply more validation: Google Search Documentation Guidelines for Articles This requires an Article's Publisher's logo to be of type ImageObject and have a width and height in pixels. BlogPosting is a subtype of Article. This updated snippet validates ...


15

The script element can be used for two things: dynamic/classic scripts data And for data, the spec defines: When used to include data blocks, the data must be embedded inline […] So you may use the src attribute only for scripts, not for data. → As JSON-LD is data, you have to inline it. While linking a JSON-LD file is possible with the link element, ...


11

A brilliant and helpful answer by @Arth above. To complement the answer above (not compete with it), here is the same Structured Data using the same schema.org vocabulary, but this time in JSON-LD: "publisher": { "@type": "Organization", "name": "myOrganization", "logo": {...


8

This looks like a mix-up on our (Google's) side -- I'll pass it on to the team to check out. Thanks!


5

See Google documentation: https://developers.google.com/search/docs/data-types/articles Images should be at least 696 pixels wide. So this one works for me: <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "NewsArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://google.com/article" }, ...


5

I think this is a (long-standing) bug in Google’s SDTT. Relevant Stack Overflow question: Why does Google Testing Tool use the “id” attribute to generate a URL for the Microdata item? In Microdata, only the itemid attribute should be able to give a URI for the item, while the id attribute is only used for referencing elements on the same page (with the ...


5

If you want to provide multiple addresses, you have to specify one address property with an array value, not an array of address properties. If you click at the error in the SDTT, the tool correctly highlights the line where the error begins (line 7, i.e., the opening [).


4

Yes, it’s a good idea. Structured data is not only useful for content you authored. It allows you to say anything about anything (see Semantic Web and Linked Data). You provide this video for your human visitors, possibly showing its title and other metadata. Why not also provide this data in a way that machines can easier understand? Or in other words: ...


4

According to the documentation: […] Also, Google can read JSON-LD data when it is dynamically injected into the page's contents, such as by JavaScript code or embedded widgets in your content management system. Which suggests that, while yo cannot link external json-ld data, you can still load it dynamically and inject it to the DOM. This might be good ...


4

This may, or may not help, but take a look at how Trevor Fox did it: <script> $.getJSON( "/your-schema-file.jsonld", function( data ) { $( "<script/>", { "type": "application/ld+json", "html": JSON.stringify(data) }).appendTo( "head" ); }); </script> This may be your best option. He used jQuery version 3.1.1 for this solution.


4

I do not have SKU and unique identifier, so how can I fix these warnings? Is there any way I can by-pass these errors or do tweak in code? There is no way to fix this other than to provide the data. I have a doubt that Google may penalize in future because of these warnings. As long as it’s just a warning, you can still get the search result feature (...


4

<script src="https://example.site.com/rich-snippet/dist.js" defer=""></script> <script> window.addEventListener('load', function() { richSnippet(); }); </script> Removing the ES6 syntax seems to resolve the issue, I think due the context of the event that would be passed. Stephen Ostermiller: Why would you add ...


3

With this implementation: <div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> <a href="http://www.example.com/dresses" itemprop="url"> <span itemprop="title">Dresses</span> </a> &gt; </div> <div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> <a href="http://www....


3

The only way to clear Structured Data errors in Google Webmaster Tools is to either remove the structured data markup so that Google will not attempt to read structured data from the page, or fix the errors in the structured data. I'll assume that you want to go with route #2, otherwise you wouldn't have added the structured data markup in the first place. ...


3

Interesting page on spamming Google Structured Data Testing Tool. Thanks for sharing it. It appears that Google has has locked this down. But this is a situation where the one using the tool tries to fool it deliberately. I assume that is not you. There are cases where Wordpress and other CMS vulnerabilities are exploited and links appear conditionally. ...


3

Below is revalant information found on Google's Webmaster Tools FAQ regarding rich data. SOURCE Q: Why doesn't my site show rich snippets? A: Google does not guarantee that Rich Snippets will show up for search results from a particular site even if structured data is marked up and can be extracted successfully according to the testing ...


3

Google’s documentation of their Rich Snippet Aggregate Review still uses the Data-vocabulary.org vocabulary, but I think it’s safe to assume that this also applies to the Schema.org vocabulary. There it says about count (which would probably be reviewCount in Schema.org): Note: Whenever you include count, the page must also contain review markup for each ...


3

When checking your document by entering its URL, it reports this error. But when checking your document by entering its markup (or when re-checking the code the tool fetched from the URL), it reports no errors. So this seems to be a bug in the Google Structured Data Testing Tool. Just a guess, but maybe it’s related to the fact that your last breadcrumb ...


3

Yes, I think it makes sense that Google’s SDTT does this. It’s just a usability question if the WebPage item should be displayed as top-level item in addition; it doesn’t affect the semantics. In the first script data block, you say that the WebPage has the URI http://example.com/. In the second script data block, you say that the value of the item property ...


3

Google’s SDTT is intended for checking if the structured data meets the recommendations/requirements for Google’s search features (like rich results). These search features make use of the vocabulary Schema.org. The type http://xmlns.com/foaf/0.1/Image is from the vocabulary FOAF. This vocabulary is not used by Google for their search features. So as far ...


3

I have checked your blog using Structure Data Markup Tool and here is the method to fix the issue. Structured data schema markup basically maps the real world entities in form of coding; so Google understand the "meaning" of content on the page. That is why schema markup differentiates between an author and the publisher. They consider "author" as a ...


3

You have to use id as well for BreadcrumbList. Edit your code to add id (this can be your URL) Example code : "item": { "@id": "https://colorwhistle.com/services/wordpress-web-design-development/", "name": "WordPress Development Services" } EDIT - Remove URL all together use @id instead EDIT 2 - Implementation guidelines and details Google ...


3

The QAPage type represents a page with a single question (whether it’s a Q&A site like Stack Overflow, or a site’s FAQ section where each question has its own page): A QAPage is a WebPage focussed on a specific Question and its Answer(s), e.g. in a question answering site or documenting Frequently Asked Questions (FAQs). For a FAQ page with one or ...


3

is LocalBusiness a correct @type for this "Thing", for the individual listings? OR should LocalBusiness only be used for my own business, to put my own business on the map? LocalBusiness (or one of its more specific sub-types) is correct, regardless of who it belongs to. The function of @type is to categorise the entity, not to describe the publisher's ...


2

The error occurs because the product name is not visible, it is placed incorrectly in a table structure. A simple change to: <table itemscope itemtype="http://schema.org/Product"> <tr> <td class="label"> <meta itemprop="name" content="An idea suitable for potential candidate for the fourth plinth" />Suitable for </td> ...


2

In HTML5+Microdata, only the meta element can have the content attribute. (In HTML5+RDFa, every element may have the content attribute.) So if you want to add the string value "in_stock", and it should not be visible on the page, using the meta element is the correct choice: <meta itemprop="availability" content="in_stock" /> You were probably ...


2

1.) I stand corrected on the particular problem i stated before being an ISO time/format issue. I think its because the Schemas are being mixed together. After some removal of misc stuff from source code to make this smaller OP source code is as follows: <div itemtype="http://data-vocabulary.org/Recipe" itemscope="" class="pd_main_wrapper"> &...


Only top voted, non community-wiki answers of a minimum length are eligible