Example: Adding Structured Data to a Page
Scenario: Creating a Product Page with Structured Data
Step 1: Create Page in Back Office
- Navigate to Pages module in Baldr-Bo
- Click "Create Page"
- Fill in basic information:
- Title: "Premium Wireless Headphones"
- Slug: "premium-wireless-headphones"
- Path: "/products/premium-wireless-headphones"
Step 2: Add SEO Metadata
Navigate to the SEO tab and fill in:
Basic SEO:
- Meta Title: "Premium Wireless Headphones | YourStore"
- Meta Description: "Experience crystal-clear audio with our premium wireless headphones. 30-hour battery, noise cancellation, and premium comfort."
Open Graph:
- OG Title: "Premium Wireless Headphones - Best Audio Quality"
- OG Description: "Experience superior sound with our premium headphones"
- OG Image: "https://yourwebsite.com/images/headphones-og.jpg"
Step 3: Add Structured Data
In the "Données structurées (Schema.org JSON-LD)" section, add:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Premium Wireless Headphones",
"description": "Experience crystal-clear audio with our premium wireless headphones featuring 30-hour battery life, active noise cancellation, and premium comfort.",
"image": [
"https://yourwebsite.com/images/headphones-main.jpg",
"https://yourwebsite.com/images/headphones-side.jpg",
"https://yourwebsite.com/images/headphones-case.jpg"
],
"brand": {
"@type": "Brand",
"name": "AudioPro"
},
"sku": "HEAD-WL-001",
"offers": {
"@type": "Offer",
"url": "https://yourwebsite.com/products/premium-wireless-headphones",
"priceCurrency": "EUR",
"price": "299.99",
"priceValidUntil": "2025-12-31",
"availability": "https://schema.org/InStock",
"seller": {
"@type": "Organization",
"name": "YourStore"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "127"
}
}
Step 4: Save and Publish
Click "Save" or "Create Page" to publish.
Step 5: Verify Implementation
- Visit the page on your frontend
- View page source (Right-click → "View Page Source")
- Search for
<script type="application/ld+json"> - Your structured data should be visible in the
<head>section
Step 6: Test with Google
- Go to Google Rich Results Test
- Enter your page URL or paste the code
- Check for errors or warnings
- Fix any issues and re-save
Expected Result
When rendered, the page will include:
<head>
<title>Premium Wireless Headphones | YourStore</title>
<meta name="description" content="Experience crystal-clear audio...">
<!-- Open Graph tags -->
<meta property="og:title" content="Premium Wireless Headphones - Best Audio Quality">
<meta property="og:description" content="Experience superior sound...">
<meta property="og:image" content="https://yourwebsite.com/images/headphones-og.jpg">
<!-- Structured Data -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Premium Wireless Headphones",
...
}
</script>
</head>
Benefits
With this structured data, Google may show:
- ⭐ Star ratings in search results
- 💰 Price information
- 📦 Availability status
- 🖼️ Product images in rich results
- 📊 Enhanced product cards
More Examples
Homepage with Organization Schema
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "YourCompany",
"url": "https://yourwebsite.com",
"logo": "https://yourwebsite.com/logo.png",
"description": "Leading provider of quality products since 2010",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "Paris",
"postalCode": "75001",
"addressCountry": "FR"
},
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+33-1-23-45-67-89",
"contactType": "customer service",
"email": "contact@yourwebsite.com"
},
"sameAs": [
"https://www.facebook.com/yourcompany",
"https://twitter.com/yourcompany",
"https://www.linkedin.com/company/yourcompany"
]
}
Blog Article
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "10 Tips for Better Audio Quality",
"description": "Learn how to maximize your listening experience with these proven tips",
"image": "https://yourwebsite.com/blog/audio-tips.jpg",
"datePublished": "2025-01-08T10:00:00+00:00",
"dateModified": "2025-01-08T10:00:00+00:00",
"author": {
"@type": "Person",
"name": "John Smith",
"url": "https://yourwebsite.com/author/john-smith"
},
"publisher": {
"@type": "Organization",
"name": "YourCompany",
"logo": {
"@type": "ImageObject",
"url": "https://yourwebsite.com/logo.png",
"width": 600,
"height": 60
}
},
"articleSection": "Audio",
"keywords": ["audio quality", "headphones", "listening tips"]
}
FAQ Page
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is your return policy?",
"acceptedAnswer": {
"@type": "Answer",
"text": "We accept returns within 30 days of purchase for a full refund. The product must be in its original condition and packaging."
}
},
{
"@type": "Question",
"name": "Do you offer international shipping?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, we ship to over 50 countries worldwide. Shipping costs and delivery times vary by location."
}
},
{
"@type": "Question",
"name": "What payment methods do you accept?",
"acceptedAnswer": {
"@type": "Answer",
"text": "We accept all major credit cards (Visa, MasterCard, American Express), PayPal, and bank transfers."
}
}
]
}
Troubleshooting
Common Issues
Issue: JSON syntax error
- Solution: Use a JSON validator like jsonlint.com
- Check for missing commas, brackets, or quotes
Issue: Structured data not showing in search results
- Solution: It can take weeks for Google to index and display rich results
- Verify your implementation with Google Search Console
- Make sure the data matches the visible page content
Issue: Validation warnings
- Solution: Review the specific warning in the Rich Results Test
- Add missing recommended fields
- Ensure data accuracy
Best Practices Reminder
✅ Do:
- Match structured data with visible page content
- Keep data up to date
- Use high-quality images
- Include all required fields
- Test before publishing
❌ Don't:
- Add fake reviews or ratings
- Include data not on the page
- Use outdated information
- Ignore validation errors
- Copy-paste without customizing