# Schema.org + Structured data Google

**URL:** <https://forum.bubble.io/t/schema-org-structured-data-google/181622>\
**Category:** APIs\
**Created:** [December 9, 2021, 1:46pm UTC](https://forum.bubble.io/t/schema-org-structured-data-google/181622 "2021-12-09T13:46:21Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![lukinhapophack](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/lukinhapophack/32/105272_2.png) [@lukinhapophack](https://forum.bubble.io/u/lukinhapophack)\
**Post date:** [December 9, 2021, 1:46pm UTC](https://forum.bubble.io/t/schema-org-structured-data-google/181622/1 "2021-12-09T13:46:21Z")

</div>

Hi Guys, I had some problems relating, indexing pages to google, and structuring the data on the page for indexing.

Here is a brief walkthrough of how to resolve this if you are having trouble with it.

Step 1 :  
How to correctly lay out the data:  
Structured Data Markup Wizard - [https://www.google.com/webmasters/markup-helper/u/0/?verticalId=100035149&sourceId=107103434&hl=pt\_BR](https://www.google.com/webmasters/markup-helper/u/0/?verticalId=100035149&sourceId=107103434&hl=pt_BR)

Step 2 :  
To make google read this data:  
install (CSS Tools Plugin) - (Workflow → (Page is loaded) → Add/Edit Head Tags)  
(Add/Edit Head Tags) - Paste the structured code you got in step 1 and insert the dynamic elements you want google to index

Step 3 :  
test the URL - [Schema Markup Testing Tool | Google Search Central &nbsp;|&nbsp; Google Developers](https://developers.google.com/search/docs/advanced/structured-data#url=http%3A%2F%2Fantplugin.bubbleapps.io%2Freviewsnippets)

IMPORTANT - When submitting the URL for testing or index use this scheme  
“[https://namepage.com/subname/](https://namepage.com/subname/)”

---

<div class="post-metadata">

**Author:** ![maja-overgaard](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/maja-overgaard/32/114696_2.png) [@maja-overgaard](https://forum.bubble.io/u/maja-overgaard)\
**Post date:** [December 16, 2021, 1:01pm UTC](https://forum.bubble.io/t/schema-org-structured-data-google/181622/2 "2021-12-16T13:01:35Z")

</div>

Hey @lukinhapophack

Thanks for the write-up!

Out of curiosity: For your step 2, why are you inserting the markup with a worklow instead of directly in the Page HTML Header?

Have you figured out how to add dynamic data (list of things)? For instance, if one would like to add a list of FAQs. In the Developer example, they “hardcode” the values. [Mark Up FAQs with Structured Data | Google Search Central &nbsp;|&nbsp; Google Developers](https://developers.google.com/search/docs/advanced/structured-data/faqpage)

Instead I would fetch them from the database (e.g. “Do a Search for FAQs”), but not sure how to implement this.

Cheers,  
Maja

---

<div class="post-metadata">

**Author:** ![lukinhapophack](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/lukinhapophack/32/105272_2.png) [@lukinhapophack](https://forum.bubble.io/u/lukinhapophack)\
**Post date:** [December 16, 2021, 1:44pm UTC](https://forum.bubble.io/t/schema-org-structured-data-google/181622/3 "2021-12-16T13:44:57Z")

</div>

You’re welcome @maja-overgaard

About step 2, I tried to make google see the tags in other ways, but as it’s dynamic data, the only way I got it was through workflow…

I believe this serves your question. this markup I made uses dynamic data pulled from the internal server

---

<div class="post-metadata">

**Author:** ![maja-overgaard](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/maja-overgaard/32/114696_2.png) [@maja-overgaard](https://forum.bubble.io/u/maja-overgaard)\
**Post date:** [December 16, 2021, 4:20pm UTC](https://forum.bubble.io/t/schema-org-structured-data-google/181622/4 "2021-12-16T16:20:32Z")

</div>

Sorry, I made a typo in my first reply. I meant how do you use a LIST of dynamic data?

So let’s say you have a datatype of FAQ. Your first entry would be “What is the return policy?” Second entry is “How long does it take to process a refund?” etc. Because the # of FAQ entries can vary, it needs to be a dynamic list.

So in the example from the Google Developer (below), there are two questions. How do you dynamically create the list of questions given there might be more or less than 2 FAQs,?

```
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "What is the return policy?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "<p>Most unopened items.....</p>"
    }
  }, {
    "@type": "Question",
    "name": "How long does it take to process a refund?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "We will reimburse you for...."
    }, {
    "@type": "Question",
    "name": "Will I be charged sales tax for online orders?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text":"Local and State sales tax will be collected if your recipient's mailing address is in: <ul><li>Arizona</li><li>California</li><li>Colorado</li></ul>"}
    }]
}
</script>
```

---

<div class="post-metadata">

**Author:** ![lukinhapophack](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/lukinhapophack/32/105272_2.png) [@lukinhapophack](https://forum.bubble.io/u/lukinhapophack)\
**Post date:** [December 22, 2021, 3:30pm UTC](https://forum.bubble.io/t/schema-org-structured-data-google/181622/5 "2021-12-22T15:30:43Z")

</div>

I simply scripted the body of the workflow as I said earlier.

So if you make the workflows based on your parameters, you can make this dynamic

Sorry for delay…

---

<div class="post-metadata">

**Author:** ![boston85719](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/boston85719/32/77286_2.png) [@boston85719](https://forum.bubble.io/u/boston85719)\
**Post date:** [December 22, 2021, 3:38pm UTC](https://forum.bubble.io/t/schema-org-structured-data-google/181622/6 "2021-12-22T15:38:48Z")

</div>

You can do it directly on the page element itself in the page HTML header section. No need for workflows. In this input you can add dynamic data. I do this in apps for structured data.

To your question about lists, you would need to use the formatted as text operator and then in that structure it for accepting JSON.

I don’t have an example of this to share as I have not done this, but I use the formatted as text with JSON for list of things. There are various threads with screen shot examples to see how that looks, but the JSON is different for all use cases.

Most important thing is to have a dynamic expression that would be your list ( could be search or an element with the list already available ) and after that dynamic expression add the formatted as text operator so you can then format the list in JSON style.

Your example would be something like

{  
“@type”: “This lists Question”,  
“name”: “This lists name”

The idea of ‘this list’ is the list you have in the dynamic expression before the formatted as text operator.

---

<div class="post-metadata">

**Author:** ![ts11](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/ts11/32/55260_2.png) [@ts11](https://forum.bubble.io/u/ts11)\
**Post date:** [July 29, 2022, 2:16am UTC](https://forum.bubble.io/t/schema-org-structured-data-google/181622/7 "2022-07-29T02:16:42Z")

</div>

Hi there @lukinhapophack 👋 Can you explain to me why the trailing slash is required for the Schema markup to validate? I’ve noticed this issue and seen it mentioned elsewhere on the forum. Will the markup still ultimately be picked up if Google indexes my pages (without trailing slash) via my dynamic sitemap?

---

<div class="post-metadata">

**Author:** ![nicholasferns97](https://avatars.discourse-cdn.com/v4/letter/n/f0a364/32.png) [@nicholasferns97](https://forum.bubble.io/u/nicholasferns97)\
**Post date:** [March 13, 2023, 10:37am UTC](https://forum.bubble.io/t/schema-org-structured-data-google/181622/8 "2023-03-13T10:37:22Z")

</div>

Thanks for the tips!

How do you test your URL in [Schema.org](http://Schema.org) though?

I can validate the structured data in Rich results Text successfully but on [Schema.org](http://Schema.org) the URL shows no results? I’m assuming it is a Bubble structure application because it is the same when you try to get the source code on Google too from a Bubble app, which then only shows the the basic page structure html and none of the actual content on the page

---

<div class="post-metadata">

**Author:** ![lukinhapophack](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/lukinhapophack/32/105272_2.png) [@lukinhapophack](https://forum.bubble.io/u/lukinhapophack)\
**Post date:** [March 28, 2023, 9:32pm UTC](https://forum.bubble.io/t/schema-org-structured-data-google/181622/9 "2023-03-28T21:32:15Z")

</div>

[Schema.org](http://Schema.org) has a tab to validate…
