Search code examples
markupschema.orgstructured-data

Schema markup: WebPage vs Article


I'm providing a website about my health-related services, with a few pages describing my practice and services, my approach of work, and many articles about specific topics related to my field of work (imagine what a doctor or therapist is doing, that should give the idea).

But I'm confused whether to define my pages as "Webpage" or "Article"?

I defined them as 'Article' now, which in turn disallows me from tagging my phone number with <span itemprop="telephone"> though, according to Google's Structured Data testing tool.


Solution

  • In the typical case, you would use both. You could provide a WebPage item on every page, and if the web page contains an article, you could provide an Article item in addition (or multiple, of course).

    For a page dedicated to an article, you could use the mainEntity property to denote that the Article is the primary thing on that page:

    <body itemscope itemtype="http://schema.org/WebPage">
      <article itemprop="mainEntity" itemscope itemtype="http://schema.org/Article">
      </article>
    </body>
    

    Neither a web page nor an article can have a telephone number (at least not in typical cases, which is why Schema.org doesn’t define the telephone property for WebPage/Article). A telephone number typically belongs to a person or an organization, which are among the types that can have the telephone property.

    So you need an item that represents your business: in your case probably LocalBusiness. Then you can provide this item as author of the WebPage and/or the Article etc.

    PS: Whenevery you use a type, check if a more specific child type applies in your case. So in your case maybe something like MedicalWebPage, NewsArticle, HealthAndBeautyBusiness, etc.