The Schema.org properties articleBody
and description
expect Text as value. If you want to follow this advice, you have to specify the properties (in itemprop
) on an element that creates a string value (these are most elements, e.g., div
).
So let’s say you use <div itemprop="articleBody"></div>
. It’s the textContent of that element that will be used as value.
First example
<div itemprop="articleBody">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. (<a href="http://winchdesign.com" target="_blank">winchdesign.com</a>)</p>
</div>
It generates this property value:
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. (winchdesign.com)
As you can see, this is readable text. This is what you probably want to provide.
Second example
<div itemprop="articleBody">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. (<a href="http://winchdesign.com" target="_blank">winchdesign.com</a>)</p>
<p>(<a href="http://robbreport.com" target="_blank">robbreport.com</a>)</p>
<p> </p>
</div>
It generates this property value:
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. (<a href="http://winchdesign.com" target="_blank">winchdesign.com</a>)</p> <p>(<a href="http://robbreport.com" target="_blank">robbreport.com</a>)</p> <p> </p>
As you can see, this text contains parts that look like HTML, but they will be interpreted as plain text (!). So this probably not what you want to provide.
To give a clearer example:
<span itemprop="name">John</span>
: The name
is "John".
<span itemprop="name"><b>John</b></span>
: The name
is "John".
<span itemprop="name"><b>John</b></span>
: The name
is "<b>John</b>".