08 · Schema Markup
Structured data, verbatim.
Copy these JSON-LD blocks straight into the page <head>. Validate with the Rich Results Test before pushing live.
Organization (eatcookjoy.com — root layout)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "EatCookJoy UAE",
"url": "https://eatcookjoy.com/",
"logo": "https://eatcookjoy.com/logo.png",
"sameAs": [
"https://www.instagram.com/eatcookjoy",
"https://www.linkedin.com/company/eatcookjoy",
"https://www.tiktok.com/@eatcookjoy"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer service",
"areaServed": "AE",
"availableLanguage": ["en", "ar"]
}
}
</script>
LocalBusiness · FoodService (per chef / per emirate page)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FoodService",
"name": "EatCookJoy — Private Chef Dubai",
"image": "https://eatcookjoy.com/areas/dubai-hero.jpg",
"priceRange": "AED 380 - AED 4,500",
"servesCuisine": ["Indian", "Italian", "Arabic", "Filipino", "Continental"],
"areaServed": {
"@type": "City", "name": "Dubai"
},
"address": {
"@type": "PostalAddress",
"addressCountry": "AE",
"addressRegion": "Dubai"
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
"opens": "09:00", "closes": "23:00"
}
}
</script>
Recipe (every /recipes/* URL)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "Saffron Chicken Mandi",
"image": ["https://eatcookjoy.com/recipes/saffron-chicken-mandi.jpg"],
"author": { "@type": "Organization", "name": "EatCookJoy" },
"datePublished": "2026-05-17",
"recipeCuisine": "Arabic",
"recipeCategory": "Main course",
"keywords": "halal, preservative-free, dinner, UAE",
"prepTime": "PT15M", "cookTime": "PT30M", "totalTime": "PT45M",
"recipeYield": "4 servings",
"nutrition": { "@type": "NutritionInformation", "calories": "620 kcal" },
"recipeIngredient": [
"1 kg chicken thighs, bone-in",
"2 cups basmati rice",
"0.5 g saffron threads"
],
"recipeInstructions": [
{ "@type": "HowToStep", "text": "Marinate chicken with yogurt and spices for 30 min." }
]
}
</script>
Service + Offer (chef package pages)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service",
"serviceType": "Private Chef Dinner Party",
"provider": { "@type": "Organization", "name": "EatCookJoy UAE" },
"areaServed": ["Dubai", "Abu Dhabi", "Sharjah"],
"offers": {
"@type": "Offer",
"price": "380.00",
"priceCurrency": "AED",
"availability": "https://schema.org/InStock"
}
}
</script>
Person + Organization (stackbirds.xyz)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://stackbirds.xyz/#org",
"name": "Stackbirds",
"url": "https://stackbirds.xyz/",
"founder": { "@id": "https://azizsaif.com/#me" },
"areaServed": ["AE", "IN", "GB", "US"],
"sameAs": [
"https://github.com/azizsaif1967-afk",
"https://www.linkedin.com/in/azizsaif/",
"https://azizsaif.com/"
]
},
{
"@type": "Person",
"@id": "https://azizsaif.com/#me",
"name": "Aziz Saif",
"jobTitle": "Founder · Stackbirds",
"worksFor": { "@id": "https://stackbirds.xyz/#org" },
"sameAs": [
"https://stackbirds.xyz/",
"https://github.com/azizsaif1967-afk"
]
}
]
}
</script>
Validation
After every push, run the Rich Results Test on the changed URL and the Schema.org validator on the raw JSON-LD. Track rich-result eligibility in Search Console under Enhancements.