Structured Data Issues | Blue Frog Docs

Structured Data Issues

Diagnose and fix structured data (schema markup) problems to improve search engine understanding and rich results

Structured Data Issues

What This Means

Structured data (schema markup) is code that helps search engines understand your content better. When implemented correctly, it can enable rich results in search (star ratings, prices, FAQs, etc.). Issues with structured data can prevent these enhanced search features or cause validation errors.

Impact on Your Business

Search Visibility:

  • Rich results get higher click-through rates (up to 30% increase)
  • Enhanced listings stand out in search results
  • Product, review, and FAQ snippets increase engagement
  • Recipe, event, and article cards improve discoverability

SEO Performance:

  • Helps Google understand page content and purpose
  • Improves content categorization
  • Supports voice search and AI assistants
  • Essential for Google Merchant Center

Trust and Credibility:

  • Star ratings and reviews build trust
  • Price and availability information helps users
  • FAQ snippets answer questions directly in search
  • Breadcrumbs improve navigation understanding

How to Diagnose

  1. Navigate to Rich Results Test
  2. Enter your page URL or paste code
  3. Click "Test URL"
  4. Review results:
    • Green checkmarks = valid structured data
    • Yellow warnings = recommended improvements
    • Red errors = must fix for rich results

What to Look For:

  • "No rich results detected" - Missing or invalid schema
  • Specific field errors (missing required properties)
  • Warnings about recommended fields
  • Detected item types and their validity

Method 2: Google Search Console

  1. Log in to Google Search Console
  2. Navigate to Enhancements section
  3. Review each structured data type:
    • Products
    • FAQs
    • Breadcrumbs
    • Articles
    • Reviews

What to Look For:

  • Error counts per item type
  • Invalid items requiring fixes
  • Valid with warnings items
  • Trends over time

Method 3: Schema Markup Validator

  1. Navigate to Schema.org Validator
  2. Enter URL or paste code
  3. Review detected schemas and errors

Method 4: Browser DevTools

View structured data in page source:

  1. Open DevTools (F12)
  2. View Page Source (Ctrl+U)
  3. Search for application/ld+json or itemscope
  4. Validate the JSON structure
// Console: Extract all JSON-LD structured data
document.querySelectorAll('script[type="application/ld+json"]').forEach(script => {
  try {
    const data = JSON.parse(script.textContent);
    console.log(data);
  } catch (e) {
    console.error('Invalid JSON-LD:', e);
  }
});

Method 5: Lighthouse SEO Audit

  1. Open Chrome DevTools (F12)
  2. Navigate to "Lighthouse" tab
  3. Select "SEO" category
  4. Generate report
  5. Check for structured data issues in "Additional items to manually check"

Common Structured Data Types

Product Schema

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Premium Wireless Headphones",
  "image": "https://example.com/headphones.jpg",
  "description": "High-quality wireless headphones with noise cancellation",
  "sku": "WH-1000XM4",
  "brand": {
    "@type": "Brand",
    "name": "AudioTech"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/headphones",
    "priceCurrency": "USD",
    "price": "299.99",
    "availability": "https://schema.org/InStock",
    "seller": {
      "@type": "Organization",
      "name": "Example Store"
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": "127"
  }
}

Article Schema

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to Improve Website Performance",
  "author": {
    "@type": "Person",
    "name": "Jane Smith"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Tech Blog",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  },
  "datePublished": "2024-01-15",
  "dateModified": "2024-03-20",
  "image": "https://example.com/article-image.jpg",
  "description": "Learn the best practices for optimizing website speed and performance."
}

FAQ Schema

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is structured data?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Structured data is code in a specific format that helps search engines understand your content better."
      }
    },
    {
      "@type": "Question",
      "name": "How do I add structured data?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "You can add structured data using JSON-LD, Microdata, or RDFa formats in your HTML."
      }
    }
  ]
}
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://example.com"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Products",
      "item": "https://example.com/products"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Headphones",
      "item": "https://example.com/products/headphones"
    }
  ]
}

Local Business Schema

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Acme Coffee Shop",
  "image": "https://example.com/shop.jpg",
  "telephone": "+1-555-123-4567",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "Portland",
    "addressRegion": "OR",
    "postalCode": "97201",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "45.5152",
    "longitude": "-122.6784"
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "07:00",
      "closes": "19:00"
    }
  ]
}

General Fixes

Fix 1: Add JSON-LD Structured Data

Preferred method - add to <head> section:

<head>
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Product",
    "name": "Product Name",
    ...
  }
  </script>
</head>

Fix 2: Fix Missing Required Properties

Common missing required fields:

Schema Type Required Properties
Product name, image, offers (with price, priceCurrency, availability)
Article headline, author, publisher, datePublished, image
LocalBusiness name, address
FAQPage mainEntity (array of Question)
Review itemReviewed, author, reviewRating

Fix 3: Correct Invalid Values

Fix invalid URLs:

// Bad - relative URL
"image": "/product.jpg"

// Good - absolute URL
"image": "https://example.com/product.jpg"

Fix invalid dates:

// Bad - informal date
"datePublished": "January 15, 2024"

// Good - ISO 8601 format
"datePublished": "2024-01-15"

Fix invalid prices:

// Bad - currency symbol in price
"price": "$29.99"

// Good - numeric value only
"price": "29.99",
"priceCurrency": "USD"

Fix 4: Match Structured Data to Page Content

Ensure structured data accurately reflects visible content:

// Must match the actual product name on the page
"name": "Exact Product Name As Shown"

// Must match the actual price displayed
"price": "299.99"

// Must reflect current availability
"availability": "https://schema.org/InStock"

Fix 5: Implement Multiple Schema Types

Combine related schemas:

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "name": "Company Name",
    "url": "https://example.com",
    "logo": "https://example.com/logo.png"
  },
  {
    "@context": "https://schema.org",
    "@type": "WebSite",
    "url": "https://example.com",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://example.com/search?q={search_term_string}",
      "query-input": "required name=search_term_string"
    }
  }
]
</script>

While not required, recommended properties improve rich result eligibility:

Product recommendations:

  • brand
  • aggregateRating
  • review
  • sku or gtin
  • description

Article recommendations:

  • dateModified
  • mainEntityOfPage
  • wordCount
  • articleSection

Platform-Specific Guides

Platform Troubleshooting Guide
Shopify Shopify Structured Data Guide
WordPress WordPress Structured Data Guide
Wix Wix Structured Data Guide
Squarespace Squarespace Structured Data Guide
Webflow Webflow Structured Data Guide

Verification

After implementing structured data:

  1. Test with Rich Results Test:

    • Submit URL to Google's Rich Results Test
    • Verify all items show as valid
    • Check for any warnings or errors
  2. Validate JSON syntax:

    • Use a JSON validator
    • Check for trailing commas, missing quotes
    • Ensure proper nesting
  3. Monitor Search Console:

    • Wait 1-2 weeks for Google to reprocess
    • Check Enhancement reports for status
    • Monitor for new errors
  4. Check rich results in search:

    • Search for your content
    • Look for enhanced listings
    • Note: Rich results are not guaranteed

Common Mistakes

  1. Invalid JSON syntax - Missing commas, quotes, or brackets
  2. Using relative URLs - All URLs must be absolute
  3. Mismatched content - Schema doesn't reflect visible page content
  4. Missing required properties - Each schema type has required fields
  5. Incorrect date formats - Use ISO 8601 (YYYY-MM-DD)
  6. Fake or misleading data - Can result in manual actions
  7. Multiple conflicting schemas - Same type with different values
  8. Using deprecated properties - Check schema.org for current specs
  9. Not updating prices/availability - Must reflect current status
  10. Schema on wrong pages - Product schema only on product pages

Additional Resources

// SYS.FOOTER