{"id":1456,"date":"2026-06-15T09:00:00","date_gmt":"2026-06-15T14:00:00","guid":{"rendered":"https:\/\/tolinku.com\/blog\/?p=1456"},"modified":"2026-03-07T03:49:25","modified_gmt":"2026-03-07T08:49:25","slug":"structured-data-app-content","status":"publish","type":"post","link":"https:\/\/tolinku.com\/blog\/structured-data-app-content\/","title":{"rendered":"Structured Data for App Content in Search"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Structured data tells search engines about your content in a machine-readable format. For mobile apps, structured data serves two purposes: it can generate <a href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/structured-data\/intro-structured-data\" rel=\"nofollow noopener\" target=\"_blank\">rich results<\/a> in search (showing app ratings, prices, and screenshots) and it connects your web content to your app via deep link annotations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide covers the specific <a href=\"https:\/\/schema.org\/\" rel=\"nofollow noopener\" target=\"_blank\">schema.org<\/a> types and properties relevant to app content, with implementation examples. For the broader app indexing setup, see <a href=\"https:\/\/tolinku.com\/blog\/google-app-indexing-setup\/\">Google App Indexing<\/a>. For getting app content into search, see <a href=\"https:\/\/tolinku.com\/blog\/app-content-search-results\/\">app content in search results<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How Structured Data Works for Apps<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Search engines parse structured data from your web pages to understand:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>What your content is<\/strong> (product, article, recipe, software application).<\/li>\n<li><strong>What actions are available<\/strong> (view, buy, download, play).<\/li>\n<li><strong>Where those actions can be performed<\/strong> (website, Android app, iOS app).<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">When Google sees structured data declaring that a product page can be viewed in an Android app, it may show an &quot;Open in app&quot; button in mobile search results.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SoftwareApplication Schema<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For your app&#39;s main landing page, use the <a href=\"https:\/\/schema.org\/SoftwareApplication\" rel=\"nofollow noopener\" target=\"_blank\">SoftwareApplication<\/a> type:<\/p>\n\n\n\n<pre><code class=\"language-html\">&lt;script type=&quot;application\/ld+json&quot;&gt;\n{\n  &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n  &quot;@type&quot;: &quot;SoftwareApplication&quot;,\n  &quot;name&quot;: &quot;YourApp&quot;,\n  &quot;operatingSystem&quot;: &quot;Android, iOS&quot;,\n  &quot;applicationCategory&quot;: &quot;FinanceApplication&quot;,\n  &quot;description&quot;: &quot;Track expenses, set budgets, and manage your personal finances.&quot;,\n  &quot;url&quot;: &quot;https:\/\/www.yourapp.com&quot;,\n  &quot;downloadUrl&quot;: [\n    &quot;https:\/\/play.google.com\/store\/apps\/details?id=com.yourapp.android&quot;,\n    &quot;https:\/\/apps.apple.com\/app\/yourapp\/id123456789&quot;\n  ],\n  &quot;screenshot&quot;: [\n    {\n      &quot;@type&quot;: &quot;ImageObject&quot;,\n      &quot;url&quot;: &quot;https:\/\/www.yourapp.com\/images\/screenshot-1.png&quot;,\n      &quot;caption&quot;: &quot;Budget overview dashboard&quot;\n    },\n    {\n      &quot;@type&quot;: &quot;ImageObject&quot;,\n      &quot;url&quot;: &quot;https:\/\/www.yourapp.com\/images\/screenshot-2.png&quot;,\n      &quot;caption&quot;: &quot;Expense tracking screen&quot;\n    }\n  ],\n  &quot;author&quot;: {\n    &quot;@type&quot;: &quot;Organization&quot;,\n    &quot;name&quot;: &quot;YourApp Inc.&quot;,\n    &quot;url&quot;: &quot;https:\/\/www.yourapp.com&quot;\n  },\n  &quot;offers&quot;: {\n    &quot;@type&quot;: &quot;Offer&quot;,\n    &quot;price&quot;: &quot;0&quot;,\n    &quot;priceCurrency&quot;: &quot;USD&quot;\n  },\n  &quot;aggregateRating&quot;: {\n    &quot;@type&quot;: &quot;AggregateRating&quot;,\n    &quot;ratingValue&quot;: &quot;4.7&quot;,\n    &quot;ratingCount&quot;: &quot;12500&quot;,\n    &quot;bestRating&quot;: &quot;5&quot;\n  }\n}\n&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">MobileApplication Subtype<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For more specificity, use <a href=\"https:\/\/schema.org\/MobileApplication\" rel=\"nofollow noopener\" target=\"_blank\">MobileApplication<\/a>:<\/p>\n\n\n\n<pre><code class=\"language-html\">&lt;script type=&quot;application\/ld+json&quot;&gt;\n{\n  &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n  &quot;@type&quot;: &quot;MobileApplication&quot;,\n  &quot;name&quot;: &quot;YourApp&quot;,\n  &quot;operatingSystem&quot;: &quot;Android 8.0+&quot;,\n  &quot;applicationCategory&quot;: &quot;FinanceApplication&quot;,\n  &quot;storageRequirements&quot;: &quot;25 MB&quot;,\n  &quot;permissions&quot;: &quot;Camera, Location (optional)&quot;,\n  &quot;offers&quot;: {\n    &quot;@type&quot;: &quot;Offer&quot;,\n    &quot;price&quot;: &quot;0&quot;,\n    &quot;priceCurrency&quot;: &quot;USD&quot;,\n    &quot;availability&quot;: &quot;https:\/\/schema.org\/InStock&quot;\n  }\n}\n&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">What This Generates<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Google may show a rich result card:<\/p>\n\n\n\n<pre><code>YourApp - Budget Tracker\n\u2605\u2605\u2605\u2605\u2605 4.7 (12,500) \u00b7 Free \u00b7 Finance\nTrack expenses, set budgets, and manage your personal finances.\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This rich result has a higher CTR than a plain blue link because it shows the rating, price, and category directly in the SERP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ViewAction for Deep Linking<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>potentialAction<\/code> property with <code>ViewAction<\/code> tells search engines that content can be opened in an app:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Basic ViewAction<\/h3>\n\n\n\n<pre><code class=\"language-html\">&lt;script type=&quot;application\/ld+json&quot;&gt;\n{\n  &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n  &quot;@type&quot;: &quot;WebPage&quot;,\n  &quot;name&quot;: &quot;Summer Collection&quot;,\n  &quot;url&quot;: &quot;https:\/\/www.yourapp.com\/collections\/summer&quot;,\n  &quot;potentialAction&quot;: {\n    &quot;@type&quot;: &quot;ViewAction&quot;,\n    &quot;target&quot;: &quot;https:\/\/www.yourapp.com\/collections\/summer&quot;\n  }\n}\n&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">When combined with <code>assetlinks.json<\/code> and <code>apple-app-site-association<\/code> verification, Google knows this URL opens in your app.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ViewAction with Explicit App Target<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For more control, specify the app target explicitly:<\/p>\n\n\n\n<pre><code class=\"language-html\">&lt;script type=&quot;application\/ld+json&quot;&gt;\n{\n  &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n  &quot;@type&quot;: &quot;Product&quot;,\n  &quot;name&quot;: &quot;Running Shoes X&quot;,\n  &quot;url&quot;: &quot;https:\/\/www.yourapp.com\/products\/running-shoes-x&quot;,\n  &quot;potentialAction&quot;: {\n    &quot;@type&quot;: &quot;ViewAction&quot;,\n    &quot;target&quot;: [\n      &quot;https:\/\/www.yourapp.com\/products\/running-shoes-x&quot;,\n      {\n        &quot;@type&quot;: &quot;EntryPoint&quot;,\n        &quot;urlTemplate&quot;: &quot;android-app:\/\/com.yourapp.android\/https\/www.yourapp.com\/products\/running-shoes-x&quot;,\n        &quot;actionPlatform&quot;: [\n          &quot;https:\/\/schema.org\/AndroidPlatform&quot;\n        ]\n      },\n      {\n        &quot;@type&quot;: &quot;EntryPoint&quot;,\n        &quot;urlTemplate&quot;: &quot;https:\/\/www.yourapp.com\/products\/running-shoes-x&quot;,\n        &quot;actionPlatform&quot;: [\n          &quot;https:\/\/schema.org\/IOSPlatform&quot;\n        ]\n      }\n    ]\n  }\n}\n&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This declares that the product page can be viewed on Android (via App Links), iOS (via Universal Links), and the web.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Content-Type-Specific Markup<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Different content types use different schema.org types. Here are the most common for app content:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Products<\/h3>\n\n\n\n<pre><code class=\"language-html\">&lt;script type=&quot;application\/ld+json&quot;&gt;\n{\n  &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n  &quot;@type&quot;: &quot;Product&quot;,\n  &quot;name&quot;: &quot;Wireless Earbuds Pro&quot;,\n  &quot;description&quot;: &quot;Noise-cancelling wireless earbuds with 24-hour battery life&quot;,\n  &quot;image&quot;: &quot;https:\/\/www.yourapp.com\/images\/earbuds-pro.jpg&quot;,\n  &quot;brand&quot;: {\n    &quot;@type&quot;: &quot;Brand&quot;,\n    &quot;name&quot;: &quot;AudioBrand&quot;\n  },\n  &quot;offers&quot;: {\n    &quot;@type&quot;: &quot;Offer&quot;,\n    &quot;price&quot;: &quot;79.99&quot;,\n    &quot;priceCurrency&quot;: &quot;USD&quot;,\n    &quot;availability&quot;: &quot;https:\/\/schema.org\/InStock&quot;,\n    &quot;url&quot;: &quot;https:\/\/www.yourapp.com\/products\/earbuds-pro&quot;\n  },\n  &quot;aggregateRating&quot;: {\n    &quot;@type&quot;: &quot;AggregateRating&quot;,\n    &quot;ratingValue&quot;: &quot;4.5&quot;,\n    &quot;reviewCount&quot;: &quot;340&quot;\n  },\n  &quot;potentialAction&quot;: {\n    &quot;@type&quot;: &quot;ViewAction&quot;,\n    &quot;target&quot;: &quot;https:\/\/www.yourapp.com\/products\/earbuds-pro&quot;\n  }\n}\n&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Articles<\/h3>\n\n\n\n<pre><code class=\"language-html\">&lt;script type=&quot;application\/ld+json&quot;&gt;\n{\n  &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n  &quot;@type&quot;: &quot;Article&quot;,\n  &quot;headline&quot;: &quot;How to Start Running: A Beginner&#39;s Guide&quot;,\n  &quot;author&quot;: {\n    &quot;@type&quot;: &quot;Person&quot;,\n    &quot;name&quot;: &quot;Jane Smith&quot;\n  },\n  &quot;datePublished&quot;: &quot;2026-01-15&quot;,\n  &quot;dateModified&quot;: &quot;2026-03-01&quot;,\n  &quot;publisher&quot;: {\n    &quot;@type&quot;: &quot;Organization&quot;,\n    &quot;name&quot;: &quot;YourApp&quot;,\n    &quot;logo&quot;: {\n      &quot;@type&quot;: &quot;ImageObject&quot;,\n      &quot;url&quot;: &quot;https:\/\/www.yourapp.com\/logo.png&quot;\n    }\n  },\n  &quot;image&quot;: &quot;https:\/\/www.yourapp.com\/images\/running-guide.jpg&quot;,\n  &quot;potentialAction&quot;: {\n    &quot;@type&quot;: &quot;ViewAction&quot;,\n    &quot;target&quot;: &quot;https:\/\/www.yourapp.com\/articles\/running-beginners-guide&quot;\n  }\n}\n&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Recipes<\/h3>\n\n\n\n<pre><code class=\"language-html\">&lt;script type=&quot;application\/ld+json&quot;&gt;\n{\n  &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n  &quot;@type&quot;: &quot;Recipe&quot;,\n  &quot;name&quot;: &quot;Classic Margherita Pizza&quot;,\n  &quot;author&quot;: {&quot;@type&quot;: &quot;Person&quot;, &quot;name&quot;: &quot;Chef Mario&quot;},\n  &quot;datePublished&quot;: &quot;2026-02-10&quot;,\n  &quot;prepTime&quot;: &quot;PT20M&quot;,\n  &quot;cookTime&quot;: &quot;PT15M&quot;,\n  &quot;totalTime&quot;: &quot;PT35M&quot;,\n  &quot;recipeYield&quot;: &quot;4 servings&quot;,\n  &quot;recipeCategory&quot;: &quot;Main Course&quot;,\n  &quot;recipeCuisine&quot;: &quot;Italian&quot;,\n  &quot;recipeIngredient&quot;: [\n    &quot;500g pizza dough&quot;,\n    &quot;200g mozzarella&quot;,\n    &quot;100g tomato sauce&quot;,\n    &quot;Fresh basil&quot;\n  ],\n  &quot;recipeInstructions&quot;: [\n    {\n      &quot;@type&quot;: &quot;HowToStep&quot;,\n      &quot;text&quot;: &quot;Preheat oven to 250C (480F).&quot;\n    },\n    {\n      &quot;@type&quot;: &quot;HowToStep&quot;,\n      &quot;text&quot;: &quot;Roll out dough on a floured surface.&quot;\n    }\n  ],\n  &quot;potentialAction&quot;: {\n    &quot;@type&quot;: &quot;ViewAction&quot;,\n    &quot;target&quot;: &quot;https:\/\/www.yourapp.com\/recipes\/margherita-pizza&quot;\n  }\n}\n&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Events<\/h3>\n\n\n\n<pre><code class=\"language-html\">&lt;script type=&quot;application\/ld+json&quot;&gt;\n{\n  &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n  &quot;@type&quot;: &quot;Event&quot;,\n  &quot;name&quot;: &quot;Summer Music Festival 2026&quot;,\n  &quot;startDate&quot;: &quot;2026-07-15T18:00:00&quot;,\n  &quot;endDate&quot;: &quot;2026-07-15T23:00:00&quot;,\n  &quot;location&quot;: {\n    &quot;@type&quot;: &quot;Place&quot;,\n    &quot;name&quot;: &quot;Central Park&quot;,\n    &quot;address&quot;: &quot;New York, NY&quot;\n  },\n  &quot;offers&quot;: {\n    &quot;@type&quot;: &quot;Offer&quot;,\n    &quot;price&quot;: &quot;75&quot;,\n    &quot;priceCurrency&quot;: &quot;USD&quot;,\n    &quot;url&quot;: &quot;https:\/\/www.yourapp.com\/events\/summer-festival&quot;\n  },\n  &quot;potentialAction&quot;: {\n    &quot;@type&quot;: &quot;ViewAction&quot;,\n    &quot;target&quot;: &quot;https:\/\/www.yourapp.com\/events\/summer-festival&quot;\n  }\n}\n&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Implementation Patterns<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Server-Side Rendering<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Generate structured data on the server for each page:<\/p>\n\n\n\n<pre><code class=\"language-javascript\">\/\/ Express.js example\napp.get(&#39;\/products\/:id&#39;, async (req, res) =&gt; {\n  const product = await getProduct(req.params.id);\n\n  const structuredData = {\n    &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n    &quot;@type&quot;: &quot;Product&quot;,\n    &quot;name&quot;: product.name,\n    &quot;description&quot;: product.description,\n    &quot;image&quot;: product.imageUrl,\n    &quot;url&quot;: `https:\/\/www.yourapp.com\/products\/${product.id}`,\n    &quot;offers&quot;: {\n      &quot;@type&quot;: &quot;Offer&quot;,\n      &quot;price&quot;: product.price,\n      &quot;priceCurrency&quot;: &quot;USD&quot;\n    },\n    &quot;potentialAction&quot;: {\n      &quot;@type&quot;: &quot;ViewAction&quot;,\n      &quot;target&quot;: `https:\/\/www.yourapp.com\/products\/${product.id}`\n    }\n  };\n\n  res.render(&#39;product&#39;, {\n    product,\n    structuredData: JSON.stringify(structuredData)\n  });\n});\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Template Helper<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Create a reusable function for generating structured data:<\/p>\n\n\n\n<pre><code class=\"language-javascript\">function appViewAction(url) {\n  return {\n    &quot;@type&quot;: &quot;ViewAction&quot;,\n    &quot;target&quot;: [\n      url,\n      {\n        &quot;@type&quot;: &quot;EntryPoint&quot;,\n        &quot;urlTemplate&quot;: `android-app:\/\/com.yourapp.android\/https\/www.yourapp.com${new URL(url).pathname}`,\n        &quot;actionPlatform&quot;: [&quot;https:\/\/schema.org\/AndroidPlatform&quot;]\n      }\n    ]\n  };\n}\n\n\/\/ Usage\nconst productSchema = {\n  &quot;@context&quot;: &quot;https:\/\/schema.org&quot;,\n  &quot;@type&quot;: &quot;Product&quot;,\n  &quot;name&quot;: product.name,\n  &quot;potentialAction&quot;: appViewAction(`https:\/\/www.yourapp.com\/products\/${product.id}`)\n};\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Validation and Testing<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Google&#39;s Rich Results Test<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use the <a href=\"https:\/\/search.google.com\/test\/rich-results\" rel=\"nofollow noopener\" target=\"_blank\">Rich Results Test<\/a> to validate your structured data. Enter your URL and verify:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No errors in the structured data.<\/li>\n<li>All required properties are present.<\/li>\n<li>The preview shows the expected rich result.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Schema.org Validator<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use the <a href=\"https:\/\/validator.schema.org\/\" rel=\"nofollow noopener\" target=\"_blank\">Schema.org Validator<\/a> for general schema validation (not Google-specific).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Search Console Enhancement Report<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After deploying structured data, monitor the Enhancement reports in <a href=\"https:\/\/search.google.com\/search-console\" rel=\"nofollow noopener\" target=\"_blank\">Google Search Console<\/a>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Valid items:<\/strong> Pages with correctly parsed structured data.<\/li>\n<li><strong>Warnings:<\/strong> Non-critical issues (missing optional properties).<\/li>\n<li><strong>Errors:<\/strong> Critical issues that prevent rich results (missing required properties, invalid values).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Common Errors<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Error<\/th>\n<th>Fix<\/th>\n<\/tr>\n<\/thead>\n<tbody><tr>\n<td>Missing <code>@context<\/code><\/td>\n<td>Add <code>&quot;@context&quot;: &quot;https:\/\/schema.org&quot;<\/code><\/td>\n<\/tr>\n<tr>\n<td>Invalid <code>price<\/code> value<\/td>\n<td>Use a number string, not text (<code>&quot;79.99&quot;<\/code>, not <code>&quot;$79.99&quot;<\/code>)<\/td>\n<\/tr>\n<tr>\n<td>Missing <code>image<\/code><\/td>\n<td>Add an image URL for any type that requires it<\/td>\n<\/tr>\n<tr>\n<td>Invalid date format<\/td>\n<td>Use ISO 8601 format (<code>&quot;2026-01-15&quot;<\/code>)<\/td>\n<\/tr>\n<tr>\n<td>Mismatched <code>@type<\/code> and properties<\/td>\n<td>Ensure properties match the declared type<\/td>\n<\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Tolinku and Structured Data<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/tolinku.com\/features\/deep-linking\">Tolinku<\/a> provides the deep link routing that <code>potentialAction<\/code> targets point to. When you configure routes in the <a href=\"https:\/\/tolinku.com\/docs\/concepts\/deep-linking\/\">Tolinku dashboard<\/a>, the URLs work as both web page links and app deep links, making your <code>ViewAction<\/code> targets functional for both web users and app users.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For Google App Indexing setup, see <a href=\"https:\/\/tolinku.com\/blog\/google-app-indexing-setup\/\">Google App Indexing<\/a>. For the broader strategy, see <a href=\"https:\/\/tolinku.com\/blog\/app-indexing-seo-mobile-apps\/\">app indexing and SEO for mobile apps<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Add structured data to surface app content in search results. Implement SoftwareApplication, ViewAction, and deep link schema markup for rich search results.<\/p>\n","protected":false},"author":2,"featured_media":1455,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Structured Data for App Content in Search","rank_math_description":"Add structured data to surface app content in search results. Implement SoftwareApplication, MobileApplication, and deep link schema markup.","rank_math_focus_keyword":"structured data app content","rank_math_canonical_url":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_facebook_image":"https:\/\/tolinku.com\/blog\/wp-content\/uploads\/2026\/03\/og-structured-data-app-content.png","rank_math_facebook_image_id":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_twitter_image":"https:\/\/tolinku.com\/blog\/wp-content\/uploads\/2026\/03\/og-structured-data-app-content.png","footnotes":""},"categories":[16],"tags":[64,20,354,368,69,367,63,359],"class_list":["post-1456","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-marketing","tag-app-indexing","tag-deep-linking","tag-google-search","tag-json-ld","tag-mobile-development","tag-schema-markup","tag-seo","tag-structured-data"],"_links":{"self":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts\/1456","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/comments?post=1456"}],"version-history":[{"count":4,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts\/1456\/revisions"}],"predecessor-version":[{"id":2607,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts\/1456\/revisions\/2607"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/media\/1455"}],"wp:attachment":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/media?parent=1456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/categories?post=1456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/tags?post=1456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}