مخطط Recipe
كيفية تنفيذ ترميز schema.org/Recipe لنتيجة الوصفة المنسقة في Google — الخصائص المطلوبة والموصى بها، ومتطلبات منصة العرض الدوارة ItemList، وحقول التغذية والوقت والتقييم الشرطية، وخاصية الفيديو، وقاعدة أن الأطباق الحقيقية وحدها تتأهل.
اللغات
مخطط Recipe (schema.org/Recipe) هو بيانات منظمة تعرّف لمحركات البحث اسم طبق الصفحة وصورته ووقت طهيه وتقييماته ومكوناته وتغذيته، لكي تصبح مؤهلة لنتيجة الوصفة المنسقة في Google. لا تُطلب بصورة صارمة سوى image وname، لكن البطاقة الأغنى تُملأ من الخصائص الموصى بها، ومنها aggregateRating وauthor والأوقات وrecipeYield وrecipeIngredient وrecipeInstructions والتصنيف والمطبخ والكلمات المفتاحية والتاريخ وnutrition.calories وvideo. تحتاج منصة عرض الوصفات المتعددة إلى صفحة ItemList على مستوى الموقع المضيف — إما صفحة ملخص ترتبط بوصفات منفصلة أو صفحة شاملة ترتبط بمراسٍ داخلها — ولا يكفي ترميز الوصفة الفردية. كما أن Recipe صالح للأطباق الحقيقية فقط، ويجب أن يطابق الترميز المحتوى المرئي. يمنح الترميز الصالح الأهلية فحسب؛ وتظل Google صاحبة قرار العرض.
Evidence for this claim Schema.org Recipe describes a recipe and its ingredients, instructions, timing, nutrition, and related metadata. Scope: Schema.org Recipe vocabulary. Confidence: high · Verified: Schema.org: Recipe Evidence for this claim Google's Recipe feature requires name and image and documents additional recommended properties; complete valid markup earns eligibility, not guaranteed display or ranking. Scope: Current Google Recipe structured-data requirements. Confidence: high · Verified: Google Search Central: Recipe structured dataالخلاصة — مخطط Recipe هو شيفرة تضيفها إلى صفحة وصفة لكي تعرّف تفاصيل الطهي لمحركات البحث — «هذا اسم الطبق»، و«هذه صورته»، و«يحتاج إلى 20 دقيقة للطهي»، و«هذه المكونات»، و«هذه الخطوات»، و«منحه القراء 4,7 نجمة». تتيح إضافته بصورة صحيحة للصفحة أن تصبح مؤهلة لـ نتيجة الوصفة المنسقة في Google — البطاقة المرئية التي تعرض صورة وتقييماً بالنجوم ووقت الطهي. وعلى خلاف كثير من أنواع المخططات، يحقق هذا النوع فائدة مرئية حقيقية. لكنه لا يضمن ظهور البطاقة، كما أن منصة العرض الدوارة لعدة وصفات تحتاج إلى جزء إضافي (صفحة
ItemList) فوق ترميز كل وصفة.
ما مخطط Recipe؟
عندما تنظر إلى صفحة وصفة، تستطيع بمجرد القراءة تمييز اسم الطبق من وقت الطهي
ومن قائمة المكونات. أما محرك البحث فيرى نصاً عادياً وعليه تخمين أين تنتهي الوصفة
وتبدأ قصة المدونة. يوضح مخطط Recipe ذلك في الشيفرة، مستخدماً مفردات
schema.org المشتركة؛ فيسم كل جزء من الصفحة بما يمثله
فعلاً: name وimage وprepTime وcookTime وقائمة recipeIngredient
وخطوات recipeInstructions وأي aggregateRating بالنجوم.
يُكتب غالباً بصيغة JSON-LD — كتلة شيفرة صغيرة توجد في الصفحة من دون أن تغير مظهرها.
لماذا يستحق التنفيذ؟
الفائدة هي نتيجة الوصفة المنسقة، وهي فائدة جيدة. ففي عمليات البحث عن الوصفات، تعرض Google بطاقات محسنة تضم صورة وتقييماً بالنجوم ووقت الطهي، وأحياناً عدد السعرات الحرارية؛ كما تجمعها في منصة عرض دوارة أو شبكة أعلى الصفحة. وتحصل الوصفات المرمّزة أيضاً على شارات وصفات في صور Google. تبرز هذه البطاقة بصرياً أكثر من رابط أزرق عادي، مع أن Google لا تنشر زيادة مضمونة في معدل النقر أو الترتيب؛ فالفائدة هي المساحة المرئية نفسها، لا رقم زيارات موثقاً.
هذا واحد من نوعي البيانات المنظمة (مع VideoObject الذي تستخدمه صفحات وصفات كثيرة لفيديو طهي مضمن) اللذين ينتجان فعلاً نتيجة منسقة شائعة. إذا كنت تدير موقعاً للطعام، فيستحق هذا التنفيذ بإتقان.
العنصران اللذان لا بد منهما
لا تشترط Google بصورة صارمة سوى خاصيتين:
- name — اسم الطبق (ويجب أن يكون طبقاً حقيقياً، كما سيأتي أدناه).
- image — صورة الطبق النهائي. شروط Google نفسها: أن تكون قابلة للزحف والفهرسة، وأن تستخدم تنسيقاً مدعوماً، وأن تمثل الطبق. وتوصي بصور متعددة بنسب 16x9 و4x3 و1x1، لا تقل كل منها عن 50 000 بكسل. (تزعم بعض الأدلة وجود شرط محدد بعرض 1 200 بكسل؛ ولا تنص وثائق Google عليه.)
لكن الخاصيتين تمنحانك وصفة صالحة بالحد الأدنى، لا البطاقة الكاملة. تُملأ البطاقة الأغنى — التي يتفاعل معها الناس فعلياً — من الخصائص الموصى بها، مع أن وجودها لا يضمن عرض Google لكل حقل:
- author وdatePublished وdescription
- prepTime وcookTime وtotalTime — الأوقات التي تظهر في البطاقة.
- recipeYield — عدد الحصص.
- recipeIngredient — قائمة المكونات.
- recipeInstructions — الخطوات.
- aggregateRating — التقييم بالنجوم (من تقييمات قراء حقيقية).
- nutrition مع calories — يغذي معلومات التغذية.
- recipeCategory وrecipeCuisine وkeywords — تساعد Google على فهم الوصفة وتصنيفها.
- video — إذا كان لديك فيديو طهي.
أكثر ما يخطئ فيه الناس
لا ينتج ترميز الوصفة الفردية، بمفرده، منصة عرض دوارة. منصة عرض الوصفات
المتعددة الجميلة التي تراها أعلى البحث ميزة منفصلة تحتاج إلى صفحة ملخص
ItemList — صفحة تسرد عدة وصفات، ترتبط كل منها بصفحتها الخاصة. يمنح ترميز كل
وصفة بطاقة واحدة على الأكثر. ستجد مزيداً من التفاصيل في علامة التبويب «المتقدم».
وهناك فخان آخران للمبتدئين:
- الترميز الصالح لا يساوي نتيجة منسقة مضمونة. فهو يجعلك مؤهلاً، لكن Google تظل صاحبة قرار عرض البطاقة.
- لا تُقبل سوى الأطباق الحقيقية. مخطط Recipe مخصص لطعام يُحضّر ويؤكل فعلاً. وتضرب Google مثالي «مقشّر وجه» و«أفكار حفلات» بوصفهما اسمين غير صالحين لوصفة. ويعد ترميز «وصفات» غير غذائية مخالفة لسياسة المحتوى.
هل تريد النسخة الكاملة — آليات منصة العرض الدوارة/ItemList، ومعلومات التغذية،
وتنسيق الوقت ISO 8601، ولماذا لا تظهر الوصفات رغم اجتيازها التحقق؟ انتقل إلى
علامة التبويب المتقدم.
Evidence for this claim Schema.org Recipe describes a recipe and its ingredients, instructions, timing, nutrition, and related metadata. Scope: Schema.org Recipe vocabulary. Confidence: high · Verified: Schema.org: Recipe Evidence for this claim Google's Recipe feature requires name and image and documents additional recommended properties; complete valid markup earns eligibility, not guaranteed display or ranking. Scope: Current Google Recipe structured-data requirements. Confidence: high · Verified: Google Search Central: Recipe structured dataالخلاصة — يجعل ترميز schema.org/Recipe (بصيغة JSON-LD عادةً) صفحة الوصفة مؤهلة لـ نتيجة الوصفة المنسقة في Google — بطاقة مرئية (صورة، وتقييم بالنجوم، ووقت طهي، وسعرات حرارية) يمكن أن تظهر في منصة عرض دوارة/شبكة في صفحة النتائج، ومع شارات وصفات في صور Google. لا تُطلب بصورة صارمة سوى
imageوname؛ لكن البطاقة تُبنى فعلياً من مجموعة الخصائص الموصى بها (aggregateRating، وauthor، وcookTime، وprepTime، وtotalTime، وrecipeYield، وrecipeIngredient، وrecipeInstructions، وrecipeCategory، وrecipeCuisine، وkeywords، وdatePublished، وnutrition.calories، وvideo). وهناك حقيقتان في التنفيذ تتجاوزهما معظم الملخصات: منصة عرض الوصفات المتعددة ميزة على مستوى الموقع المضيف تتطلب صفحةItemList— إما صفحة ملخص ترتبط بصفحات وصفات منفصلة، وإما صفحة شاملة ترتبط بمراسي داخلها — فترميز الوصفة وحده يمنح بطاقة واحدة لا منصة عرض دوارة؛ كما أن مخطط Recipe صالح فقط للأطباق الحقيقية (ومن أمثلة Google المضادة «مقشّر وجه» و«أفكار حفلات»). تستخدم الأوقات مدد ISO 8601 (PT20M)، وأكثر أسباب عدم ظهور وصفة صالحة شيوعاً هو عدم تطابق المحتوى بين الترميز والصفحة المرئية. ومع VideoObject، هذا واحد من نوعي البيانات المنظمة في مجموعة CreativeWork اللذين ينتجان نتيجة منسقة حقيقية ومرئية — لا عامل ترتيب أو معدل نقر أو زيارات موثقاً، بل تحسين مرئي فعلياً عند ظهوره.
كيف تبدو نتيجة الوصفة المنسقة — وكيف تُبنى؟
تعرض Google ترميز Recipe بوصفه بطاقة مرئية: صورة image المصغرة، وname،
ونجوم aggregateRating وعددها، ووقت الطهي (من totalTime أو cookTime).
وفي كثير من استعلامات الوصفات، تُجمع هذه البطاقات في منصة عرض دوارة أو شبكة
أعلى النتائج، كما تحصل الوصفات المرمّزة على شارات وصفات في صور Google، وهي
مساحة اكتشاف مهمة لمحتوى الطعام.
تصوغ Google الغرض كله هكذا: “Help users find your recipe content by telling Google about your recipe with structured data.” (ترجمة) «ساعد المستخدمين على العثور على محتوى وصفتك بإخبار Google عن وصفتك باستخدام البيانات المنظمة.» وهذا هو النموذج الذهني: لا تطلب تعزيزاً للترتيب؛ بل تجعل المحتوى قابلاً لقراءة الآلة بما يكفي للتأهل لميزة مرئية محددة.
المطلوب مقابل الموصى به — ولماذا تقلل كلمة «مطلوب» من شأنه؟
هذا هو جدول الخصائص المهم. لا تضع Google علامة «مطلوب» إلا على خاصيتين، وهذا
مضلل فعلاً إن توقفت عن القراءة هناك؛ فوصفة لا تضم سوى name وimage تجتاز
التحقق لكنها تنتج نتيجة ضئيلة وغير جذابة.
مطلوب
| الخاصية | ملاحظات |
|---|---|
name | اسم الطبق. يجب أن يكون طبقاً حقيقياً (انظر سياسة المحتوى أدناه). |
image | صورة الطبق النهائي. يجب أن تكون قابلة للزحف والفهرسة، وفي تنسيق مدعوم، وممثلة للطبق. توصي Google بصور متعددة بنسب 16x9 و4x3 و1x1، لا تقل كل منها عن 50 000 بكسل — ولا يوجد شرط منفصل بعرض 1 200 بكسل كما تذكر بعض الأدلة. |
موصى به (تستخدمه Google لبناء البطاقة الأغنى عندما تقرر عرضها — ولا يجبر ملء هذه الحقول Google على العرض)
| الخاصية | ما الذي تؤثر فيه؟ |
|---|---|
aggregateRating | التقييم بالنجوم + العدد في البطاقة. يخضع لإرشادات مقتطفات المراجعات؛ وإذا عرضت مراجعة واحدة بدلاً من متوسط، فيجب أن يكون المراجع شخصاً أو مؤسسة مسماة. |
author | الإسناد. |
datePublished | إشارة الحداثة؛ تاريخ ISO 8601. |
description | نص الملخص. |
keywords | وسوم نصية حرة (مثل “winter, comfort food”). وليست مثل recipeCategory. |
nutrition.calories | يغذي رقم السعرات الذي قد تعرضه Google. شرطي: إذا عيّنت nutrition.calories، فيجب تعريف recipeYield أيضاً. |
prepTime | مدة التحضير، بصيغة ISO 8601 (PT15M). توجيه Google: اربطها دائماً بـ cookTime. |
cookTime | مدة الطهي، بصيغة ISO 8601 (PT1H). اربطها بـ prepTime. |
totalTime | المدة الإجمالية. استخدم totalTime أو الجمع بين prepTime وcookTime؛ تقبل Google كليهما. |
recipeCategory | نوع الوجبة — “appetizer” و”dessert” و”main course”. |
recipeCuisine | المطبخ الإقليمي — “Mediterranean” و”Thai”. |
recipeIngredient | إدخال واحد لكل مكون، مع الكمية (“2 cups flour”). |
recipeInstructions | الخطوات — ويُفضل أن تكون كائنات HowToStep، ويمكن تجميعها في HowToSection. |
recipeYield | الحصص أو الكمية الناتجة. مطلوب إذا قدّمت أي معلومات تغذية لكل حصة. |
video | كائن VideoObject لفيديو طهي مضمن — اتبع حقوله المطلوبة والموصى بها (انظر أدناه). |
تقبل Google كلاً من totalTime وزوج prepTime/cookTime؛ قدم
totalTime مباشرة متى استطعت، لأنه المدة المنفردة الأرجح ظهوراً في البطاقة.
تستخدم الأوقات مدد ISO 8601 لا نصاً حراً
خطأ شائع في التحقق: cookTime: "20 minutes" غير صالح. تستخدم المدد تنسيق
ISO 8601 — PT (فترة زمنية) مع القيمة — ولذلك تمثل PT20M مدة 20 دقيقة،
وتمثل PT1H30M ساعة ونصفاً. وتستخدم التواريخ مثل datePublished تواريخ
ISO 8601 (2026-07-01). ويعد الخطأ في هذه التنسيقات من أكثر أسباب فشل الوصفة
في Rich Results Test شيوعاً.
تحتاج منصة العرض الدوارة إلى ItemList — ولا يكفي الترميز الفردي
هذه تفصيلة التنفيذ التي تتجاوزها عادةً مقالات «أنواع المخططات» العامة. فهنا شيئان مختلفان:
- بطاقة الوصفة الواحدة — يحصل عليها ترميز Recipe في صفحة الوصفة الفردية.
- منصة عرض الوصفات الدوارة/الشبكة — منصة عرض على مستوى الموقع المضيف، وهي ميزة منفصلة.
لكي تصبح مؤهلاً لمنصة عرض الوصفات المتعددة، تضيف صفحة ItemList — وتدعم
وثائق Google لمنصة العرض على مستوى الموقع المضيف نموذجين مختلفين للصفحة، لا نموذجاً واحداً:
- صفحة ملخص — صفحة (تصنيف أو تجميع — «15 وصفة معكرونة لأيام الأسبوع»)
تضم وصفاً موجزاً لكل عنصر، ويشير كل
ListItemبالترتيب إلى عنوان URL لصفحة تفاصيل وصفة منفصلة تضم بدورها ترميز Recipe كاملاً. وهذا هو النمط الذي تصفه معظم الأدلة. - صفحة شاملة — صفحة واحدة تحتوي بنفسها على الترميز الكامل لكل عنصر، ولا
ترتبط بصفحات تفاصيل منفصلة؛ يحمل كل
ListItemكائنitem(معnameوurlيشير إلى مرساة في الصفحة نفسها) بدلاً من رابط إلى صفحة أخرى.
يوفر كلا النموذجين التسلسل الذي تحتاج إليه Google لمنصة العرض؛ ويعتمد الأنسب على ما إذا كانت وصفاتك موجودة بالفعل في عناوين URL مستقلة (صفحة الملخص)، أم أنك تعرضها كلها في صفحة طويلة واحدة (الصفحة الشاملة).
النتيجة العملية: لا يمكنك الحصول على منصة عرض دوارة من صفحة وصفة عادية واحدة.
تمنح صفحة الوصفة المفردة ذات الترميز الممتاز بطاقة واحدة. وإذا أردت منصة العرض،
فتحتاج إلى أحد نموذجي صفحة ItemList أعلاه، فوق ترميز Recipe الكامل (أو حاوياً
له). وتفويت هذه الخطوة هو السبب الأول لقول الناس: «ترميزي مثالي، لكنني لا أحصل
على منصة عرض دوارة».
معلومات التغذية
nutrition كائن NutritionInformation، وnutrition.calories هو الحقل
الذي تسميه Google صراحةً؛ فهو يغذي رقم السعرات الذي قد تعرضه Google في النتيجة
المنسقة. وهذا متطلب بيانات، لا وعد بمعلومات تغذية مستقلة قابلة للتوسيع في كل مرة؛
فوثائق Google تصف الحقل لا عنصراً مضموناً في الواجهة. وهناك شرط مرفق: إذا عيّنت
nutrition.calories، فيجب تعريف recipeYield أيضاً، لأن السعرات تُذكر لكل
حصة وتحتاج Google إلى عدد الحصص لفهم الرقم. ويمكنك إضافة fatContent و
proteinContent وcarbohydrateContent وsodiumContent وغيرها، لكن الجمع
بين calories وrecipeYield هو الأرجح ظهوراً. القيم سلاسل نصية مع الوحدات
(“240 calories” و”9 g”). وهي كتلة صغيرة تضيف إلى بطاقتك تفصيلاً مرئياً ومميزاً،
لذا يستحق ملؤها لكل وصفة تستطيع حسابها بصدق.
الفيديو: حيث يلتقي Recipe بـ VideoObject
تضمّن صفحات وصفات كثيرة فيديو طهي، وخاصية video هي موضع تقاطع Recipe و
VideoObject — نوعي CreativeWork اللذين ينتجان نتائج منسقة حقيقية ومرئية. توجيه
Google صريح: تستقبل video كائن VideoObject كاملاً، ويجب أن يتبع حقول
هذه الميزة المطلوبة والموصى بها (name وdescription وthumbnailUrl و
uploadDate وcontentUrl أو embedUrl)؛ فتقديم عنوان فيديو مجرد لا يساوي
ملف التعريف الفرعي الموثق. وعند تنفيذه بصورة صحيحة، يمكن للوصفة التأهل لمعالجة
الفيديو ولبطاقة الوصفة، ويصبح الفيديو مؤهلاً لمساحاته الخاصة. توجد متطلبات كل
حقل للفيديو مع موضوع VideoObject — ويندرج الكائن نفسه داخل الوصفة، لذا يستحق
ضبط الترميز بدلاً من وضع video: {} فارغ.
سياسة المحتوى: أطباق حقيقية فقط وتطابق مع الصفحة المرئية
هذا أكثر أسباب عدم ظهور ترميز صالح شيوعاً. يقتصر مخطط Recipe على الطعام الحقيقي. وتقول Google بوضوح: “Use Recipe structured data for content about preparing a particular dish. For example, ‘facial scrub’ or ‘party ideas’ are not valid names for a dish.” (ترجمة) «استخدم بيانات Recipe المنظمة للمحتوى المتعلق بإعداد طبق معين. فعلى سبيل المثال، لا يُعد «مقشر الوجه» أو «أفكار الحفلات» اسمين صالحين لطبق.» وتعد «وصفة» منظف منزلي، أو مقالة «وصفة للنجاح»، أو تجميع أفكار حفلات مموهاً بترميز Recipe مخالفة للسياسة؛ فقد يجتاز الترميز المدقق النحوي ولا يحصل مطلقاً على بطاقة، أو يتعرض لإجراء يدوي.
والنصف الثاني من المبدأ نفسه: يجب أن يعكس الترميز الصفحة المرئية. إذا سرد JSON-LD مكونات أو أوقاتاً أو تقييماً لا توجد فعلياً في الصفحة التي يراها المستخدم، فهذا عدم تطابق تعده Google إشارة غير مرغوب فيها. لا ترمّز إلا ما هو موجود حقاً.
لماذا لا تعرض وصفتك الصالحة نتيجة منسقة؟
الأهلية ليست عرضاً. التسلسل المعتاد: يجب أن تكون الصفحة مفهرسة، وأن يكون
الترميز صالحاً، وأن يكون المحتوى طبقاً حقيقياً معروضاً في الصفحة، وأن
تقرر أنظمة Google أن عرضه يستحق — وهي قاعدة الأهلية لا الضمان التي تحكم كل
نوع من البيانات المنظمة. إذا اجتزت صلاحية الترميز وسياسة المحتوى ولم تر بطاقة،
فالأسباب الشائعة هي: أوقات مكتوبة بنص حر بدلاً من ISO 8601، أو aggregateRating
بلا عدد، أو صورة لا تلبي إرشادات الحجم/النسبة، أو توقع منصة عرض دوارة بلا صفحة
ItemList.
لمعرفة موضع Recipe في الصورة الأوسع للبيانات المنظمة، راجع مركزي Schema Markup وStructured Data الأشمل اللذين تندرج تحتهما هذه المقالة.
ملخص الذكاء الاصطناعي
خلاصة مكثفة للنسخة المتقدمة:
- ما هو: ترميز
schema.org/Recipe(بصيغة JSON-LD عادةً) الذي يعرّف اسم طبق الوصفة وصورتها وأوقاتها ومكوناتها وخطواتها وتغذيتها وفيديوها وتقييماتها، لكي تنتج Google نتيجة الوصفة المنسقة — بطاقة مرئية (صورة ونجوم ووقت طهي وسعرات) قد تظهر في منصة عرض دوارة/شبكة ومع شارات وصفات في صور Google. - فائدة مرئية لا عامل ترتيب موثقاً: مع VideoObject، هو أحد نوعي CreativeWork اللذين ينتجان نتيجة منسقة حقيقية وشائعة ومرئية. ولا تنشر Google أرقام ترتيب أو معدل نقر أو زيارات له.
- المطلوب مقابل الموصى به: لا تُطلب سوى
imageوname، لكن ذلك ينتج نتيجة ضئيلة. تُملأ البطاقة الأغنى من المجموعة الموصى بها عندما تختار Google عرضها:aggregateRatingوauthorوcookTimeوprepTimeوtotalTimeوrecipeYieldوrecipeIngredientوrecipeInstructionsوrecipeCategoryوrecipeCuisineوkeywordsوdatePublishedوnutrition.caloriesوvideo. - شرط الصورة: قابلة للزحف والفهرسة، وفي تنسيق مدعوم، وممثلة للطبق؛ وتوصي Google بصور متعددة بنسب 16:9/4:3/1:1 لا تقل كل منها عن 50 000 بكسل — ولا توجد قاعدة منفصلة بعرض 1 200 بكسل كما تزعم بعض الأدلة.
- الحقول الشرطية: تتطلب
nutrition.caloriesوجودrecipeYield؛ وتقترنprepTimeبـcookTime(أو استخدمtotalTimeبدلاً من الزوج)؛ وتحتاج المراجعة الواحدة (لا المتوسط) إلى مراجعPerson/Organizationمسمى. - تحتاج منصة العرض إلى صفحة
ItemList— بنموذجين: صفحة ملخص ترتبط عناصرListItemفيها بصفحات وصفات منفصلة، أو صفحة شاملة تشير عناصرListItemفيها إلى مراسي داخلها. يمنح ترميز الوصفة وحده بطاقة واحدة لا منصة عرض دوارة — وهذه أكثر الخطوات تفويتاً. - الأوقات مدد ISO 8601:
PT20MوPT1H30M— لا “20 minutes”. تنسيق المدة الخاطئ من أبرز أسباب فشل التحقق. - الفيديو: تستقبل خاصية
videoكائنVideoObjectكاملاً يتبع حقوله المطلوبة/الموصى بها (nameوdescriptionوthumbnailUrlوuploadDateوcontentUrl/embedUrl)؛ ولا يكفي عنوان مجرد. - سياسة المحتوى (أبرز أسباب عدم ظهور ترميز صالح): تتأهل الأطباق الحقيقية فقط — ومن أمثلة Google المضادة «مقشّر وجه» و«أفكار حفلات». ويجب أيضاً أن يعكس الترميز الصفحة المرئية.
- الأهلية لا تساوي العرض: صفحة مفهرسة + ترميز صالح + طبق حقيقي معروض في الصفحة
- قرار Google أن عرضه يستحق. لا يمنحك الترميز الصالح سوى الأهلية.
الوثائق الرسمية
وثائق من المصادر الأصلية لدى محركات البحث.
Google — البيانات المنظمة
- بيانات Recipe (Recipe، HowTo) المنظمة — المرجع الموثوق: الخصائص المطلوبة (
imageوname) مقابل الموصى بها، وإرشادات سياسة المحتوى (الأطباق الحقيقية فقط)، وحقول التغذية/الوقت/التقييم. - منصة عرض الوصفات على مستوى الموقع المضيف/صفحات الملخص (معرض البحث) — موضع وصف نمط صفحة ملخص
ItemListالذي يشغّل منصة عرض الوصفات المتعددة. - بيانات VideoObject المنظمة — متطلبات كائن
VideoObjectالذي يندرج في خاصيةvideoللوصفة. - Rich Results Test — للتحقق من ترميز الوصفة وأهلية النتيجة المنسقة.
Bing / Microsoft
- ترميز موقعك بالبيانات المنظمة — دعم Bing العام للبيانات المنظمة (schema.org، مع التوصية بـ JSON-LD).
اقتباسات من المصدر
تصريحات موثقة من Google. عندما تعرض صفحة المصدر النص، ينقلك الرابط العميق إلى المقطع المقتبس.
وثائق Google — الغرض من ترميز Recipe
- “Help users find your recipe content by telling Google about your recipe with structured data.” (ترجمة) «ساعد المستخدمين على العثور على محتوى وصفتك بإخبار Google عن وصفتك باستخدام البيانات المنظمة.» الانتقال إلى الاقتباس
وثائق Google — سياسة المحتوى (الأطباق الحقيقية فقط)
- “Use Recipe structured data for content about preparing a particular dish. For example, ‘facial scrub’ or ‘party ideas’ are not valid names for a dish.” (ترجمة) «تقتصر بيانات Recipe المنظمة على المحتوى الذي يشرح إعداد طبق بعينه؛ فلا يصلح «مقشّر وجه» ولا «أفكار حفلات» اسماً لطبق.» الانتقال إلى الاقتباس
مرجع سريع لمخطط Recipe
المطلوب (الحد الأدنى لاجتياز التحقق)
Recipe.name + Recipe.image. هذا كل شيء — لكنه ينتج بطاقة محدودة التفاصيل.
الأطباق الحقيقية فقط.
الموصى به — ما يبني البطاقة الأغنى عندما تعرض Google واحدة
| الخاصية | تؤثر في | الشرط |
|---|---|---|
aggregateRating | التقييم بالنجوم + العدد | يخضع لقواعد مقتطف المراجعة؛ تحتاج المراجعة الواحدة إلى مراجع مسمى |
author | الإسناد | — |
datePublished | الحداثة (تاريخ ISO 8601) | — |
description | نص الملخص | — |
keywords | وسوم نصية حرة | — |
nutrition.calories | رقم السعرات | يتطلب تعيين recipeYield أيضاً |
prepTime | مدة التحضير (PT15M) | اقترن بـ cookTime |
cookTime | مدة الطهي (PT1H) | اقترن بـ prepTime |
totalTime | المدة الإجمالية | استخدمها أو استخدم prepTime+cookTime |
recipeCategory | نوع الوجبة (حلوى، طبق رئيسي) | — |
recipeCuisine | المطبخ (تايلاندي، إيطالي) | — |
recipeIngredient | قائمة المكونات (إدخال لكل مكون مع الكمية) | — |
recipeInstructions | الخطوات (HowToStep) | — |
recipeYield | الحصص | مطلوب إذا عُيّنت nutrition.calories |
video | كائن VideoObject متداخل (فيديو طهي) | يجب أن يتبع حقول VideoObject المطلوبة |
بطاقة واحدة مقابل منصة عرض دوارة
| بطاقة وصفة واحدة | منصة عرض الوصفات الدوارة/الشبكة | |
|---|---|---|
| أين توجد؟ | صفحة وصفة فردية | صفحة ItemList (ملخص أو شاملة) |
| الترميز | Recipe في الصفحة | الملخص: ItemList → ListItem → عناوين URL لوصفات منفصلة. الشاملة: ItemList → ListItem → مراسٍ في الصفحة نفسها |
| هل يكفي ترميز كل وصفة وحده؟ | نعم | لا — تحتاج إلى أحد نموذجي صفحة ItemList |
تنسيقات تُفشل التحقق
- يجب أن تكون الأوقات مدد ISO 8601:
PT20Mلا “20 minutes”. - يجب أن تكون التواريخ بصيغة ISO 8601:
2026-07-01. - يحتاج
aggregateRatingإلىratingCount/reviewCount. - يجب أن تكون
imageقابلة للزحف/الفهرسة وفي تنسيق مدعوم؛ وتوصي Google بصور متعددة بنسب 16x9 / 4x3 / 1x1 لا تقل كل منها عن 50 000 بكسل (لا قاعدة بعرض 1 200 بكسل).
حقائق سريعة
- التنسيق: JSON-LD (موصى به وأسهل صيانة).
- الترميز الصالح = مؤهل لا مضمون العرض، وليس عامل ترتيب/معدل نقر موثقاً.
- الأطباق الحقيقية فقط — «مقشّر وجه» و«أفكار حفلات» هما مثالا Google غير الصالحين.
- تستقبل
videoكائنVideoObjectكاملاً لا عنواناً مجرداً. - يجب أن يطابق الترميز الصفحة المرئية.
هل أحصل على بطاقة أم منصة عرض دوارة أم لا شيء؟
اتبع الأسئلة بالترتيب:
1. هل تتناول الصفحة إعداد طبق حقيقي؟
- لا — إنها «وصفة للنجاح»، أو «وصفة» منزلية/حرفية، أو تجميع أفكار حفلات، أو مقشر وجه ← ترميز Recipe غير صالح. تسمي Google «مقشّر وجه» و«أفكار حفلات» اسمي طبق غير صالحين. لا ترمّزها بوصفها Recipe.
- نعم ← تابع.
2. هل يطابق الترميز ما يراه المستخدم فعلياً في الصفحة؟
- لا (أوقات أو مكونات أو تقييم في JSON-LD ليست في الصفحة) ← أصلح ذلك أولاً؛ فعدم التطابق مشكلة في سياسة المحتوى قد تمنع النتيجة حتى إن اجتاز النحو التحقق.
- نعم ← تابع.
3. هل لديك name + image، إلى جانب المجموعة الموصى بها؟
name+imageفقط ← يجتاز التحقق، لكنك ستحصل على بطاقة محدودة التفاصيل. أضفaggregateRatingوالأوقات (ISO 8601) وrecipeIngredientوrecipeInstructionsوrecipeYieldوnutrition.caloriesوrecipeCategory/recipeCuisine.- المجموعة الموصى بها كاملة في صفحة وصفة فردية ← أنت مؤهل لبطاقة وصفة واحدة.
4. هل تريد منصة عرض الوصفات المتعددة الدوارة/الشبكة؟
- نعم، ولكل وصفة صفحة خاصة ← أضف صفحة ملخص
ItemList(صفحة تجميع/تصنيف) تسرد JSON-LD فيها، بالترتيب، عناوين URL لصفحات الوصفات الفردية التي تحمل كل منها ترميز Recipe كاملاً. - نعم، لكنك تعرض كل الوصفات في صفحة طويلة واحدة ← استخدم نموذج صفحة
ItemListالشاملة بدلاً من ذلك: يحمل كلListItemترميز العنصر نفسه ويشير إلى مرساة في الصفحة ذاتها بدلاً من عنوان URL منفصل. - لا ← بطاقة الوصفة الواحدة من الخطوة 3 هي كل ما تحتاج إليه.
- في الحالتين: لن ينتج ترميز الوصفة وحده منصة عرض دوارة؛ بل تحتاج إلى أحد
نموذجي صفحة
ItemList.
5. هل تضمّن فيديو طهي؟
- أضف خاصية
videoبوصفها كائنVideoObjectكاملاً (nameوdescriptionوthumbnailUrlوuploadDateوcontentUrl/embedUrl)، لا عنواناً مجرداً، لكي يتأهل لمعالجة الفيديو إلى جانب بطاقة الوصفة.
قاعدة عامة: يمنح ترميز كل وصفة البطاقة؛ وتمنح صفحة ملخص ItemList
منصة العرض الدوارة؛ ولا يهم أي منهما إذا لم تتناول الصفحة طبقاً حقيقياً يطابق
المحتوى المرئي.
خرافات مخطط Recipe وأخطاء ينبغي تجنبها
خرافة: «إضافة مخطط Recipe تضمن نتيجة منسقة». لا يضمن أي نوع من البيانات المنظمة العرض. يجعل ترميز Recipe الصفحة مؤهلة؛ ولا بد أن تكون الصفحة مفهرسة، وأن تتناول طبقاً حقيقياً، وأن تطابق المحتوى المرئي، وأن تقرر أنظمة Google أن البطاقة تستحق العرض. صالح لا يساوي معروضاً.
خرافة: «أي محتوى على هيئة قائمة يُعد وصفة». هذا خطأ ومخالفة لسياسة المحتوى. مخطط Recipe مخصص للأطباق الحقيقية. ومن أمثلة Google المضادة «مقشّر وجه» و«أفكار حفلات»، إذ لا يصلح أي منهما اسماً لطبق. وليست مقالة «وصفة للإنتاجية»، أو شرح حرفة، أو منظف منزلي Recipe، حتى إن ضمت قائمة خطوات مرقمة.
خرافة: «ترميز الوصفة الفردية وحده يمنحك منصة عرض دوارة».
خطأ. منصة عرض الوصفات المتعددة الدوارة/الشبكة ميزة على مستوى الموقع المضيف تحتاج إلى
صفحة ItemList — إما صفحة ملخص ترتبط بصفحات وصفات منفصلة، وإما صفحة
شاملة ترتبط بمراسٍ داخلها. يمنح ترميز كل وصفة، مهما كان كاملاً، بطاقة واحدة على
الأكثر. وهذا أشهر أسباب عبارة «ترميزي مثالي لكن لا توجد منصة عرض دوارة».
خطأ: كتابة الأوقات بنص حر. تفشل cookTime: "20 minutes". المدد بصيغة
ISO 8601: PT20M وPT1H30M. والتواريخ أيضاً بصيغة ISO 8601:
2026-07-01. واقرن prepTime بـ cookTime (أو قدم totalTime بدلاً
من الزوج) بدلاً من خلطها بصورة غير متسقة.
خطأ: aggregateRating بلا عدد. قيمة تقييم من دون ratingCount/
reviewCount غير صالحة؛ ويجب أن تكون التقييمات حقيقية من القراء ومعروضة فعلاً
في الصفحة، لا مختلقة أو مستوردة من مكان آخر. وإذا عرضت مراجعة واحدة بدلاً من
متوسط، فتحتاج إلى مراجع Person أو Organization مسمى.
خطأ: nutrition.calories بلا recipeYield. شرط Google صريح: إذا
عيّنت nutrition.calories، فيجب تعريف recipeYield أيضاً، لأن رقم السعرات
لكل حصة.
خطأ: التوقف عند الخاصيتين المطلوبتين. تجتاز name + image التحقق،
لكنها تعرض نتيجة ضئيلة وغير جذابة. تُبنى البطاقة التي ينقرها الناس من المجموعة
الموصى بها: الأوقات والمكونات والكمية والتقييم والتغذية.
خطأ: عنوان video مجرد. تستقبل خاصية video كائن VideoObject
(name وdescription وthumbnailUrl وuploadDate وcontentUrl/
embedUrl) كاملاً، لا سلسلة نصية. وغالباً ما يفشل كائن video الناقص في
التحقق لهذه الميزة.
خطأ: ترميز لا يطابق الصفحة. إذا اختلفت المكونات أو الأوقات أو الكمية أو التقييم في JSON-LD عما يراه الزائر، تعده Google عدم تطابق ويمكن أن تمنع النتيجة حتى مع نحو صالح.
الحد الأدنى مقابل Recipe JSON-LD الغني
الوصفة الصالحة بالحد الأدنى
الخاصيتان المطلوبتان فقط. هذا يجتاز التحقق — لكنه يمنح، في أفضل الأحوال، بطاقة محدودة التفاصيل بلا أوقات أو تقييم أو مكونات:
{
"@context": "https://schema.org/",
"@type": "Recipe",
"name": "Weeknight Tomato Basil Pasta",
"image": "https://example.com/img/tomato-basil-pasta.jpg"
}الوصفة نفسها بتنفيذ غني
المجموعة الموصى بها كاملة — أوقات بصيغة ISO 8601، وقوائم مكونات وخطوات،
ومتوسط تقييم حقيقي، وتغذية مقترنة بـ recipeYield، وكائن VideoObject متداخل.
هذا ما يبني البطاقة الأغنى (تلبي الصور أدناه إرشادات Google: 50 000 بكسل ونسب
16x9/4x3/1x1):
{
"@context": "https://schema.org/",
"@type": "Recipe",
"name": "Weeknight Tomato Basil Pasta",
"image": [
"https://example.com/img/pasta-1x1.jpg",
"https://example.com/img/pasta-4x3.jpg",
"https://example.com/img/pasta-16x9.jpg"
],
"author": { "@type": "Person", "name": "Patrick Stox" },
"datePublished": "2026-07-01",
"description": "A 25-minute tomato and basil pasta for busy weeknights.",
"recipeCategory": "main course",
"recipeCuisine": "Italian",
"keywords": "pasta, tomato, weeknight, vegetarian",
"prepTime": "PT10M",
"cookTime": "PT15M",
"totalTime": "PT25M",
"recipeYield": "4 servings",
"recipeIngredient": [
"1 lb spaghetti",
"2 cups cherry tomatoes, halved",
"1/2 cup fresh basil, torn",
"3 tbsp olive oil",
"2 cloves garlic, minced"
],
"recipeInstructions": [
{ "@type": "HowToStep", "text": "Boil the spaghetti until al dente." },
{ "@type": "HowToStep", "text": "Saute garlic and tomatoes in olive oil." },
{ "@type": "HowToStep", "text": "Toss with pasta and fresh basil; serve." }
],
"nutrition": {
"@type": "NutritionInformation",
"calories": "480 calories"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"ratingCount": "312"
},
"video": {
"@type": "VideoObject",
"name": "How to make Weeknight Tomato Basil Pasta",
"description": "A quick walkthrough of the 25-minute tomato basil pasta.",
"thumbnailUrl": "https://example.com/img/pasta-video-thumb.jpg",
"contentUrl": "https://example.com/video/tomato-basil-pasta.mp4",
"uploadDate": "2026-07-01"
}
}تحتاج منصة العرض الدوارة إلى صفحة ItemList — ملخص أو شاملة
للحصول على منصة عرض الوصفات المتعددة، تضيف أحد نموذجي صفحة ItemList.
صفحة ملخص — تحمل صفحة (مثل «15 وصفة معكرونة لأيام الأسبوع») كائن
ItemList يشير، بالترتيب، إلى صفحات وصفات فردية منفصلة — يحمل كل منها ترميز
Recipe كاملاً مثل الوصفة أعلاه:
{
"@context": "https://schema.org/",
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"url": "https://example.com/recipes/tomato-basil-pasta"
},
{
"@type": "ListItem",
"position": 2,
"url": "https://example.com/recipes/garlic-butter-linguine"
}
]
}صفحة شاملة — تضم صفحة واحدة الترميز الكامل لكل وصفة، ولا ترتبط بصفحات
خارجية؛ يحمل كل ListItem كائن item ببيانات الوصفة نفسها وurl يشير إلى
مرساة في الصفحة ذاتها:
{
"@context": "https://schema.org/",
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "Recipe",
"name": "Weeknight Tomato Basil Pasta",
"url": "https://example.com/recipes/roundup#tomato-basil-pasta"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@type": "Recipe",
"name": "Garlic Butter Linguine",
"url": "https://example.com/recipes/roundup#garlic-butter-linguine"
}
}
]
}يوفر كلا النموذجين التسلسل الذي تحتاج إليه Google؛ ومن دون أحدهما تحصل على بطاقات فردية لا منصة عرض دوارة.
حالات فشل شائعة في Rich Results Test ← الإصلاحات
| العَرَض / الخطأ | السبب المحتمل | الإصلاح |
|---|---|---|
| رفض حقل المدة | cookTime: "20 minutes" | استخدم ISO 8601: "PT20M" |
| تاريخ غير صالح | تاريخ بنص حر | تاريخ ISO 8601: "2026-07-01" |
aggregateRating غير صالح | لا يوجد عدد | أضف ratingCount / reviewCount |
| بطاقة محدودة التفاصيل بلا وقت/تقييم | name + image فقط | أضف الخصائص الموصى بها |
| ليست وصفة صالحة | محتوى ليس طبقاً («أفكار حفلات») | لا تستخدم ترميز Recipe |
| لا منصة عرض دوارة رغم جودة الترميز | لا توجد صفحة ItemList | أضف صفحة ملخص أو صفحة شاملة |
فشل تحسين video | عنوان مجرد في video | استخدم كائن VideoObject كاملاً |
| تجاهل حقل التغذية/السعرات | تعيين nutrition.calories بلا recipeYield | أضف recipeYield إلى جانب nutrition.calories |
اختبر نفسك: مخطط Recipe
خمسة أسئلة سريعة عن schema.org/Recipe، والفصل بين المطلوب والموصى به، وآليات منصة العرض الدوارة، وسياسة المحتوى. اختر إجابة لكل سؤال ثم تحقق.
موارد تستحق وقتك
كتاباتي عن هذا الموضوع
لم أنشر دليلاً مستقلاً خاصاً بي عن مخطط Recipe؛ لذا، بدلاً من إحالتك إلى شيء غير موجود، الأفضل بصدق توجيهك إلى المصادر الأصلية أدناه وإلى العمل المرتبط بالبيانات المنظمة في هذا الموقع. للمفردات الأوسع وموضع Recipe فيها، راجع مركزي Schema Markup وStructured Data؛ ولزاوية الذكاء الاصطناعي، راجع مخطط البيانات للذكاء الاصطناعي.
من أنحاء القطاع
- بيانات Recipe المنظمة (Google Search Central) — المرجع الموثوق للخصائص المطلوبة/الموصى بها، وسياسة المحتوى، وحقول التغذية/الوقت/التقييم.
- معرض البحث / منصة عرض الوصفات على مستوى الموقع المضيف (Google) — موضع توثيق نمط صفحة ملخص
ItemListوراء منصة العرض الدوارة. - بيانات VideoObject المنظمة (Google) — متطلبات كائن
VideoObjectالذي يندرج في خاصيةvideoللوصفة. - Rich Results Test (Google) — للتحقق من الترميز والأهلية.
يغطي كل من Yoast وSemrush وAIOSEO Recipe بدقة معقولة على المستوى السطحي؛
وسيخبرونك بأنه يمنح نجوماً ووقت طهي وصورة. لكنهم يتوقفون قبل عمق التنفيذ: آليات
منصة عرض ItemList، وخصائص التغذية، وتنسيق مدة ISO 8601، وحالات فشل التحقق
الشائعة. هذا هو النوع الفرعي الوحيد من CreativeWork الذي لا تكمن فجوة المنافسين
في الدقة؛ بل في منح Recipe فقرة واحدة بين ستة أنواع أخرى، من دون أي من تفاصيل
أهلية منصة العرض الدوارة أو استكشاف الأخطاء أعلاه. وهذا هو الفارق هنا.
سجل التغييرات
تم التحديث في 13 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 11 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 18 يوليو 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.