Schema.org structure for a news aggregator individual post I'm building a news aggregator website. This is my current schema structure for a single news article. There can be more than one article per page. I'm trying to have every possible piece of data structured. Am I missing something? How can this structure be schema.org-optimized for a news article post?

&lt;article itemscope itemtype="http://schema.org/NewsArticle"&gt;
    &lt;meta itemprop="inLanguage" content="es-419" /&gt;
    &lt;meta itemprop="dateModified" content="2015-03-02T19:03Z" /&gt;
    &lt;meta itemprop="keywords" content="correa, obama, whitehouse" /&gt;
    &lt;meta itemprop="commentCount" content="41" /&gt;
    &lt;meta itemprop="description" content="Excerpt of the news text goes here..." /&gt;
    &lt;meta itemprop="isBasedOnUrl" content="http://eluniverso.com/2015/03/01/noticia3.html" /&gt;

    &lt;h2 itemprop="headline"&gt;
        &lt;a href="/noticias/2015/02/03/headline-goes-here" itemprop="url"&gt;Headline goes here&lt;/a&gt;
    &lt;/h2&gt;

    &lt;time datetime="2015-03-02T17:43Z" itemprop="datePublished"&gt;Mar 2&lt;/time&gt;
    &lt;p itemprop="articleBody"&gt;Complete article goes here. Two or three lines perhaps. Maybe more.&lt;/p&gt;
    &lt;span class="tag" itemprop="articleSection"&gt;politics&lt;/span&gt;
    &lt;span class="length" itemprop="wordCount"&gt;67&lt;/span&gt;

    &lt;img src="uploads/image_4.jpg" itemprop="thumbnailUrl"&gt;

    &lt;div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"&gt;
        &lt;meta itemprop="bestRating" content="5"&gt;
        &lt;meta itemprop="worstRating" content="1"&gt;
        &lt;span itemprop="ratingValue"&gt;4.1&lt;/span&gt;/5 based on &lt;span itemprop="reviewCount"&gt;249&lt;/span&gt; votes
    &lt;/div&gt;

    &lt;span class="source" itemprop="publisher" itemscope itemtype="http://schema.org/Organization"&gt;
        &lt;meta itemprop="logo" content="/logos/eluniverso.png" /&gt;
        &lt;span itemprop="name"&gt;
            &lt;a href="http://eluniverso.com/2015/03/01/example1.html"&gt;El Universo&lt;/a&gt;
        &lt;/span&gt;
    &lt;/span&gt;
&lt;/article&gt;

&lt;ul itemscope itemtype="http://schema.org/WebPage"&gt;
    &lt;li&gt;&lt;a href="/noticias/2015/02/01/original-breaking-news.html" itemprop="relatedLink"&gt;Related News 1&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="/noticias/2015/02/02/more-data.html" itemprop="relatedLink"&gt;Related News 2&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="/noticias/2015/02/03/other-thing-that-happened.html" itemprop="relatedLink"&gt;Related News 3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
HTML5+Microdata


In case of meta/link: 

If the value is a URI, you have to use link instead of meta. 

So this

&lt;meta itemprop="isBasedOnUrl" content="http://eluniverso.com/2015/03/01/noticia3.html" /&gt;


should be

&lt;link itemprop="isBasedOnUrl" href="http://eluniverso.com/2015/03/01/noticia3.html" /&gt;


and this

&lt;meta itemprop="logo" content="/logos/eluniverso.png" /&gt;


should be

&lt;link itemprop="logo" href="/logos/eluniverso.png" /&gt;

Your thumbnail img is missing the required alt attribute.


Schema.org


In addition to (or instead of) headline it can be beneficial to provide name. The headline property can only be used for CreativeWork (and sub-types), while the name property is defined for every type. It’s likely that many consumers look for and make use of name but not headline.

You could provide both properties, separated with a space, on the same element, i.e.,

&lt;h2 itemprop="headline name"&gt;

If the link in Organization is about this organization, you might want to use the url property.
The WebPage could reference the NewsArticle via the mainEntity property (if the page is only about a single news article; otherwise the NewsArticle could reference its WebPage with the reverse mainEntityOfPage property).

While you could use Microdata’s itemref attribute to reference it without changing the markup structure, it’s not necessary if markup changes are possible. You could specify WebPage on a container div (or the body, if it’s the only/current web page), e.g.:

&lt;div itemscope itemtype="http://schema.org/WebPage"&gt;

  &lt;!-- properties about the web page, i.e., the web page’s URL --&gt;

  &lt;article itemprop="mainEntity" itemscope itemtype="http://schema.org/NewsArticle"&gt;

    &lt;!-- properties about the news article, i.e., the news article’s URL --&gt;

  &lt;/article&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a itemprop="relatedLink" href="/noticias/2015/02/01/original-breaking-news.html"&gt;Related News 1&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a itemprop="relatedLink" href="/noticias/2015/02/02/more-data.html"&gt;Related News 2&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a itemprop="relatedLink" href="/noticias/2015/02/03/other-thing-that-happened.html"&gt;Related News 3&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;

&lt;/div&gt;