# Discussion forum structured data: zero of 88 community pages declared it, and 6 shut out GPTBot

> Google documented the UGC Fresh Data Program on 8 October 2026 and named on-page SocialMediaPosting or DiscussionForumPosting markup with interactionStatistic sub-fields among its eligibility criteria. Lantad asked all 1,419 hostnames in this repository's two committed corpus seed files for robots.txt on 9 October 2026 and read every permitted home page with no JavaScript executed. 1,090 answered HTTP 200 with HTML and 626 carried a JSON-LD block that parsed. None declared either type. Following each site's own link to a community area reached 88 readable pages, and none of those declared either type either.

- Canonical page: https://lantad.co/blog/discussion-forum-structured-data-zero-of-88
- This file: https://lantad.co/blog/discussion-forum-structured-data-zero-of-88.md
- Last substantive update: 2026-10-09

## Key facts

- **Published:** 2026-10-09
- **Category:** Findings
- **Author:** Lantad
- **Length:** 3476 words
- **Takeaway 1:** Google's UGC Fresh Data Program page, last updated 8 October 2026, states that an eligible platform must already use or be prepared to implement valid on-page schema.org markup, for example SocialMediaPosting or DiscussionForumPosting with interactionStatistic sub-fields.
- **Takeaway 2:** Discussion forum structured data appeared on none of the 1,090 corpus home pages Lantad read on 9 October 2026, of which 626 carried at least one JSON-LD block that parsed.
- **Takeaway 3:** Following each home page's own link to a community area on its own site reached 88 readable pages on 9 October 2026, and zero declared DiscussionForumPosting or SocialMediaPosting, zero carried interactionStatistic and zero carried commentCount, on two separate requests.
- **Takeaway 4:** Those 88 community pages declared 34 WebSite nodes, 22 SearchAction nodes and 20 organisation nodes on 9 October 2026, so the markup present described the site rather than any discussion on it.
- **Takeaway 5:** Evaluated against each community area's own robots.txt on 9 October 2026, 90 of the 96 files parsed, all 90 allowed Googlebot on that path, and 6 disallowed GPTBot.

## Summary

Google published a page on 8 October 2026 describing a way to get user-generated content into Search without waiting for a crawl. It is called the UGC Fresh Data Program, it moves posts and engagement counts over a dedicated pipeline, and admission to it is conditional. One of the conditions is markup: a platform applying has to be using, or be ready to use, [structured data](https://lantad.co/glossary/structured-data) of a specific shape on its own pages. The page names the shape, and the shape is discussion forum structured data.

That makes the condition measurable in a way most programme criteria are not. Volume, moderation quality and a public user base are things only Google can assess from the inside. On-page markup is served to anybody who asks for the page. So this run asked, across every hostname in the corpus committed to this repository, and then followed each site's own link to its community area and asked there too. 1,090 home pages were readable and 626 of them carried JSON-LD that parsed. Not one declared DiscussionForumPosting or SocialMediaPosting. Of the 88 community and forum pages reached one level deeper, the count was also zero, on two separate requests, and a request sent with a Googlebot user agent string returned the same markup as [an identified scanner](https://lantad.co/bot) received.

## What Google published on 8 October 2026

[The UGC Fresh Data Program page](https://developers.google.com/search/docs/appearance/ugc-fresh-data-program) carries a last updated date of 8 October 2026 and describes "an initiative designed to help platforms display fresh, high quality, and authentic user-generated content (UGC) across various features on Search". The mechanism is a pipeline rather than a crawl. Approved platforms push content to Google, and the page is explicit that this is "independent of the Google Indexing API and traditional organic crawling for general web content". It is equally explicit about what admission buys, which is less than an applicant might hope: "This program doesn't guarantee that content will appear in Search".

The eligibility criteria are where this stops being an announcement and becomes something a site owner can check. Content must be on dedicated pages with stable URLs rather than profile or feed pages. The platform needs high volume and a significant user base. Content must be attributable to a creator with a public profile. Moderation has to be active and include a user reporting mechanism. Freshness is tight: submissions should be "as fresh as possible, ideally sent within minutes", and engagement counters must be updated "within 72 hours of creation".

Two of the criteria are ordinary engineering. The platform owner must be able to implement "secure OAuth 2.0 API authentication" and construct strictly validated JSON-LD payloads. The third is the one this post measures, because it describes the public web rather than the pipeline. The page states that the platform "must already utilize (or be prepared to implement) valid on-page schema.org structured data markup across its URLs. For example, SocialMediaPosting or DiscussionForumPosting with interactionStatistic sub-fields".

Read that as written. The markup is not the delivery format for the programme; the pipeline is. The markup is evidence that a platform already describes its own discussions in a machine-readable way, offered as an entry condition. The parenthetical "or be prepared to implement" means absence is not disqualifying on its own, which matters for the numbers below: a site declaring none of this today has not failed anything. It has simply not done it yet. Google's own [documentation changelog](https://developers.google.com/search/updates) lists the page under 8 October 2026 as added documentation, so there was no earlier version for anybody to have acted on.

## What is discussion forum structured data?

It is two schema.org types and a set of properties, documented by Google on a separate page from the programme. [Google's discussion forum structured data page](https://developers.google.com/search/docs/appearance/structured-data/discussion-forum) carries a last updated date of 8 September 2026, a month before the programme page, and it defines what the markup has to contain to be valid.

Three things are required. An author, which must be a Person or an Organization, and whose name is itself required. A datePublished, as an ISO 8601 date and time. And one of text, image or video to carry the content of the post, with a stated exception: this "is not required if you are representing a post on another page (with an external url) as in later pages of forums or forum category pages". That exception is the reason a forum index can legitimately carry the markup with no post body in it, and it matters for anybody reading the counts below, because an index page is exactly what a home page link usually reaches.

The recommended properties are longer and include the one the programme singles out. interactionStatistic records, in Google's words, "User statistics applied to the main post, if applicable", with supported types covering likes and upvotes, dislikes and downvotes, views, comments or replies, and reshares. commentCount is separately recommended for the number of comments, "particularly useful if they are not all present in the comment markup". The vocabulary behind these sits at [schema.org's DiscussionForumPosting type](https://schema.org/DiscussionForumPosting) and [the SocialMediaPosting type](https://schema.org/SocialMediaPosting) it inherits from, with the counter itself defined as [an InteractionCounter](https://schema.org/InteractionCounter).

So the programme criterion is not asking for an exotic construction. It is asking for three required properties and one recommended one, on a type that has been in the vocabulary for years and has had its own Google documentation for longer than the programme has existed. That is worth establishing before reporting that nobody in this corpus has it, because the absence is not explained by difficulty.

## Zero of 1,090 readable home pages declared either type

The first pass asked every one of the 1,419 hostnames in the two corpus seed files committed to this repository for its robots.txt, parsed each file with the matcher the scanner ships, requested the home page only where that evaluation left the root open to an identified crawler, and read the delivered bytes with no JavaScript executed and no browser involved. 1,090 answered HTTP 200 with an HTML content type. 626 of those carried at least one script element typed as JSON-LD that parsed into something walkable.

Across every node in all 626 documents, DiscussionForumPosting appeared zero times and SocialMediaPosting appeared zero times. interactionStatistic appeared once, on one home page, and a second request to the same host later the same day did not reproduce it, so this post does not count it and records the discrepancy instead. commentCount appeared on no home page. QAPage appeared on none.

A zero invites an obvious objection, which is that the detector is broken. That objection was tested rather than waved away. A constructed document carrying one DiscussionForumPosting node with an interactionStatistic array and one SocialMediaPosting node inside an @graph was run through the same code path, and it reported both types, both interaction types and the commentCount. The walk descends into @graph and into nested property values, which is how [an earlier run counted nodes that carried no @id at all](https://lantad.co/blog/structured-data-313-of-615-gave-no-node-an-id) and how it found [158 of 338 sites declaring a WebSite node and an organisation node without joining them](https://lantad.co/blog/website-schema-markup-158-of-338-connected-neither). The code finds nodes where sites actually put them.

The honest reading of this first number is narrower than it looks, and the limit is the sampling frame rather than the measurement. This corpus is an editorial set of mainstream sites assembled for platform and industry coverage: government, education, healthcare, news, SaaS, ecommerce, travel and finance, plus ten platform strata. It contains almost no large user-generated content platforms, which is precisely the population the programme is written for. A home page is also the page least likely to carry a forum posting node even on a site that runs a forum. So zero of 1,090 is a fact about what mainstream home pages describe, and it is the wrong place to stop.

## 88 community pages, and what their markup described instead

So the second pass went looking for the discussions. Every readable home page was parsed for links whose own path segment was unambiguously a discussion area, meaning forum, forums, community, communities, discussion, discussions, discuss or a message board, at a depth of no more than three segments, or whose host was a forum, community or discuss subdomain of the same site. Anchor text was deliberately not used as evidence. An earlier and looser rule that accepted anchor wording and paths such as topics pulled in news topic hubs and corporate giving pages, which are not discussion areas, and the count it produced was not a count of anything.

96 sites yielded a candidate under the strict rule. 88 of those answered HTTP 200 with HTML. Those 88 are a real cohort: Asana Community, Auth0 Community, Atlassian Community, the UiPath Community Forum, Hugging Face Forums, Elastic's discuss site, CircleCI Discuss, Postman Community, Shopify Community, Vercel Community, the RCGP Member Forum, Scientific American's discussions section and dozens more, alongside a tail of pages that use the word community for corporate social responsibility rather than for conversation.

Of the 88, zero declared DiscussionForumPosting. Zero declared SocialMediaPosting. Zero carried interactionStatistic. Zero carried commentCount, zero carried a Comment node and zero declared a QAPage. All 88 were requested a second time and all 88 reproduced the result. 38 of them carried no JSON-LD at all. The 50 that did carry parseable markup used it to describe the container: 34 declared a WebSite node, 22 a SearchAction, 20 an organisation node, 19 an ImageObject, 17 a WebPage and 17 a BreadcrumbList. That is a site telling a parser what site it is, on a page whose entire purpose is the discussion it does not describe. The same inversion shows up when [a page declares a search endpoint and robots.txt closes it](https://lantad.co/blog/searchaction-schema-57-of-224-endpoints-robots-closed), and when [schema topic statements name the site itself rather than a subject](https://lantad.co/blog/entity-seo-107-of-163-topic-statements-named-the-site).

39 of the 88 carried a recognisable fingerprint of community software in the served HTML. Discourse accounted for 14, Khoros for 8, Zendesk for 5, Gainsight inSided for 4, Higher Logic and Bettermode for 2 each, and Salesforce Experience Cloud, phpBB and Circle for 1 each. A further 10 pages offered no forum of their own and linked a Discord invite instead, which is a community that lives entirely off the indexable web. The Discourse group is the sharpest result in the run: 12 of the 14 served exactly one JSON-LD block declaring a WebSite and a SearchAction, and nothing else. The platform emits markup. It emits markup about the site.

## All 90 let Googlebot in, and 6 shut out GPTBot

The programme's accessibility criterion is the other condition readable from outside, and it is specific: "Content must be on public web pages accessible to Googlebot and users". That is a robots.txt question, and it has to be asked of the right file. A community area on a subdomain is governed by that subdomain's robots.txt, not by the apex host's, so each of the 96 candidate URLs was checked against a robots.txt fetched from its own host and evaluated with the scanner's own matcher. 90 of the 96 returned a file that parsed.

Every one of the 90 allowed Googlebot on the community path. Not one site in this cohort is excluded by the criterion it can most easily fail. The same evaluation against [the AI crawler tokens the scanner models](https://lantad.co/tools/ai-crawlers) returns a different answer: 6 of the 90 disallowed GPTBot, 6 disallowed ClaudeBot, 4 disallowed PerplexityBot and 3 disallowed OAI-SearchBot. The six paths closed to GPTBot were statnews.com/community/, scientificamerican.com/discussions/, derstandard.at/diskurs/community, forum.rcgp.org.uk, figma.com/community and us.ovhcloud.com/community/tutorials/. Three of those six are publishers, which is consistent with earlier findings that [blocking splits by credibility rather than by sector](https://lantad.co/blog/who-blocks-ai-crawlers-splits-by-credibility).

Put the two measurements together and the asymmetry is the point. These sites have left the door open for the crawler that feeds the programme, and some of them have closed it for the crawlers that feed [ChatGPT](https://lantad.co/how-to-get-cited/chatgpt) and Claude. What none of them has done is describe what is behind the door. A crawler that is allowed in reads a page whose markup says the site exists and has a search box, and has to recover the thread, the author, the date and the reply count from prose and layout, which is the same recovery problem as [a page that puts its answers outside the markup that claims them](https://lantad.co/blog/faq-schema-298-of-1277-answers-not-on-the-page).

It is worth saying plainly what this does not show. No measurement here establishes that declaring discussion forum structured data would change any answer from any engine. No AI crawler vendor whose documentation this site has read states that it reads these types, and the programme's own page says admission guarantees nothing. The defensible claim is about evidence rather than ranking: an explicit author, date and interaction count in the markup is a stronger statement about a thread than the same facts rendered as styled text, and [entity confidence](https://lantad.co/glossary/entity-confidence) is built from explicit statements.

## What to check on your own community pages

The useful part of a zero is that it is cheap to stop being part of it. Four checks, in the order they pay off, and none of them needs a tool.

Open a thread page on your own forum and view the served source rather than the rendered page. Search it for the string DiscussionForumPosting. If it is absent, ask what your forum software emits instead, because this run suggests the answer is a WebSite node and a search box. A [crawler view of the page](https://lantad.co/tools/what-gptbot-sees) shows the same bytes a parser gets, which is the only view that matters for this question, since none of the 14 Discourse pages gained markup when the request carried a Googlebot user agent string instead of an identified scanner one.

Second, check the three required properties rather than the type name alone. An author with a name, a datePublished, and one of text, image or video, remembering the documented exception for index and category pages that point at posts elsewhere. A node that declares the type and omits a required property is not valid markup, and this corpus has repeatedly shown that [declared markup carries defects at a measurable rate](https://lantad.co/blog/schema-markup-validator-117-of-612-carried-a-defect).

Third, check that the discussion is in the HTML at all. Markup describing a thread is worthless on a page whose thread arrives by script, and a forum built as a client-rendered application is a known pattern: this corpus has found [custom elements arriving with no text in them](https://lantad.co/blog/do-ai-crawlers-read-web-components-3291-of-7124) often enough that it is the first thing to rule out. Whether an author's name appears in the served bytes is the same question as whether [a named human appears anywhere outside the markup](https://lantad.co/blog/person-schema-111-of-1079-sites-named-a-human).

Fourth, check your own robots.txt for the path, with the file that actually governs it. If your community sits on a subdomain, the apex file does not apply, and the [robots.txt tester](https://lantad.co/tools/robots-txt-tester) will evaluate a specific path against a specific token the way a crawler does. Deciding to keep [an AI crawler](https://lantad.co/glossary/ai-crawler) out is a legitimate position and this site does not argue against it. Deciding it by accident, on the one part of the site where people write your content for you, is not a position.

What none of this is, is a growth tactic. The programme is invitation-based, the pipeline is closed, and whether any of this moves [AI visibility](https://lantad.co/glossary/ai-visibility) is unmeasured here and unclaimed by Google. The reason to describe your discussions accurately is that an answer engine reading the page is doing the same recovery work a reader does, with less context, and [generative engine optimization](https://lantad.co/glossary/geo) is mostly the unglamorous business of saying explicitly what a page already means. Lantad publishes [how it measures](https://lantad.co/methodology) and what it does not, and this is one of the cases where the finding is an absence and the absence is recent enough that nobody has had time to act on it.

## Questions and answers

**What is discussion forum structured data?**

It is schema.org markup describing a post in a forum or on a social platform, using the DiscussionForumPosting or SocialMediaPosting type. Google's documentation for it, last updated 8 September 2026, requires an author with a name, a datePublished, and one of text, image or video, and recommends interactionStatistic for engagement counts. Lantad found it on none of the 1,090 corpus home pages or 88 community pages it read on 9 October 2026.

**What is the UGC Fresh Data Program?**

It is a Google Search initiative, documented on 8 October 2026, that lets approved platforms send fresh user-generated content and engagement signals through a dedicated pipeline rather than waiting for a crawl. Its page states the programme is independent of the Indexing API and organic crawling, and that it does not guarantee content will appear in Search. Participation is by application, with a stated response time of six to eight weeks.

**Does adding this markup improve AI visibility?**

No measurement in this run establishes that, and nothing here should be read as claiming it. Lantad measured which pages declare the markup, not what any engine does with it, and no AI crawler vendor whose documentation this site has read states that it reads these types. The narrower claim is defensible: an explicit author, date and reply count is a stronger statement about a thread than the same facts rendered as styled text.

**Why did none of the forum platforms emit it?**

This run measured what was served, not why. What it can report is that 39 of the 88 community pages carried a recognisable community software fingerprint, that Discourse accounted for 14 of those, and that 12 of the 14 served exactly one JSON-LD block declaring a WebSite and a SearchAction. The pages read were forum index pages rather than thread pages, and Google's documentation exempts index and category pages from the content property requirement.

---

Lantad measures whether AI crawlers can actually read a page: it fetches as a non-rendering
crawler, renders as a browser, and reports the gap. Free scan, one URL, no signup.

Method and weights: https://lantad.co/methodology | All pages as markdown: https://lantad.co/md | Crawler policy: https://lantad.co/bot
