البيانات المنظمة بصيغة JSON-LD: مثالان جاهزان للنسخ والاختبار
الجواب المختصر: JSON-LD كتلة JSON داخل وسم
<script type="application/ld+json"> تصف الصفحة لمحركات البحث، وهي الصيغة التي توصي بها Google للبيانات المنظمة. انسخ أحد المثالين أدناه، واستبدل القيم التي فيها example.com بحقائق ظاهرة في صفحتك، ثم افحص النتيجة في Rich Results Test من Google. الشيفرة الصالحة تجعل الصفحة مؤهلة للنتائج الغنية، لكن Google لا تضمن ظهورها.
ما JSON-LD، وماذا تفعل به Google؟
تعرّف Google البيانات المنظمة بأنها «a standardized format for providing information about a page and classifying the page content»، أي صيغة موحدة لتقديم معلومات عن الصفحة وتصنيف محتواها (Google). ومعظم المفردات مأخوذة من schema.org، وJSON-LD إحدى ثلاث طرق لكتابتها. أما الطريقتان الأخريان، Microdata وRDFa، فتضيفان سمات إلى HTML المرئي. وJSON-LD يحتفظ بكل شيء في كتلة واحدة منفصلة، فتستطيع إضافتها أو إصلاحها دون أن تلمس التصميم.
وتقول Google إن الصيغ الثلاث كلها مقبولة بالقدر نفسه ما دام الترميز صالحًا ومنفّذًا تنفيذًا سليمًا. ومع ذلك توصي بـ JSON-LD إن سمحت بيئتك بذلك، لأنه «the easiest solution for website owners to implement and maintain at scale»، أي أسهل حل لأصحاب المواقع في التنفيذ والصيانة على نطاق واسع (Google).
وهذا ما قد تكسبه: تكتب Google أن البيانات المنظمة «can enable search results that are more engaging to users»، أي قد تتيح نتائج بحث أكثر جذبًا للمستخدمين، وتسمّي ذلك النتائج الغنية (Rich Results). ولديها معرض للميزات المدعومة، منها Article وBreadcrumb وEvent وOrganization وProduct وRecipe. ونقطة أخرى من مقدمة Google: اعتمد على وثائق Google نفسها لمعرفة سلوك البحث، لا على schema.org التي فيها سمات وكائنات أكثر مما يحتاجه بحث Google.
وثلاث قواعد من الإرشادات العامة للبيانات المنظمة لدى Google تنطبق قبل أن تكتب أي شيفرة:
- صِف الصفحة التي يوجد عليها الترميز، وصِف فقط ما يراه الزوار فيها.
- لا تحجب عن Googlebot الصفحات التي تحمل بيانات منظمة، لا بـ robots.txt ولا بـ
noindex ولا بما يشبههما. - املأ كل خاصية مطلوبة في النوع الذي تستخدمه. فالعناصر التي تنقصها واحدة «are not eligible for rich results»، أي غير مؤهلة للنتائج الغنية.
المثال 1: ترميز Organization لصفحتك الرئيسية
توصي Google بوضع ترميز Organization في صفحتك الرئيسية أو في صفحة واحدة تصف المؤسسة، مثل صفحة «من نحن». ولا تحتاج إليه في كل صفحة (Google). وليس لهذا النوع خصائص مطلوبة؛ وتوصي Google بإضافة ما ينطبق منها. استبدل كل قيمة:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "دراجات المثال",
"url": "https://www.example.com/",
"logo": "https://www.example.com/images/logo.png",
"description": "تصنع دراجات المثال دراجات هوائية على القياس.",
"email": "contact@example.com"
}
</script>
ما تفعله الخصائص بحسب صفحة Google:
-
name: الاسم نفسه الذي تستخدمه اسمًا لموقعك. -
url: عنوان موقعك، وهو يساعد Google على تعرّف المؤسسة تعرّفًا فريدًا. -
logo: لا يقل عن 112×112 بكسل، ويمكن الزحف إليه وفهرسته. وقد يساعد Google في تحديد الشعار الذي تعرضه في نتائج البحث وفي لوحات المعرفة. -
description وemail: تفاصيل اختيارية. أضف address أو contactPoint أو sameAs (صفحة تعريف على موقع آخر) إن كانت تنطبق عليك فقط.
وإذا كان هناك نوع فرعي أدق يناسبك فتوصي Google به، مثل OnlineStore للمتجر أو نوع فرعي من LocalBusiness للمطعم.
المثال 2: Article ومسار التنقل في مقال مدونة
تفهم Google عناصر عدة في صفحة واحدة، سواء أدخلت بعضها في بعض أو سردتها منفصلة (Google). يسرد هذا المثال عنصرين في مصفوفة JSON واحدة، لكل منهما @context خاص به، وهو النمط الذي تعرضه Google للعناصر المنفردة:
<script type="application/ld+json">
[
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "كيف تختار خوذة دراجة",
"image": [
"https://www.example.com/photos/helmet-16x9.jpg",
"https://www.example.com/photos/helmet-4x3.jpg",
"https://www.example.com/photos/helmet-1x1.jpg"
],
"datePublished": "2026-10-12T08:00:00+02:00",
"dateModified": "2026-11-04T09:20:00+01:00",
"author": [
{
"@type": "Person",
"name": "ليلى أحمد",
"url": "https://www.example.com/team/layla-ahmad"
}
]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "المدونة", "item": "https://www.example.com/blog" },
{ "@type": "ListItem", "position": 2, "name": "ركوب الدراجات", "item": "https://www.example.com/blog/cycling" },
{ "@type": "ListItem", "position": 3, "name": "كيف تختار خوذة دراجة" }
]
}
]
</script>
Article. تقبل Google الأنواع Article وNewsArticle وBlogPosting. ولا تذكر خصائص مطلوبة، وتوصي بـ author وdatePublished وdateModified وheadline وimage، لتساعد Google على «show better title text, images, and date information»، أي عرض نص عنوان وصور ومعلومات تاريخ أفضل (Google). اكتب التواريخ بصيغة ISO 8601 مع المنطقة الزمنية؛ فإن غابت استخدمت Google المنطقة الزمنية لـ Googlebot. وأدرج كل مؤلف في إدخال مستقل بنوعه واسمه وعنوانه (url). وأبقِ العنوان قصيرًا، لأن «long titles may be truncated on some devices»، أي قد تُقتطع العناوين الطويلة على بعض الأجهزة. وفي الصور توصي Google بعدة ملفات عالية الدقة بنسب 16x9 و4x3 و1x1 وثيقة الصلة بالمقال، لا شعارات.
مسار التنقل (Breadcrumbs). القواعد هنا صارمة. يحتاج BreadcrumbList إلى إدخالين ListItem على الأقل، ويحتاج كل إدخال عادةً إلى position وname وitem (العنوان). والإدخال الأخير وحده يجوز أن يترك item؛ وعندئذٍ تستخدم Google عنوان الصفحة نفسها (Google). وتوصي Google بمسار نموذجي يسلكه المستخدم بدل نسخة من بنية عنوان URL، وتذكر أن الميزة متاحة على سطح المكتب. وقراءتنا للإرشادات: اعرض المسار نفسه ظاهرًا في الصفحة، لأن الترميز لأشياء لا يراها القراء غير مسموح.
كيف تختبر JSON-LD قبل النشر وبعده؟
- Rich Results Test (search.google.com/test/rich-results). تسمّيه Google «the official Google tool for testing your structured data»، أي الأداة الرسمية من Google لاختبار بياناتك المنظمة. وتقبل صفحة الأداة عنوانًا أو شيفرة ملصقة، فتستطيع اختبار مثال قبل نشره. عالج الأخطاء الحرجة أولًا؛ وتقول Google إن التنبيهات غير الحرجة اختيارية للتأهل.
- Schema Markup Validator (validator.schema.org). تصفه صفحة الاختبار لدى Google بأنه يفحص كل ترميز مبني على schema.org «without Google feature specific warnings»، أي دون تحذيرات خاصة بميزات Google. استخدمه حين لا تناسب نوعَك أي ميزة من ميزات Google.
- فحص عنوان URL (URL Inspection) في Search Console بعد أن تنشر بعض الصفحات. وتطلب Google أن تتأكد أن الصفحة غير محجوبة بـ robots.txt أو
noindex أو بتسجيل دخول؛ وقد يستغرق الزحف إلى صفحة جديدة عدة أيام. - تقارير النتائج الغنية في Search Console. وتنبّه Google إلى أن الترميز قد يتعطل بعد النشر بسبب القوالب أو مشكلات التقديم، فانظر من جديد بعد كل تغيير في القالب (Google).
وهكذا فحصنا المثالين أعلاه في 4 نوفمبر 2026: تُقرأ الكتلتان كلتاهما بوصفهما JSON صالحًا (وحدة json في Python)، وتتبع الخصائص صفحات Google عن Organization وArticle وBreadcrumb (آخر تحديث 8 سبتمبر 2026). ولم نلصقهما في أداة Google، فأول لصق تفعله أنت هو الاختبار الحقيقي.
ما لا يفعله JSON-LD
- لا يضمن نتيجة غنية. تكتب Google: «Google does not guarantee that your structured data will show up in search results»، أي لا تضمن أن تظهر بياناتك المنظمة في نتائج البحث (Google). ومن أسبابها أن الخوارزمية قد ترى أن نتيجة نصية بسيطة أنسب، وأن الترميز قد يكون خاطئًا بطرق لا يلتقطها الاختبار.
- ليس وعدًا بالترتيب. لم نجد في صفحات Google هذه عبارة تقول إن البيانات المنظمة ترفع الترتيب. وتصف Google الفائدة بأنها التأهل للنتائج الغنية. وتضيف أن الإجراء اليدوي بسبب البيانات المنظمة يسحب هذا التأهل، وأنه «doesn't affect how the page ranks in Google web search»، أي لا يؤثر في ترتيب الصفحة في بحث الويب من Google.
- إجابات الذكاء الاصطناعي لا تحتاج إليه. يقول دليل Google عن ميزات الذكاء الاصطناعي التوليدي: «Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add»، أي لا تُشترط البيانات المنظمة في البحث التوليدي، ولا يوجد ترميز schema.org خاص تحتاج إلى إضافته (Google). ومع ذلك تسمّيها Google فكرة جيدة للتأهل للنتائج الغنية. ولا يقيس SEOgrinder هل يذكر أي نظام ذكاء اصطناعي موقعك.
- ترميز FAQ لم يعد له نتيجة في Google. يقول سجل التغييرات لدى Google: «This feature will no longer appear in Google Search starting May 7, 2026»، أي لن تظهر هذه الميزة في بحث Google ابتداءً من 7 مايو 2026 (Google). فلا تضف ترميز FAQPage لهذا الغرض.
الأخطاء الشائعة: 5 أخطاء في JSON-LD
الخطأ 1: ترميز ما لا يراه أحد
إرشاد Google: «Don't mark up content that is not visible to readers of the page»، أي لا ترمّز محتوى لا يراه قراء الصفحة. ومثال Google نفسها: إذا كان الترميز يصف مؤديًا فلا بد أن يصف نص الصفحة المؤدي نفسه.
الخطأ 2: JSON معطوب
زلة واحدة في الصياغة تعطّل الكتلة كلها. ويذكر تقرير البيانات المنظمة غير القابلة للتحليل في Search Console («Unparsable structured data report») أنواع أخطاء مثل فاصلة ناقصة أو قوس إغلاق ناقص، ونقطتين ناقصتين، وتسلسل هروب غير صالح داخل نص، مثل شرطة مائلة عكسية زائدة كالتي في \q داخل قيمة نصية. ونصيحة Google للعثور على الزلة: ابدأ بكائن فارغ وأعد إضافة شيفرتك قطعةً قطعة.
الخطأ 3: خصائص مطلوبة ناقصة
تقول Google إن العناصر التي تنقصها خصائصها المطلوبة غير مؤهلة للنتائج الغنية. والحالة المعتادة إدخالات مسار التنقل بلا position أو name أو item.
الخطأ 4: نوع لا يطابق الصفحة
تطلب Google أدق نوع منطبق. ومثالاها على الترميز غير الملائم: موقع بث رياضي يصنّف البثوث فعاليات محلية، وموقع نجارة يصنّف التعليمات وصفات.
الخطأ 5: حجب الصفحة أو صورها
يجب أن تبقى الصفحات ذات البيانات المنظمة مفتوحة أمام Googlebot، ويجب أن تكون عناوين الصور في الترميز قابلة للزحف والفهرسة. وقد تُبطل قاعدة Disallow لمجلد صورك ترميزًا أُعدّ بعناية.
كيف يفحص SEOgrinder البيانات المنظمة؟
SEOgrinder أداتنا نحن، ونحن من نبنيها. افحص صفحة، وافتح تبويب «الصفحة في Google»، وانظر إلى بطاقتين. تسرد بطاقة «البيانات المنظمة» الأنواع الموجودة في JSON-LD وMicrodata. وتعدّ بطاقة «فحص الحقول» العناصر وتبين كم منها «غير صالحة» (ينقصها حقل مطلوب) أو «ناقصة» (تنقصها حقول موصى بها فقط)، مع أسماء الحقول الناقصة. وفي المهام تظهر بوصفها «تنقص البيانات المنظمة حقول إلزامية» و«البيانات المنظمة غير مكتملة» و«لا توجد بيانات منظمة» و«كتلة بيانات منظمة واحدة معطوبة» للشيفرة التي يتعذر تحليلها. وبعد الإصلاح اضغط إعادة التحقق.
وأربعة حدود. يقرأ SEOgrinder HTML الذي يرسله خادمك، فلا يرى JSON-LD الذي لا يضيفه إلا سكربت في المتصفح، مع أن Google تستطيع قراءته. ويقرأ JSON-LD وMicrodata، لا RDFa. ويعرف الحقول المطلوبة لقائمة من الأنواع الشائعة، لا لكل نوع. ولا يقرر هل ستعرض Google نتيجة غنية؛ فتلك المعاينة تقدمها أداة Rich Results Test.
وقرأنا صفحاتنا نحن بالطريقة نفسها في 4 نوفمبر 2026. يطبع هذا الأمر 1 لمقال و0 للصفحة الرئيسية:
curl -sS https://seogrinder.com/ar/blog/qaimat-tadqiq-seo | grep -c 'application/ld+json'
والكتلة الوحيدة في المقال تحوي BlogPosting وBreadcrumbList بثلاثة إدخالات (SEOgrinder، المدونة، المقال). وفي الصفحة الرئيسية لا نملك بيانات منظمة.
الأسئلة الشائعة
هل JSON-LD أفضل من Microdata؟
الصيغ الثلاث متكافئة عند Google إذا كان الترميز صالحًا. وهي توصي بـ JSON-LD لأنه الأسهل في التنفيذ والصيانة على نطاق واسع.
هل أحتاج إلى بيانات منظمة في كل صفحة؟
لا. أضف نوعًا حيث يناسب الصفحة فقط: Organization في الصفحة الرئيسية أو «من نحن»، وArticle في المقالات. ولكثير من الصفحات لا يوجد نوع مناسب، وهذا لا بأس به.
هل أستطيع إضافة JSON-LD بإضافة أو بـ JavaScript؟
نعم. تقول Google إن مستخدمي أنظمة إدارة المحتوى قد يجدون صفحة إعدادات أو إضافة للبيانات المنظمة، وإن Google تستطيع قراءة JSON-LD الذي تدرجه السكربتات (Google). افحص النتيجة بـ Rich Results Test، وتذكّر أن SEOgrinder لا يرى إلا ما يرسله الخادم.
هل يحسّن JSON-LD ترتيبي؟
تصف صفحات Google التأهل للنتائج الغنية لا مراتب أفضل. ولا يستطيع أحد أن يعد بمرتبة.
خطوتك التالية
اختر الصفحة الأهم. الصق المثال 1 أو 2 في Rich Results Test بقيمك أنت وعالج ما يشير إليه. ثم انشر، وافحص الصفحة بـ SEOgrinder، وافتح «الصفحة في Google» واقرأ بطاقة «فحص الحقول». ولترى موضع البيانات المنظمة في الصورة الأوسع، تبين قائمة تدقيق SEO مكانها بين الفحوص الأخرى.