# Google Structured Data -- Invalid Article Schema

**URL:** https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037
**Category:** Support
**Created:** [February 7, 2017, 4:55am UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037 "2017-02-07T04:55:14Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![tolkin](https://avatars.discourse-cdn.com/v4/letter/t/b2d939/32.png) [@tolkin](https://meta.discourse.org/u/tolkin)
#### Post date: [February 7, 2017, 4:55am UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/1 "2017-02-07T04:55:14Z")

</div>

Hey there Discourse team,

I am totally new here and I love what you have done so far. I noticed that when someone replies to a thread created in Discourse forums that answer is marked as an Article with microdata.

This comes up as invalid at Google’s Testing Tool since it is missing a few markups such as “headline”, “image” and “publisher” which are required when Article is being used.

Is that something that was discussed previously? If yes please feel free to delete my Topic.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [February 7, 2017, 6:05am UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/2 "2017-02-07T06:05:10Z")

</div>

Can you post the markup you are referring to please?

---

<div class="post-metadata">

### Author: ![tolkin](https://avatars.discourse-cdn.com/v4/letter/t/b2d939/32.png) [@tolkin](https://meta.discourse.org/u/tolkin)
#### Post date: [February 7, 2017, 8:53am UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/3 "2017-02-07T08:53:07Z")

</div>

Hey there @codinghorror, thanks for the reply.

If you test this threads link in  
[https://search.google.com/structured-data/testing-tool](https://search.google.com/structured-data/testing-tool)  
it will give you the invalid markup.

I am attaching an image bellow

 ![](https://global.discourse-cdn.com/meta/original/3X/6/5/6581361366df3a58af53006fc6e730b5f746a4ef.png)

Hope that helps 🙂

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [February 7, 2017, 4:41pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/4 "2017-02-07T16:41:29Z")

</div>

If it is not an article what should it be? Which type is correct there?

---

<div class="post-metadata">

### Author: ![vinothkannans](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vinothkannans/32/86465_2.png) [@vinothkannans](https://meta.discourse.org/u/vinothkannans)
#### Post date: [February 7, 2017, 5:16pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/5 "2017-02-07T17:16:34Z")

</div>

[Schema.org](http://Schema.org) (the vocabulary) doesn’t require any properties.

Google’s Structured Data Testing Tool is not a [Schema.org](http://Schema.org) validator. The tool primarily tests if your use of [Schema.org](http://Schema.org) conforms to Google’s own requirements for showing one of their Rich Snippets (or similar features/products).

For more details [http://stackoverflow.com/a/33070334](http://stackoverflow.com/a/33070334). But still we can try to fulfill Google’s requirements.

> [@codinghorror](#):
>
> If it is not an article what should it be? Which type is correct there?

I am not sure. But there are some options like below

- Article
  - SocialMediaPosting
    - [DiscussionForumPosting](https://schema.org/DiscussionForumPosting)

- [Comment](https://schema.org/Comment)
- [Answer](https://schema.org/Answer) - may be useful for [Solved](https://meta.discourse.org/t/discourse-solved-accepted-answer-plugin/30155) plugin

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [February 7, 2017, 5:19pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/6 "2017-02-07T17:19:21Z")

</div>

OK, if you wish to take that please do. A PR is welcome. Can be included in your other paid work as well 😉

---

<div class="post-metadata">

### Author: ![vinothkannans](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vinothkannans/32/86465_2.png) [@vinothkannans](https://meta.discourse.org/u/vinothkannans)
#### Post date: [February 7, 2017, 5:48pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/7 "2017-02-07T17:48:03Z")

</div>

Yes I can do 👍

Now I am going to replace `Article` schema type with `DiscussionForumPosting` for all posts (both topic’s first post and replies).

But still Google may ask those required tags (like image, headline, publisher).

---

<div class="post-metadata">

### Author: ![tolkin](https://avatars.discourse-cdn.com/v4/letter/t/b2d939/32.png) [@tolkin](https://meta.discourse.org/u/tolkin)
#### Post date: [February 7, 2017, 11:07pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/8 "2017-02-07T23:07:13Z")

</div>

Hey there @vinothkannans thats true, schema itself does not require anything more but I guess making it compatible with Google’s requirements as well is quite in the interest of all 🙂

My solution would be :  
For the image give the image add the image url of the person posted the comment

For the headline keep the headline of the topic

For the publisher I am a bit confused.

All of these though are pretty hypothetical because if you change the article with DiscussionForumPosting Google might not even require all these 🙂

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [February 7, 2017, 11:21pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/9 "2017-02-07T23:21:34Z")

</div>

Seems like they are [still required](https://productforums.google.com/forum/#!topic/webmasters/szXZhuns014;context-place=forum/webmasters):

> Hello  
> I was advised against using Article type in a forum website  
> So I googled for some suitable schema type for [forums] and found about this one

> DiscussionForumPosting  
> [DiscussionForumPosting - Schema.org Type](https://schema.org/DiscussionForumPosting)

> Google tool recognize this type and required these properties as shown in the image above and listed below

> - author: missing and required
> - datePublished: missing and required
> - headline: missing and required
> - image: missing and required
> - name: missing and required
> - publisher: missing and required

For now I would just change the schema type as `DiscussionForumPosting` seems much more correct.

---

<div class="post-metadata">

### Author: ![tolkin](https://avatars.discourse-cdn.com/v4/letter/t/b2d939/32.png) [@tolkin](https://meta.discourse.org/u/tolkin)
#### Post date: [February 7, 2017, 11:31pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/10 "2017-02-07T23:31:45Z")

</div>

Couldn’t agree more.

Thanks guys that was an amazing fast response!

---

<div class="post-metadata">

### Author: ![vinothkannans](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vinothkannans/32/86465_2.png) [@vinothkannans](https://meta.discourse.org/u/vinothkannans)
#### Post date: [February 11, 2017, 1:16pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/11 "2017-02-11T13:16:08Z")

</div>

PR created ['Article' to 'DiscussionForumPosting' schema type by vinothkannans · Pull Request #4702 · discourse/discourse · GitHub](https://github.com/discourse/discourse/pull/4702)

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [February 13, 2017, 10:29am UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/12 "2017-02-13T10:29:21Z")

</div>



---

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [March 1, 2017, 9:41pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/13 "2017-03-01T21:41:55Z")

</div>



---

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [March 2, 2017, 5:33pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/14 "2017-03-02T17:33:58Z")

</div>

@tolkin reported to me that Google is still showing posts as invalid:

 ![](https://global.discourse-cdn.com/meta/original/3X/2/5/25711bec89a0ce6de6387e460040052ac5ffe698.png)

The image requirement is bizarre. It [needs to be an image _of the item_](http://schema.org/image) (the post in this case), not an image contained in the post (which usually won’t exist) or from some metadata about the post. Google’s tool should be showing that as a warning if at all. I’ll add the headline attribute.

---

<div class="post-metadata">

### Author: ![SwisherSweet](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/swishersweet/32/119523_2.png) [@SwisherSweet](https://meta.discourse.org/u/SwisherSweet)
#### Post date: [March 2, 2017, 7:27pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/15 "2017-03-02T19:27:10Z")

</div>

I cannot be sure, but it appears the only change that was made to the code was to change the schema type from Article to DiscussionForumPosting, which doesn’t solve the problem.

The change did not include the Google required attributes:

- author: missing and required
  - This could be the poster name

- datePublished: missing and required
  - This could be the posted date

- headline: missing and required
  - This should the topic subject

- image: missing and required
  - This sould be the poster’s avatar image

- name: missing and required
  - I have no idea what this is… perhaps the poster’s name again?

- publisher: missing and required
  - I believe this is the site name

---

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [March 2, 2017, 8:25pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/16 "2017-03-02T20:25:20Z")

</div>

My screenshot is from Google’s tool. I added the heading today, but the image attr doesn’t make sense.

---

<div class="post-metadata">

### Author: ![SwisherSweet](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/swishersweet/32/119523_2.png) [@SwisherSweet](https://meta.discourse.org/u/SwisherSweet)
#### Post date: [March 3, 2017, 3:06pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/17 "2017-03-03T15:06:22Z")

</div>

For what it’s worth, there are SEO advantages to getting this feature in place, based on this article:

> **[Neil Patel's Digital Marketing Blog](https://neilpatel.com/blog/)**
>
> Your #1 resource for digital marketing tips, trends, and strategy to help you build a successful online business.

Considering much of a forum’s success depends on organic traffic, this could be a real benefit to the software.

---

<div class="post-metadata">

### Author: ![vinothkannans](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vinothkannans/32/86465_2.png) [@vinothkannans](https://meta.discourse.org/u/vinothkannans)
#### Post date: [March 3, 2017, 3:20pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/18 "2017-03-03T15:20:52Z")

</div>

> [@neil](#):
>
> @tolkin reported to me that Google is still showing posts as invalid:

> [@codinghorror](#):
>
> Seems like they are [still required](https://productforums.google.com/forum/#!topic/webmasters/szXZhuns014;context-place=forum/webmasters):
> 
> For now I would just change the schema type as DiscussionForumPosting seems much more correct.

Yes. I just changed the schema type for now.

---

<div class="post-metadata">

### Author: ![technicallyrite](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/technicallyrite/32/120612_2.png) [@technicallyrite](https://meta.discourse.org/u/technicallyrite)
#### Post date: [September 20, 2017, 8:52pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/20 "2017-09-20T20:52:31Z")

</div>

![18 AM](https://global.discourse-cdn.com/meta/original/3X/0/7/076d8a5a143202e14329f1dae966a0b6c939c7fe.png)

---

<div class="post-metadata">

### Author: ![technicallyrite](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/technicallyrite/32/120612_2.png) [@technicallyrite](https://meta.discourse.org/u/technicallyrite)
#### Post date: [September 22, 2017, 12:55pm UTC](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037/21 "2017-09-22T12:55:21Z")

</div>

Looks like the latest version recently fixed the errors. 😁

 ![47D9618A-9A93-4BC8-BD8B-3FA1DF4233E3](https://global.discourse-cdn.com/meta/original/3X/8/8/884ec6072c8eeb106fa4caf2b4ad746a2982b7c0.jpg)

[Next page](https://meta.discourse.org/t/google-structured-data-invalid-article-schema/57037.md?page=2)
