{"id":1704,"date":"2026-09-15T08:05:21","date_gmt":"2026-09-15T07:05:21","guid":{"rendered":"https:\/\/blogs.bragly.io\/review-schema-markup\/"},"modified":"2026-09-15T08:05:38","modified_gmt":"2026-09-15T07:05:38","slug":"review-schema-markup","status":"publish","type":"post","link":"https:\/\/blogs.bragly.io\/review-schema-markup\/","title":{"rendered":"Review Schema Markup: A Practical Reference Guide"},"content":{"rendered":"<p>You&#039;ve added a five-star widget to a product page, pasted a JSON-LD snippet into the <code>&lt;head&gt;<\/code>, and waited for Google to show stars beside the result. The markup validator reports no obvious syntax problem, yet the search result remains unchanged. That outcome is common because <strong>review schema markup isn&#039;t a visual widget or a guarantee of stars<\/strong>. It&#039;s a structured description of a relationship between a review, a rating, and a specific entity, and Google applies additional eligibility and content policies before it can use that description in search.<\/p>\n<p>This guide treats the implementation as a specification. You&#039;ll see how <code>Review<\/code>, <code>AggregateRating<\/code>, <code>itemReviewed<\/code>, and <code>Author<\/code> fit together, how an individual review differs from an aggregate score, which host types Google documents for review snippets, and how to troubleshoot markup that validates but still isn&#039;t eligible.<\/p>\n<h2>What Review Schema Markup Actually Does<\/h2>\n<p>The most common mistake is assuming that any page can add a rating and receive stars. <strong>Review schema markup must describe a specific supported item<\/strong>, such as a product, book, recipe, software application, or local business. The rating doesn&#039;t stand alone, because Google needs to understand what the rating refers to.<\/p>\n<p>Schema.org defines <code>Review<\/code> as a review of an item, while <code>AggregateRating<\/code> represents a summary of ratings for that item. In both cases, the reviewed target matters. A generic \u201cour company is rated highly\u201d block doesn&#039;t provide the same entity relationship as a <code>Product<\/code> containing an <code>AggregateRating<\/code> or a <code>Review<\/code> whose <code>itemReviewed<\/code> points to that product. <a href=\"https:\/\/schema.org\/Review\">Schema.org&#039;s definition of Review<\/a> makes this relationship explicit.<\/p>\n<h3>The processing path<\/h3>\n<p>A typical implementation follows a chain:<\/p>\n<ol>\n<li>Your page contains a JSON-LD script using the schema.org vocabulary.<\/li>\n<li>Google parses the JSON-LD and identifies the entities and properties.<\/li>\n<li>Google checks whether the reviewed entity belongs to a supported review-snippet type.<\/li>\n<li>Google compares the markup with the visible page content.<\/li>\n<li>Google applies its search feature policies and decides whether a rich result may appear.<\/li>\n<\/ol>\n<p>That last decision is separate from syntax validation. A document can be structurally understandable and still fail Google&#039;s rich-result requirements. Google&#039;s <a href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/structured-data\/search-gallery\">structured data search gallery<\/a> describes review snippets as short excerpts or ratings, often based on combined reviewer scores, and lists only selected content types.<\/p>\n<blockquote>\n<p><strong>Practical rule:<\/strong> Valid structured data tells Google what your data means. Eligibility determines whether Google can use it as a search feature.<\/p>\n<\/blockquote>\n<p>The distinction matters for developers building reusable templates. A JSON-LD generator can produce valid properties, but it can&#039;t make an unsupported entity eligible or turn hidden review data into visible page content. If you&#039;re designing structured data for broader machine understanding, Sight AI&#039;s guide to <a href=\"https:\/\/www.trysight.ai\/blog\/structured-data-for-ai-search\">optimize structured data for AI<\/a> offers useful context, but review markup still needs to follow Google&#039;s specific review policies.<\/p>\n<h2>Core Vocabulary You Need Before Writing JSON-LD<\/h2>\n<p>Before writing code, identify the entities. Review schema markup becomes much easier to debug when each object has one clear responsibility.<\/p>\n<ul>\n<li><strong><code>Review<\/code><\/strong> represents one reviewer&#039;s opinion. It can include <code>author<\/code>, <code>datePublished<\/code>, <code>reviewBody<\/code>, and a nested <code>reviewRating<\/code>.<\/li>\n<li><strong><code>AggregateRating<\/code><\/strong> summarizes multiple ratings. Its key properties include <code>ratingValue<\/code>, <code>reviewCount<\/code>, and the scale boundaries such as <code>bestRating<\/code> and <code>worstRating<\/code>.<\/li>\n<li><strong><code>itemReviewed<\/code><\/strong> identifies the thing receiving the score. It should be a typed schema.org node, such as <code>Product<\/code>, <code>LocalBusiness<\/code>, <code>Recipe<\/code>, <code>Book<\/code>, <code>Movie<\/code>, or <code>SoftwareApplication<\/code>.<\/li>\n<li><strong><code>Author<\/code><\/strong> identifies who created the review. The value can be a <code>Person<\/code> or an <code>Organization<\/code>, depending on the actual publisher.<\/li>\n<\/ul>\n<p>The parent-child relationship is the part developers often miss. A <code>Product<\/code> can contain an <code>aggregateRating<\/code> property, which makes the summary part of the product entity. A <code>Review<\/code> can contain an <code>itemReviewed<\/code> property, which points from the opinion to the reviewed product. Both structures identify a target, but they describe different things.<\/p>\n<p><figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/blogs.bragly.io\/wp-content\/uploads\/2026\/09\/review-schema-markup-vocabulary-diagram.jpg\" alt=\"A diagram illustrating the core schema vocabulary for structured data reviews, including entities like Review, AggregateRating, and Author.\" \/><\/figure><\/p>\n<h3>Why nesting changes the meaning<\/h3>\n<p>Consider these two patterns:<\/p>\n<ul>\n<li>A <code>Product<\/code> with <code>aggregateRating<\/code> says the product has a combined rating summary.<\/li>\n<li>A <code>Review<\/code> with <code>itemReviewed<\/code> says a particular author reviewed that product.<\/li>\n<li>A standalone <code>AggregateRating<\/code> without a reviewed item leaves Google without a clear target.<\/li>\n<li>A loose <code>Review<\/code> beside an unrelated <code>Product<\/code> creates ambiguity unless the relationship is explicit.<\/li>\n<\/ul>\n<p>The rating scale also needs to be coherent. <code>ratingValue<\/code> is the score, while <code>bestRating<\/code> and <code>worstRating<\/code> define the scale represented by that score. The visible page should use the same interpretation. A developer shouldn&#039;t mark a five-point rating system in JSON-LD while displaying a different scale to users.<\/p>\n<p>For a practical look at how rating systems are structured before they reach markup, see <a href=\"https:\/\/bragly.io\/blog\/5-scale-rating-options\">rating options for scalable review collection<\/a>. The important implementation habit is simple: define the reviewed item first, then attach the individual or aggregate rating to that item.<\/p>\n<h2>Anatomy of a Valid Review Snippet<\/h2>\n<p>A minimal individual review needs more than a score. Google&#039;s review-snippet documentation expects the review to identify its target, rating, author, and publication or modification timing. The visible review content also needs to exist on the same page, rather than appearing only inside JSON-LD.<\/p>\n<p>Here&#039;s a compact example for a product review:<\/p>\n<pre><code class=\"language-json\">{\n  &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n  &quot;@type&quot;: &quot;Review&quot;,\n  &quot;itemReviewed&quot;: {\n    &quot;@type&quot;: &quot;Product&quot;,\n    &quot;name&quot;: &quot;Example Noise-Cancelling Headphones&quot;,\n    &quot;url&quot;: &quot;https:\/\/www.example.com\/products\/headphones&quot;\n  },\n  &quot;reviewRating&quot;: {\n    &quot;@type&quot;: &quot;Rating&quot;,\n    &quot;ratingValue&quot;: &quot;4&quot;,\n    &quot;bestRating&quot;: &quot;5&quot;,\n    &quot;worstRating&quot;: &quot;1&quot;\n  },\n  &quot;author&quot;: {\n    &quot;@type&quot;: &quot;Person&quot;,\n    &quot;name&quot;: &quot;Jordan Lee&quot;\n  },\n  &quot;datePublished&quot;: &quot;2026-08-20&quot;,\n  &quot;reviewBody&quot;: &quot;The headphones are comfortable and effective in a busy office.&quot;\n}\n<\/code><\/pre>\n<h3>Reading the object field by field<\/h3>\n<ul>\n<li><strong><code>@context<\/code><\/strong> tells parsers to interpret the vocabulary as schema.org.<\/li>\n<li><strong><code>@type<\/code><\/strong> identifies the top-level entity as a <code>Review<\/code>.<\/li>\n<li><strong><code>itemReviewed<\/code><\/strong> connects the opinion to a typed <code>Product<\/code>.<\/li>\n<li><strong><code>reviewRating<\/code><\/strong> contains a <code>Rating<\/code> object and its <code>ratingValue<\/code>.<\/li>\n<li><strong><code>author<\/code><\/strong> identifies the reviewer.<\/li>\n<li><strong><code>datePublished<\/code><\/strong> supplies the review&#039;s publication date.<\/li>\n<li><strong><code>reviewBody<\/code><\/strong> mirrors the text users can read on the page.<\/li>\n<\/ul>\n<p>Google&#039;s documentation specifically requires the reviewed item, rating, author, and a publication or modification date for a review snippet implementation. <code>reviewBody<\/code> helps represent the visible content accurately, while properties such as <code>name<\/code>, <code>publisher<\/code>, and <code>url<\/code> can make the entity easier to interpret.<\/p>\n<p>A schema.org validator may accept a broader structure than Google&#039;s review rich-result feature. That&#039;s why developers should distinguish between <strong>schema validity<\/strong> and <strong>Google eligibility<\/strong>. The <a href=\"https:\/\/bragly.io\/tools\/star-rating-schema-generator\">Bragly star rating schema generator<\/a> can help produce an initial JSON-LD structure, but you still need to confirm that the values match the rendered page and Google&#039;s policies.<\/p>\n<p>The following video provides another visual walkthrough of the code structure:<\/p>\n<iframe width=\"100%\" style=\"aspect-ratio: 16 \/ 9\" src=\"https:\/\/www.youtube.com\/embed\/8z_KQv2vBpM\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe>\n\n<p>Don&#039;t treat a green test result as permission to hide the review text. If users can&#039;t find the author, score, reviewed item, or review content on the page, Google can disregard the markup even when the JSON-LD parses correctly.<\/p>\n<h2>Aggregated vs Individual Reviews Compared<\/h2>\n<p>An individual review and an aggregate rating answer different questions. An individual review answers, \u201cWhat did this reviewer say?\u201d An aggregate rating answers, \u201cWhat combined score does this item receive from the reviews represented here?\u201d<\/p>\n<p>The structure should reflect that difference.<\/p>\n<h3>Individual review on a product<\/h3>\n<pre><code class=\"language-json\">{\n  &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n  &quot;@type&quot;: &quot;Product&quot;,\n  &quot;name&quot;: &quot;Example Noise-Cancelling Headphones&quot;,\n  &quot;review&quot;: {\n    &quot;@type&quot;: &quot;Review&quot;,\n    &quot;author&quot;: {\n      &quot;@type&quot;: &quot;Person&quot;,\n      &quot;name&quot;: &quot;Jordan Lee&quot;\n    },\n    &quot;datePublished&quot;: &quot;2026-08-20&quot;,\n    &quot;reviewBody&quot;: &quot;The headphones are comfortable and effective in a busy office.&quot;,\n    &quot;reviewRating&quot;: {\n      &quot;@type&quot;: &quot;Rating&quot;,\n      &quot;ratingValue&quot;: &quot;4&quot;,\n      &quot;bestRating&quot;: &quot;5&quot;,\n      &quot;worstRating&quot;: &quot;1&quot;\n    }\n  }\n}\n<\/code><\/pre>\n<p>This model exposes the reviewer, date, written opinion, and score. The review is nested inside the product, so the relationship is unambiguous.<\/p>\n<h3>Aggregate rating on a local business<\/h3>\n<pre><code class=\"language-json\">{\n  &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n  &quot;@type&quot;: &quot;LocalBusiness&quot;,\n  &quot;name&quot;: &quot;Example Coffee House&quot;,\n  &quot;url&quot;: &quot;https:\/\/www.example.com\/locations\/coffee-house&quot;,\n  &quot;aggregateRating&quot;: {\n    &quot;@type&quot;: &quot;AggregateRating&quot;,\n    &quot;ratingValue&quot;: &quot;4.6&quot;,\n    &quot;reviewCount&quot;: &quot;48&quot;,\n    &quot;bestRating&quot;: &quot;5&quot;,\n    &quot;worstRating&quot;: &quot;1&quot;\n  }\n}\n<\/code><\/pre>\n<p>This model exposes the combined score and the number of reviews represented. It doesn&#039;t provide individual quotes, reviewer names, or publication dates. Those properties belong to individual <code>Review<\/code> entities, not to the aggregate summary.<\/p>\n\n<figure class=\"wp-block-table\"><table><tr>\n<th>Aspect<\/th>\n<th>AggregateRating<\/th>\n<th>Individual Review<\/th>\n<\/tr>\n<tr>\n<td>What it describes<\/td>\n<td>A combined rating summary<\/td>\n<td>One reviewer&#039;s opinion<\/td>\n<\/tr>\n<tr>\n<td>Main entity<\/td>\n<td><code>AggregateRating<\/code><\/td>\n<td><code>Review<\/code><\/td>\n<\/tr>\n<tr>\n<td>Typical properties<\/td>\n<td><code>ratingValue<\/code>, <code>reviewCount<\/code>, <code>bestRating<\/code><\/td>\n<td><code>author<\/code>, <code>datePublished<\/code>, <code>reviewBody<\/code>, <code>reviewRating<\/code><\/td>\n<\/tr>\n<tr>\n<td>Reviewed target<\/td>\n<td>One specific item<\/td>\n<td>One specific item<\/td>\n<\/tr>\n<tr>\n<td>Written text<\/td>\n<td>Not required for the summary<\/td>\n<td>Should match visible review content<\/td>\n<\/tr>\n<tr>\n<td>Search presentation<\/td>\n<td>Can support aggregate star information when eligible<\/td>\n<td>Can represent an individual review snippet<\/td>\n<\/tr>\n<\/table><\/figure>\n<p>Google&#039;s review documentation requires <code>Review<\/code> or <code>AggregateRating<\/code> to attach to a specific item, not to a category or list of items. A page with several loose <code>Review<\/code> objects but no clear parent relationship leaves the implementation difficult to interpret. Individual reviews alone don&#039;t represent the combined calculation that an aggregate rating is meant to describe.<\/p>\n<blockquote>\n<p><strong>Implementation test:<\/strong> If you can&#039;t point to one product, business, book, recipe, or other typed item for the rating, the markup is missing its central relationship.<\/p>\n<\/blockquote>\n<p>Use <code>AggregateRating<\/code> only when the summary reflects the reviews represented on the page. Don&#039;t create an average that users can&#039;t verify, and don&#039;t attach a sitewide score to every entity because the same number appears in a header or footer.<\/p>\n<h2>Eligible Item Types and Google&#039;s Content Policy<\/h2>\n<p>Google doesn&#039;t treat every schema.org type as eligible for review rich results. Its documentation identifies supported review-snippet hosts including <strong>Book, Course, Event, Game, LocalBusiness, Movie, MusicPlaylist, MusicRecording, Organization, Product, Recipe, SoftwareApplication<\/strong>, and certain <code>CreativeWork<\/code> subtypes. The <a href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/structured-data\/review-snippet\">review snippet documentation<\/a> is the authority to check before implementation.<\/p>\n<p>The reviewed item belongs in the JSON-LD tree as the host entity. For a product page, that&#039;s usually <code>Product<\/code>. For a restaurant or shop, use the most accurate <code>LocalBusiness<\/code> subtype available. For a recipe, use <code>Recipe<\/code>, and for software, use <code>SoftwareApplication<\/code>. The review or aggregate rating should be nested in that entity or connected through <code>itemReviewed<\/code>.<\/p>\n<h3>Visible content is part of the implementation<\/h3>\n<p>Google requires reviews and ratings marked up on a page to be readily available to users on that same page. A score hidden exclusively in the JSON-LD doesn&#039;t satisfy the practical requirement. The page should visibly identify the reviewed item and present the rating or review in a way users can access.<\/p>\n<p>Google also says sites must not aggregate reviews from other websites for markup purposes. Importing a rating from a third-party platform and placing it in JSON-LD doesn&#039;t become compliant because the number is genuine. The markup needs to represent review content available on the page and follow the applicable ownership and publisher rules.<\/p>\n<p>Critic reviews have narrower conditions. <code>CriticReview<\/code> is intended for editorial review contexts, not as a general-purpose wrapper for a business&#039;s own marketing opinion. A validator may parse the type while Google still declines the rich result because the page, publisher, or content doesn&#039;t fit the policy.<\/p>\n<blockquote>\n<p><strong>Policy check:<\/strong> Ask whether the page visibly contains the review, whether the reviewed item is explicit, and whether the host type is supported before you spend time fixing optional properties.<\/p>\n<\/blockquote>\n<h2>Validating Review Schema Before You Ship<\/h2>\n<p>Validation works best as a sequence of different checks, not a single green badge. Each tool answers a different question.<\/p>\n<h3>First check the Rich Results Test<\/h3>\n<p>Paste the deployed URL or the JSON-LD code into Google&#039;s Rich Results Test. Confirm that Google detects the intended review-related item and identify whether the result is eligible, contains warnings, or has errors.<\/p>\n<p>Errors generally require correction before the feature can be considered. Warnings may identify recommended properties that improve completeness, but they don&#039;t all carry the same weight. Read each warning in context, then compare the value with the content users can see.<\/p>\n<p><figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/blogs.bragly.io\/wp-content\/uploads\/2026\/09\/review-schema-markup-rich-results.jpg\" alt=\"Screenshot from https:\/\/i.imgur.com\/placeholder-rich-results-test.png\" \/><\/figure><\/p>\n<h3>Then check schema.org structure<\/h3>\n<p>Use the Schema Markup Validator to confirm that the JSON-LD parses against schema.org. This layer helps catch malformed JSON, unknown properties, incorrect value types, or missing relationships such as <code>itemReviewed<\/code>. It doesn&#039;t replace Google&#039;s eligibility test, because schema.org&#039;s vocabulary and Google Search&#039;s product policies aren&#039;t identical.<\/p>\n<h3>Finally inspect Search Console<\/h3>\n<p>Search Console&#039;s Enhancements reports show how Google processes structured data after crawling and indexing. A live test can confirm what the page returns now, but Search Console helps reveal recurring issues across indexed URLs.<\/p>\n<p>A practical checklist looks like this:<\/p>\n<ul>\n<li><strong>Rendered page:<\/strong> Confirm the review, score, author, and reviewed item are visible.<\/li>\n<li><strong>Entity relationship:<\/strong> Verify that <code>Review<\/code> or <code>AggregateRating<\/code> points to one specific typed item.<\/li>\n<li><strong>Eligibility:<\/strong> Check that the host type appears in Google&#039;s supported documentation.<\/li>\n<li><strong>Consistency:<\/strong> Match the displayed rating, scale, count, and text to the JSON-LD.<\/li>\n<li><strong>Indexing:<\/strong> Review Search Console after Google processes the live page.<\/li>\n<\/ul>\n<p>For broader storefront checks, a <a href=\"https:\/\/shugert.com.mx\/resources\/technical-seo\">technical SEO checklist for storefront speed<\/a> can sit alongside structured-data validation. A fast page doesn&#039;t make invalid review markup eligible, but technical problems can still interfere with crawling and rendering.<\/p>\n<h2>Common Mistakes That Get Markup Rejected<\/h2>\n<p>A developer can fix every comma and still fail Google&#039;s policy review. The most damaging problems usually concern <strong>who supplied the review, what entity receives the rating, and where the underlying reviews came from<\/strong>.<\/p>\n<h3>Self-served reviews<\/h3>\n<p>A business can display customer feedback on its own site, but it can&#039;t present the business&#039;s own promotional claims as independent reviews. Google&#039;s policy distinguishes between genuine reviewer content and self-serving markup created by the entity being evaluated. Staff-authored praise wrapped in <code>Review<\/code> is not equivalent to a customer review.<\/p>\n<h3>Sitewide averages without a matching item<\/h3>\n<p>A homepage may display a general company score, but applying one <code>AggregateRating<\/code> to an <code>Organization<\/code> while the visible content refers vaguely to many products, services, or locations creates an entity mismatch. Google requires the rating to attach to a specific item, not a category or list.<\/p>\n<h3>Imported third-party reviews<\/h3>\n<p>Reviews copied from platforms such as Yelp, Trustpilot, or Amazon create another problem when the page doesn&#039;t visibly reproduce the content represented by the markup. Google&#039;s documentation says sites must not aggregate reviews from other websites for markup purposes. The fact that a third-party platform supplied the original review doesn&#039;t make the markup compliant on your page.<\/p>\n\n<figure class=\"wp-block-table\"><table><tr>\n<th>Violation<\/th>\n<th>Failing Pattern<\/th>\n<th>Fix<\/th>\n<\/tr>\n<tr>\n<td>Self-served review<\/td>\n<td>A business marks up its own promotional testimonial as an independent review<\/td>\n<td>Use genuine customer review content and identify the reviewed item accurately<\/td>\n<\/tr>\n<tr>\n<td>Unanchored average<\/td>\n<td>One sitewide score is attached to an entity that doesn&#039;t represent the specific reviewed item<\/td>\n<td>Attach <code>AggregateRating<\/code> to the actual product, business, book, or other supported item<\/td>\n<\/tr>\n<tr>\n<td>Third-party aggregation<\/td>\n<td>Imported ratings appear in JSON-LD without the represented reviews being visible on the same page<\/td>\n<td>Mark up only content that users can access on the page and that complies with Google&#039;s policy<\/td>\n<\/tr>\n<\/table><\/figure>\n<p>If Rich Results Test returns \u201cEligible: Not detected,\u201d check these policy patterns before rewriting valid JSON syntax. A tool can identify parse failures, but it can&#039;t turn unsupported or misleading content into eligible review markup.<\/p>\n<p>For teams assessing the trustworthiness of incoming feedback before publishing it, a <a href=\"https:\/\/bragly.io\/tools\/fake-review-checker\">fake review checker<\/a> can be part of the editorial review process. It doesn&#039;t replace Google&#039;s structured-data policies, and it shouldn&#039;t be treated as proof that a page qualifies for stars.<\/p>\n<h2>Why the 2019 Update Changed Everything<\/h2>\n<p>In <strong>September 2019<\/strong>, Google changed how review rich results work and said it would display reviews only for specific schema.org types, including <strong>Book, Course, Event, LocalBusiness, Product, Recipe, and SoftwareApplication<\/strong>. The <a href=\"https:\/\/developers.google.com\/search\/blog\/2019\/09\/making-review-rich-results-more-helpful\">September 2019 Google Search Central announcement<\/a> marked a major shift from broad star-rating tactics to a controlled feature tied to supported entities and search policies.<\/p>\n<p>Before that change, developers often treated review markup as a general enhancement that could be added to almost any page. The narrower rules changed the implementation question. Instead of asking, \u201cWhere can I place a star rating?\u201d developers needed to ask, \u201cWhat specific supported item is being reviewed, and does this page meet Google&#039;s requirements?\u201d<\/p>\n<p>That historical change explains why older tutorials can mislead. A snippet that once appeared to work for a generic business or content page may now parse without producing a review rich result. Modern implementations need an authoritative reviewed entity, visible review content, and a rating that accurately represents the page.<\/p>\n<blockquote>\n<p><strong>The practical consequence:<\/strong> Review schema markup is no longer a broad presentation shortcut. It&#039;s a structured relationship governed by item type, page content, and policy.<\/p>\n<\/blockquote>\n<p>The update also made <code>itemReviewed<\/code> and host-item nesting more important in day-to-day development. A rating has meaning only when Google can connect it to the exact thing receiving the rating.<\/p>\n<h2>Quick Reference for Required and Recommended Fields<\/h2>\n<p>Use this table as a desk reference while editing JSON-LD. Requirements can differ between general schema.org validity and Google&#039;s review rich-result eligibility, so validate against both vocabularies and Search Central documentation.<\/p>\n\n<figure class=\"wp-block-table\"><table><tr>\n<th>Field<\/th>\n<th>Parent Type<\/th>\n<th>Required<\/th>\n<th>Type<\/th>\n<\/tr>\n<tr>\n<td><code>@context<\/code><\/td>\n<td>Any JSON-LD entity<\/td>\n<td>Yes<\/td>\n<td>URL<\/td>\n<\/tr>\n<tr>\n<td><code>@type<\/code><\/td>\n<td>Any JSON-LD entity<\/td>\n<td>Yes<\/td>\n<td>Text<\/td>\n<\/tr>\n<tr>\n<td><code>itemReviewed<\/code><\/td>\n<td><code>Review<\/code><\/td>\n<td>Yes<\/td>\n<td>Typed schema.org item<\/td>\n<\/tr>\n<tr>\n<td><code>reviewRating<\/code><\/td>\n<td><code>Review<\/code><\/td>\n<td>Yes<\/td>\n<td><code>Rating<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>ratingValue<\/code><\/td>\n<td><code>Rating<\/code> or <code>AggregateRating<\/code><\/td>\n<td>Yes<\/td>\n<td>Number or text value<\/td>\n<\/tr>\n<tr>\n<td><code>bestRating<\/code><\/td>\n<td><code>Rating<\/code><\/td>\n<td>Recommended or required for Google review use<\/td>\n<td>Number or text value<\/td>\n<\/tr>\n<tr>\n<td><code>worstRating<\/code><\/td>\n<td><code>Rating<\/code><\/td>\n<td>Recommended<\/td>\n<td>Number or text value<\/td>\n<\/tr>\n<tr>\n<td><code>ratingValue<\/code><\/td>\n<td><code>AggregateRating<\/code><\/td>\n<td>Yes<\/td>\n<td>Number or text value<\/td>\n<\/tr>\n<tr>\n<td><code>reviewCount<\/code><\/td>\n<td><code>AggregateRating<\/code><\/td>\n<td>Yes<\/td>\n<td>Number<\/td>\n<\/tr>\n<tr>\n<td><code>ratingCount<\/code><\/td>\n<td><code>AggregateRating<\/code><\/td>\n<td>Recommended when applicable<\/td>\n<td>Number<\/td>\n<\/tr>\n<tr>\n<td><code>author<\/code><\/td>\n<td><code>Review<\/code><\/td>\n<td>Yes<\/td>\n<td><code>Person<\/code> or <code>Organization<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>datePublished<\/code><\/td>\n<td><code>Review<\/code><\/td>\n<td>Yes, unless an accepted modification date is supplied<\/td>\n<td>Date<\/td>\n<\/tr>\n<tr>\n<td><code>name<\/code><\/td>\n<td><code>Review<\/code><\/td>\n<td>Recommended<\/td>\n<td>Text<\/td>\n<\/tr>\n<tr>\n<td><code>reviewBody<\/code><\/td>\n<td><code>Review<\/code><\/td>\n<td>Recommended<\/td>\n<td>Text<\/td>\n<\/tr>\n<tr>\n<td><code>publisher<\/code><\/td>\n<td><code>Review<\/code><\/td>\n<td>Recommended<\/td>\n<td><code>Person<\/code> or <code>Organization<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>url<\/code><\/td>\n<td><code>Review<\/code> or host item<\/td>\n<td>Recommended<\/td>\n<td>URL<\/td>\n<\/tr>\n<\/table><\/figure>\n<p>Keep <code>ReviewRating<\/code> separate conceptually from <code>AggregateRating<\/code>. An individual review uses a <code>Rating<\/code> object to express one score, while an aggregate uses <code>ratingValue<\/code> and <code>reviewCount<\/code> to summarize a set of ratings. The field names overlap, but their parent entities don&#039;t.<\/p>\n<h2>Where Bragly Fits in a Schema-Friendly Workflow<\/h2>\n<p>Review schema markup only describes review content that your page publishes and can show to users. That creates a practical gap for sites that want to collect first-party feedback without copying ratings from external platforms.<\/p>\n<p>Bragly offers embeddable review and testimonial widgets, review collection forms, automatic synchronization for connected sources, and structured-data output alongside rendered review content. A team still needs to check the page&#039;s item type, visible content, entity relationships, and Google eligibility, but keeping the structured data aligned with the displayed widget reduces the risk of stale or mismatched values.<\/p>\n<hr>\n<p>Bragly helps you collect and display review content directly on your website, then connect visible ratings to accurate structured data for supported entities. Visit <a href=\"https:\/\/bragly.io\">Bragly<\/a> to explore its review widgets and collection workflow before adding review schema markup to your site.<\/p>\n","protected":false},"excerpt":{"rendered":"\u200b\ufeffGoogle requires review schema markup to clearly link ratings to specific supported items, with visible, compliant content on the page to enable rich result display, highlighting the difference between individual and aggregate reviews.\ufeff\u200b","protected":false},"author":1,"featured_media":1703,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_singular_sidebar":"","csco_page_header_type":"","csco_page_load_nextpost":"","footnotes":""},"categories":[1],"tags":[62,60,64,61,63],"class_list":["post-1704","post","type-post","status-publish","format-standard","has-post-thumbnail","category-guide","tag-json-ld-seo","tag-review-schema-markup","tag-rich-snippets","tag-schema-markup-guide","tag-structured-data-reviews","cs-entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Review Schema Markup: A Practical Reference Guide<\/title>\n<meta name=\"description\" content=\"Complete review schema markup reference with JSON-LD examples, required fields, validation tips, and fixes for aggregated vs individual reviews.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.bragly.io\/review-schema-markup\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Review Schema Markup: A Practical Reference Guide\" \/>\n<meta property=\"og:description\" content=\"Complete review schema markup reference with JSON-LD examples, required fields, validation tips, and fixes for aggregated vs individual reviews.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.bragly.io\/review-schema-markup\/\" \/>\n<meta property=\"og:site_name\" content=\"Bragly Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-15T07:05:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-15T07:05:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.bragly.io\/wp-content\/uploads\/2026\/09\/review-schema-markup-json-ld.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Bragly\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@UtsavChopra30\" \/>\n<meta name=\"twitter:site\" content=\"@UtsavChopra30\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bragly\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/\"},\"author\":{\"name\":\"Bragly\",\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/#\\\/schema\\\/person\\\/e4cd80d5acdc7f47fcd3a637a10a84ce\"},\"headline\":\"Review Schema Markup: A Practical Reference Guide\",\"datePublished\":\"2026-09-15T07:05:21+00:00\",\"dateModified\":\"2026-09-15T07:05:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/\"},\"wordCount\":2781,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.bragly.io\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/review-schema-markup-json-ld.jpg\",\"keywords\":[\"JSON-LD SEO\",\"review schema markup\",\"rich snippets\",\"schema markup guide\",\"structured data reviews\"],\"articleSection\":[\"Guide\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/\",\"url\":\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/\",\"name\":\"Review Schema Markup: A Practical Reference Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.bragly.io\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/review-schema-markup-json-ld.jpg\",\"datePublished\":\"2026-09-15T07:05:21+00:00\",\"dateModified\":\"2026-09-15T07:05:38+00:00\",\"description\":\"Complete review schema markup reference with JSON-LD examples, required fields, validation tips, and fixes for aggregated vs individual reviews.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.bragly.io\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/review-schema-markup-json-ld.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.bragly.io\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/review-schema-markup-json-ld.jpg\",\"width\":1672,\"height\":941},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/review-schema-markup\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blogs.bragly.io\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Review Schema Markup: A Practical Reference Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/#website\",\"url\":\"https:\\\/\\\/blogs.bragly.io\\\/\",\"name\":\"Bragly Blog\",\"description\":\"Guides to help you Brag\",\"publisher\":{\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.bragly.io\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/#organization\",\"name\":\"Bragly\",\"url\":\"https:\\\/\\\/blogs.bragly.io\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blogs.bragly.io\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/Favicon.png\",\"contentUrl\":\"https:\\\/\\\/blogs.bragly.io\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/Favicon.png\",\"width\":512,\"height\":512,\"caption\":\"Bragly\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/UtsavChopra30\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/bragly\"],\"description\":\"Display your best customer reviews anywhere \u2014 Webflow, WordPress, Wix, Squarespace and more \u2014 with zero code. Generate AI replies and turn reviews into trust and conversions.\",\"email\":\"hello@bragly.io\",\"legalName\":\"Bragly\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.bragly.io\\\/#\\\/schema\\\/person\\\/e4cd80d5acdc7f47fcd3a637a10a84ce\",\"name\":\"Bragly\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/011322e2665a8ab53c5fcc93beb8c9c6f1d7530822242f61a19bd3d35b16dfdd?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/011322e2665a8ab53c5fcc93beb8c9c6f1d7530822242f61a19bd3d35b16dfdd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/011322e2665a8ab53c5fcc93beb8c9c6f1d7530822242f61a19bd3d35b16dfdd?s=96&d=mm&r=g\",\"caption\":\"Bragly\"},\"sameAs\":[\"https:\\\/\\\/blogs.bragly.io\"],\"url\":\"https:\\\/\\\/blogs.bragly.io\\\/author\\\/bragly\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Review Schema Markup: A Practical Reference Guide","description":"Complete review schema markup reference with JSON-LD examples, required fields, validation tips, and fixes for aggregated vs individual reviews.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.bragly.io\/review-schema-markup\/","og_locale":"en_GB","og_type":"article","og_title":"Review Schema Markup: A Practical Reference Guide","og_description":"Complete review schema markup reference with JSON-LD examples, required fields, validation tips, and fixes for aggregated vs individual reviews.","og_url":"https:\/\/blogs.bragly.io\/review-schema-markup\/","og_site_name":"Bragly Blog","article_published_time":"2026-09-15T07:05:21+00:00","article_modified_time":"2026-09-15T07:05:38+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/blogs.bragly.io\/wp-content\/uploads\/2026\/09\/review-schema-markup-json-ld.jpg","type":"image\/jpeg"}],"author":"Bragly","twitter_card":"summary_large_image","twitter_creator":"@UtsavChopra30","twitter_site":"@UtsavChopra30","twitter_misc":{"Written by":"Bragly","Estimated reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.bragly.io\/review-schema-markup\/#article","isPartOf":{"@id":"https:\/\/blogs.bragly.io\/review-schema-markup\/"},"author":{"name":"Bragly","@id":"https:\/\/blogs.bragly.io\/#\/schema\/person\/e4cd80d5acdc7f47fcd3a637a10a84ce"},"headline":"Review Schema Markup: A Practical Reference Guide","datePublished":"2026-09-15T07:05:21+00:00","dateModified":"2026-09-15T07:05:38+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.bragly.io\/review-schema-markup\/"},"wordCount":2781,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.bragly.io\/#organization"},"image":{"@id":"https:\/\/blogs.bragly.io\/review-schema-markup\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.bragly.io\/wp-content\/uploads\/2026\/09\/review-schema-markup-json-ld.jpg","keywords":["JSON-LD SEO","review schema markup","rich snippets","schema markup guide","structured data reviews"],"articleSection":["Guide"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.bragly.io\/review-schema-markup\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.bragly.io\/review-schema-markup\/","url":"https:\/\/blogs.bragly.io\/review-schema-markup\/","name":"Review Schema Markup: A Practical Reference Guide","isPartOf":{"@id":"https:\/\/blogs.bragly.io\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.bragly.io\/review-schema-markup\/#primaryimage"},"image":{"@id":"https:\/\/blogs.bragly.io\/review-schema-markup\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.bragly.io\/wp-content\/uploads\/2026\/09\/review-schema-markup-json-ld.jpg","datePublished":"2026-09-15T07:05:21+00:00","dateModified":"2026-09-15T07:05:38+00:00","description":"Complete review schema markup reference with JSON-LD examples, required fields, validation tips, and fixes for aggregated vs individual reviews.","breadcrumb":{"@id":"https:\/\/blogs.bragly.io\/review-schema-markup\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.bragly.io\/review-schema-markup\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/blogs.bragly.io\/review-schema-markup\/#primaryimage","url":"https:\/\/blogs.bragly.io\/wp-content\/uploads\/2026\/09\/review-schema-markup-json-ld.jpg","contentUrl":"https:\/\/blogs.bragly.io\/wp-content\/uploads\/2026\/09\/review-schema-markup-json-ld.jpg","width":1672,"height":941},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.bragly.io\/review-schema-markup\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogs.bragly.io\/"},{"@type":"ListItem","position":2,"name":"Review Schema Markup: A Practical Reference Guide"}]},{"@type":"WebSite","@id":"https:\/\/blogs.bragly.io\/#website","url":"https:\/\/blogs.bragly.io\/","name":"Bragly Blog","description":"Guides to help you Brag","publisher":{"@id":"https:\/\/blogs.bragly.io\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.bragly.io\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/blogs.bragly.io\/#organization","name":"Bragly","url":"https:\/\/blogs.bragly.io\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/blogs.bragly.io\/#\/schema\/logo\/image\/","url":"https:\/\/blogs.bragly.io\/wp-content\/uploads\/2026\/01\/Favicon.png","contentUrl":"https:\/\/blogs.bragly.io\/wp-content\/uploads\/2026\/01\/Favicon.png","width":512,"height":512,"caption":"Bragly"},"image":{"@id":"https:\/\/blogs.bragly.io\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/UtsavChopra30","https:\/\/www.linkedin.com\/company\/bragly"],"description":"Display your best customer reviews anywhere \u2014 Webflow, WordPress, Wix, Squarespace and more \u2014 with zero code. Generate AI replies and turn reviews into trust and conversions.","email":"hello@bragly.io","legalName":"Bragly"},{"@type":"Person","@id":"https:\/\/blogs.bragly.io\/#\/schema\/person\/e4cd80d5acdc7f47fcd3a637a10a84ce","name":"Bragly","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/011322e2665a8ab53c5fcc93beb8c9c6f1d7530822242f61a19bd3d35b16dfdd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/011322e2665a8ab53c5fcc93beb8c9c6f1d7530822242f61a19bd3d35b16dfdd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/011322e2665a8ab53c5fcc93beb8c9c6f1d7530822242f61a19bd3d35b16dfdd?s=96&d=mm&r=g","caption":"Bragly"},"sameAs":["https:\/\/blogs.bragly.io"],"url":"https:\/\/blogs.bragly.io\/author\/bragly\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.bragly.io\/wp-json\/wp\/v2\/posts\/1704","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.bragly.io\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.bragly.io\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.bragly.io\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.bragly.io\/wp-json\/wp\/v2\/comments?post=1704"}],"version-history":[{"count":1,"href":"https:\/\/blogs.bragly.io\/wp-json\/wp\/v2\/posts\/1704\/revisions"}],"predecessor-version":[{"id":1707,"href":"https:\/\/blogs.bragly.io\/wp-json\/wp\/v2\/posts\/1704\/revisions\/1707"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.bragly.io\/wp-json\/wp\/v2\/media\/1703"}],"wp:attachment":[{"href":"https:\/\/blogs.bragly.io\/wp-json\/wp\/v2\/media?parent=1704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.bragly.io\/wp-json\/wp\/v2\/categories?post=1704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.bragly.io\/wp-json\/wp\/v2\/tags?post=1704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}