البيانات المنظَّمة الخاصة بالدورات التدريبية (Course وCourseInstance)

صورة توضيحية تبيّن كيف يمكن أن تظهر معلومات الدورات التدريبية في "بحث Google"

يمكنك مساعدة المستخدمين في العثور على المحتوى المتعلق بالدورات التدريبية الذي تعرضه من خلال تقديم معلومات إلى Google حول هذا المحتوى باستخدام البيانات المنظَّمة الخاصة بالدورات التدريبية. فعندما تقدّم معلومات مفصَّلة أكثر حول دورة تدريبية، مثل تقييمات المراجِعين والسعر وتفاصيل الدورة، يتيح ذلك لمحرّك بحث Google فهم الدورة التدريبية بشكل أفضل وعرضها على شكل تجربة غنية للمستخدمين باستخدام النتائج الغنية بصريًا الخاصة بمعلومات الدورات التدريبية.

تتوفّر ضمن النتائج الغنية بصريًا ميزتان مخصصتان لمعلومات الدورات التدريبية تستخدمان نوع البيانات المنظَّمة Course نفسه من schema.org. إذا كان موقعك الإلكتروني يقدّم معلومات حول الدورات التدريبية، قد يكون مؤهّلاً للاستفادة من كلتا الميزتين في حال اتّبعت دليلَي التنفيذ التاليَين:

توفُّر الميزة

تتوفر ميزة النتيجة الغنية بصريًا لمعلومات الدورات التدريبية باللغة الإنجليزية في جميع المناطق التي يتوفر فيها محرّك بحث Google. ونسعى إلى توفير دورات تدريبية بلغات أخرى في المستقبل.

كيفية إضافة البيانات المنظَّمة

البيانات المنظَّمة هي تنسيق موحّد لتقديم معلومات عن صفحة محدّدة وتصنيف محتواها. إذا كنت لا تزال مبتدئًا في مجال البيانات المنظَّمة، يمكنك الاطّلاع على المزيد من المعلومات حول آلية عمل البيانات المنظَّمة.

إليك نظرة عامة حول كيفية إنشاء بيانات منظَّمة واختبارها وإصدارها.

  1. أضِف السمات المطلوبة. استنادًا إلى التنسيق الذي تستخدمه، يمكنك معرفة مكان إدراج البيانات المنظَّمة في الصفحة.
  2. اتّبِع الإرشادات.
  3. تحقَّق من صحة الرمز باستخدام اختبار النتائج الغنية بصريًا، وأصلِح أي أخطاء ملحّة. ننصحك أيضًا بحلّ أي مشاكل غير ملحّة قد ترصدها الأداة لأنّ ذلك قد يساعدك على تحسين جودة بياناتك المنظَّمة (ولكن هذا الإجراء ليس ضروريًا لتكون بياناتك مؤهّلة للظهور ضمن النتائج الغنية بصريًا).
  4. انشر بعض الصفحات التي تتضمّن بياناتك المنظَّمة واستخدِم أداة فحص عنوان URL لاختبار الطريقة التي يرى بها محرّك بحث Google الصفحة. تأكَّد من إمكانية وصول محرّك بحث Google إلى صفحتك ومن عدم حظرها باستخدام ملف robots.txt أو علامة noindex أو متطلبات تسجيل الدخول. إذا بدت الصفحة جيدة، يمكنك أن تطلب من محرّك بحث Google إعادة الزحف إلى عناوين URL الخاصة بك.
  5. لإعلام محرّك بحث Google بأي تغييرات لاحقة، ننصحك بإرسال خريطة الموقع. يمكنك برمجة هذا الإجراء باستخدام Search Console Sitemap API.

مثال

في ما يلي مثال على صفحة معلومات واحدة حول دورة تدريبية.


<html>
  <head>
    <title>Introduction to Computer Science and Programming</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@id": "https://www.example.com/advancedCpp",
      "@type": "Course",
      "name": "Learn Advanced C++ Topics",
      "description": "Improve your C++ skills by learning advanced topics.",
      "publisher": {
        "@type": "Organization",
        "name": "CourseWebsite",
        "url": "www.examplecoursewebsite.com"
      },
      "provider": {
        "@type": "Organization",
        "name": "Example University",
        "url": "www.example.com"
      },
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
      ],
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": 4,
        "ratingCount": 1234,
        "reviewCount": 450
      },
      "offers": [{
        "@type": "Offer",
        "category": "Paid",
        "priceCurrency": "EUR",
        "price": 10.99
      }],
      "totalHistoricalEnrollment": 12345,
      "datePublished": "2024-03-21",
      "educationalLevel": "Advanced",
      "about": ["C++ Coding", "Backend Engineering"],
      "teaches": ["Practice and apply systems thinking to plan for change",
                  "Understand how memory allocation works."],
      "financialAidEligible": "Scholarship Available",
      "inLanguage": "en",
      "availableLanguage": ["fr", "es"],
      "syllabusSections": [
        {
          "@type": "Syllabus",
          "name": "Memory Allocation",
          "description": "Learn how memory is allocated when creating C++ variables.",
          "timeRequired": "PT6H"
        },
        {
          "@type": "Syllabus",
          "name": "C++ Pointers",
          "description": "Learn what a C++ pointer is and when they are used.",
          "timeRequired": "PT11H"
        }
      ],
      "review": [
      {
        "@type": "Review",
        "author": {
            "@type": "Person",
            "name": "Lou S."
        },
        "datePublished": "2024-08-31",
        "reviewRating": {
          "@type": "Rating",
          "bestRating": 10,
          "ratingValue": 6
        }
      }],
      "coursePrerequisites": [
        "Basic understanding of C++ up to arrays and functions.",
        "https://www.example.com/beginnerCpp"
      ],
      "educationalCredentialAwarded": [{
        "@type": "EducationalOccupationalCredential",
        "name": "CourseProvider Certificate",
        "url": "www.example.com",
        "credentialCategory": "Certificate",
        // offers only needed if the credential costs extra money.
        "offers": [{
          "@type": "Offer",
          "category": "Paid",
          "price": 5,
          "priceCurrency": "USD"
        }]
      }],
      "video": {
        "@type": "VideoObject",
        "name": "Video name",
        "description": "A video previewing this course.",
        "uploadDate": "2024-03-28T08:00:00+08:00",
        "contentUrl": "www.example.come/mp4",
        "thumbnailUrl": "www.example.com/thumbnailurl.jpg"
      },
      "hasCourseInstance": [
      {
        // Blended, instructor-led course meeting 3 hours per day in July.
        "@type": "CourseInstance",
        "courseMode": "Blended",
        "location": "Example University",
        "courseSchedule": {
          "@type": "Schedule",
          "duration": "PT3H",
          "repeatFrequency": "Daily",
          "repeatCount": 31,
          "startDate": "2024-07-01",
          "endDate": "2024-07-31"
        },
        "instructor": [{
          "@type": "Person",
          "name": "Ira D.",
          "description": "Professor at X-University",
          "image": "http://example.com/person.jpg"
        }]
      },
      {
        // Online self-paced course that takes 2 days to complete.
        "@type": "CourseInstance",
        "courseMode": "Online",
        "courseWorkload": "P2D"
      }],
      // Only required for course programs that link to child courses.
      "hasPart": [{
        "@type": "Course",
        "name": "C++ Algorithms",
        "url": "https://www.example.com/cpp-algorithms",
        "description": "Learn how to code base algorithms in c++.",
        "provider": {
          "@type": "Organization",
          "name": "Example University",
          "url": "www.example.com"
        }
      }, {
        "@type": "Course",
        "name": "C++ Data Structures",
        "url": "https://www.example.com/cpp-data-structures",
        "description": "Learn about core c++ data structures.",
        "provider": {
          "@type": "Organization",
          "name": "Example University",
          "url": "www.example.com"
        }
      }]
    }
    </script>
  </head>
  <body>
  </body>
</html>

الإرشادات

عليك اتّباع هذه الإرشادات لتكون دورتك التدريبية مؤهَّلة للظهور على شكل نتيجة غنية بصريًا خاصة بمعلومات الدورة التدريبية على &quot;بحث Google&quot;.

إرشادات المحتوى

يكون المحتوى التعليمي مؤهَّلاً للظهور ضمن النتائج الغنية بصريًا الخاصة بمعلومات الدورات التدريبية فقط إذا كان يوافق التعريف التالي للدورة التدريبية: سلسلة أو وحدة من المنهج تحتوي على محاضرات أو دروس أو وحدات عن مادة معيّنة أو موضوع معيّن.

يجب إضافة الترميز Course إلى صفحة ويب توفّر دورة تدريبية واحدة كاملة أو برنامج دورات تدريبية. ولا تكون الأمثلة التالية مؤهَّلة للظهور ضمن النتائج الغنية بصريًا الخاصة بمعلومات الدورات التدريبية:

  • صفحة ملخّص للدرجات الأكاديمية
  • صفحة اختبارات مستقلة
  • حدث عام، مثل "يوم الفلك"
  • فيديو واحد مدته دقيقتان حول "كيفية تحضير شطيرة"

تعريفات أنواع البيانات المنظّمة

يجب تضمين السمتين المطلوبتين Course وCourseInstance حتى يصبح المحتوى مؤهَّلاً للعرض كنتيجة غنية بصريًا على &quot;بحث Google&quot;. ويمكنك أيضًا تضمين السمات التي يُنصح بها لإضافة المزيد من المعلومات المتعلقة بالمحتوى، ما يؤدي إلى تحسين تجربة المستخدم.

Course

الدورة التدريبية عبارة عن وحدة فردية ضمن منهج دراسي يمكن الانضمام إليها بمفردها أو كجزء من برنامج.

يتوفّر تعريف Course الكامل على schema.org/Course.

السمات المطلوبة
name

Text

تمثّل هذه السمة عنوان الدورة التدريبية الكامل.

"name": "Intro to Statistics"
description

Text

تمثّل هذه السمة وصف الدورة التدريبية.

  • الطول المقترح: 240 حرفًا
  • الحد الأقصى للطول: 500 حرف
"description": "This course teaches the basics of statistical thinking."
provider

Organization

تمثّل هذه السمة معلومات حول المؤسسة التي أنشأت محتوى الدورة التدريبية.

"provider": {
   "@type": "Organization",
   "name": "Example University",
   "url": "www.exampleuniversity.com"
}
provider.name Text

تمثّل هذه السمة اسم مقدّم الدورة التدريبية.

offers

نوع Offer قابل للتكرار

تمثّل هذه السمة معلومات حول السعر الإجمالي المطلوب دفعه لإكمال الدورة التدريبية شاملاً رسوم الخدمة. لا تُضِف سعرًا خاصًا بفئة محددة من المستخدمين (مثل خصم %20 للمستخِدمين لأول مرة).

لا تضِف رسومًا إضافية خاصة بالشهادة في هذا الحقل. إذا كان الحصول على شهادة يتطلّب دفع رسوم إضافية، أضِف تلك الرسوم إلى السمة educationalCredentialAwarded.

"offers": [{
   "@type": "Offer",
   "category": "Paid",
   "priceCurrency": "EUR",
   "price": 10.99
}]
         
offers.category Text

تمثّل هذه السمة فئة تسعير الدورة التدريبية. استخدِم إحدى القيم التالية:

  • Free: تعني أنّ جميع المحاضرات والمهام الدراسية والاختبارات يجب أن تتوفّر للمستخدمين بدون رسوم، أي أنّه يمكن إكمال الدورة التدريبية بأكملها بدون تكلفة.
  • Partially Free: تعني أنّه يمكن إكمال أكثر من نصف الدورة التدريبية بدون تكلفة (على سبيل المثال، جميع المحاضرات متاحة بدون تكلفة لكن يجب الدفع لإكمال المهام الدراسية).
  • Subscription: تعني أنّ المستخدم يجب أن يكون مشتركًا أو لديه اشتراك مدفوع ليتمكّن من إتمام الدورة التدريبية بالكامل.
  • Paid: تعني أنّ المستخدم عليه الدفع لإكمال الدورة التدريبية.
hasCourseInstance

نوع CourseInstance قابل للتكرار

يجب أن تتضمّن كل دورة تدريبية حالة دورة واحدة على الأقل فيها معلومات مفصَّلة حول ما توفّره الدورة. اطّلِع على السمات المطلوبة والسمات التي يُنصح بها في القسم CourseInstance.

"hasCourseInstance": [{
   // Onsite, instructor-led class meeting weekly in August 2023
   "@type": "CourseInstance",
   "courseMode": "Onsite",
   "location": "Example University",
   "courseSchedule": {
      "@type": "Schedule",
      "duration": "PT5H",
      "repeatCount": 4,
      "repeatFrequency": "Weekly",
      "startDate": "2023-08-01",
      "endDate": "2023-8-31"
   },
   "instructor": [{
      "@type": "Person",
      "name": "Kai S.",
      "description": "Professor at X-University",
      "image": "http://examplePerson.jpg"
   }]
}]
السمات المقترَحة
about

نوع Text قابل للتكرار

توضّح هذه السمة المهارات التي سيكتسبها المستخدم بعد إكمال الدورة التدريبية، إذا كان ذلك منطبقًا.

"about": ["Quantitative Analysis", "Critical Thinking"]
aggregateRating

AggregateRating

تمثّل هذه السمة متوسط تقييم الدورة التدريبية استنادًا إلى التقييمات التي كتبها المستخدمون الذين شاركوا في الدورة التدريبية، إذا كان ذلك منطبقًا. ويمكنك اتّباع إرشادات مقتطف المراجعة وقائمة سمات AggregateRating المطلوبة والتي يُنصح بها.

"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.8,
"ratingCount": 255,
"reviewCount": 189
}
availableLanguage

نوع Text قابل للتكرار

تمثّل هذه السمة الترجمات أو الشروحات أو اللغات الأخرى التي تتوفّر بها الدورة التدريبية، إذا كان ذلك منطبقًا. استخدِم الرموز المكوَّنة من حرفَين من قائمة رموز ISO 639-1 alpha-2.

"availableLanguage": ["fr", "es", "de"]
coursePrerequisites

نوع Text قابل للتكرار

تحدِّد هذه السمة أي معرفة مسبقة مطلوبة للمشاركة في الدورة التدريبية، إذا كان ذلك منطبقًا. ويمكن تمثيلها من خلال وصف تلك المعرفة المسبقة أو إضافة رابط إلى دورة تدريبية أخرى (أو باستخدام كلتا الطريقتين).

"coursePrerequisites": ["Understanding of Algebra concepts like variables and functions",
            "https://www.coursewebsite.abc/algebra"]
datePublished

Date

تشير هذه السمة إلى التاريخ الذي نُشرت فيه الدورة التدريبية للمرة الأولى. استخدِم تنسيق 8601 الخاص بالتاريخ (‎YYYY-MM-DD).

"datePublished": "2019-03-21"
educationalCredentialAwarded

نوع EducationalOccupationalCredential قابل للتكرار

تقدّم هذه السمة معلومات حول الشهادة التي يمكن أن يحصل عليها المستخدم بعد إكمال الدورة التدريبية، إذا كان ذلك منطبقًا. وإذا كان مطلوبًا دفع تكلفة إضافية مقابل الحصول على شهادة التقدير، عليك تحديد المبلغ.

"educationalCredentialAwarded": [{
   "@type": "EducationalOccupationalCredential",
   "name": "CourseProvider Certificate",
   "url": "www.examplecertificate.com",
   "credentialCategory": "Certificate",
   "offers": [{
      "@type": "Offer",
      "category": "Paid",
      "priceCurrency": "USD",
      "price": 5
   }]
}]
educationalCredentialAwarded.credentialCategory Text

تشير هذه السمة إلى نوع شهادة التقدير التي ستُمنَح للمستخدم، إذا كان ذلك منطبقًا. استخدِم إحدى القيمتين التاليتين:

  • Certificate: عبارة عن شهادة تقدير تُثبت أنّ المستخدم أكمل الدورة التدريبية أو البرنامج بنجاح.
  • Certification: عبارة عن شهادة رسمية تتطلّب إكمال اختبار أو تُثبت بأنّ المستخدم قد حقّق الكفاءة المطلوبة.

educationalCredentialAwarded.name Text

تشير هذه السمة إلى اسم شهادة التقدير، إذا كان ذلك منطبقًا.

educationalCredentialAwarded.offers.category Text

تشير هذه السمة إلى نوع السعر الخاص بشهادة التقدير، إذا كان ذلك منطبقًا. استخدِم إحدى القيم التالية:

  • Free: تعني أنّ شهادة التقدير متوفّرة بدون تكلفة.
  • Subscription: تعني أنّ المستخدم يجب أن يكون مشتركًا أو لديه اشتراك مدفوع للحصول على شهادة التقدير.
  • Paid: تعني أنّ المستخدم عليه الدفع مقابل الحصول على شهادة التقدير.
educationalCredentialAwarded.offers.price Number

تشير هذه السمة إلى سعر شهادة التقدير بالأرقام، إذا كان ذلك منطبقًا.

educationalCredentialAwarded.offers.priceCurrency Text

تشير هذه السمة إلى عملة سعر شهادة التقدير بتنسيق ISO 4217 الخاص بالعملات (رمز مكوّن من 3 أحرف)، إذا كان ذلك منطبقًا.

educationalCredentialAwarded.url URL

تعرض هذه السمة الرابط إلى صفحة شهادة التقدير، إذا كان ذلك منطبقًا.

educationalLevel

Text

تمثّل هذه السمة المستوى التعليمي المستهدَف في الدورة التدريبية، إذا كان ذلك منطبقًا. اختَر إحدى القيم التالية:

  • Beginner: ما مِن حاجة إلى معرفة مسبقة من أجل فهم المحتوى.
  • Intermediate: مطلوب بعض المعرفة من أجل فهم المحتوى.
  • Advanced: هذا المحتوى يستهدف المتعلّمين في المراحل المتقدمة والذين لديهم معرفة مسبقة بخصوص الموضوع.
"educationalLevel": "Beginner"
financialAidEligible

Text

تمثّل هذه السمة أي منح دراسية أو خطط دفع خاصة أو غيرها من فرص المساعدة المالية للمستخدمين الذين يريدون المشاركة في الدورة التدريبية، إذا كان ذلك منطبقًا.

"financialAidEligible": "Scholarships available for eligible users."
image

نوع URL قابل للتكرار

تشير هذه السمة إلى عنوان URL الخاص بالصورة التي تمثّل الدورة التدريبية، إذا كان ذلك منطبقًا. استخدِم صورًا ذات صلة بموضوع الدورة التدريبية بدلاً من الشعارات أو الشروحات.

إرشادات إضافية للصور:

  • يجب أن تحتوي كل صفحة على صورة واحدة على الأقل (سواء استخدمت الترميز فيها أم لا). وسيختار محرّك البحث Google أفضل صورة لعرضها في نتائج "بحث Google" استنادًا إلى نسبة العرض إلى الارتفاع ودرجة الدقة.
  • يجب أن تكون عناوين URL للصور قابلة للزحف والفهرسة. لمعرفة ما إذا كان بإمكان محرّك البحث Google الوصول إلى عناوين URL، استخدِم أداة فحص عنوان URL.
  • يجب أن تمثّل الصور المحتوى الذي تم ترميزه.
  • يجب أن تكون الصور بتنسيق ملف يتوافق مع تطبيق "صور بحث Google".
  • للحصول على أفضل النتائج، ننصحك بتقديم عدة صور عالية الدقة (بحدّ أدنى من 50 ألف بكسل عند ضرب العرض بالارتفاع) وبنسب العرض إلى الارتفاع التالية: 16×9 و4×3 و1×1.

مثلاً:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
inLanguage

Text

تشير هذه السمة إلى اللغة الرئيسية التي تتوفر بها الدورة التدريبية، إذا كان ذلك منطبقًا. استخدِم الرموز المكوَّنة من حرفَين من قائمة رموز ISO 639-1 alpha-2.

"inLanguage": "en"
offers.price Number

تمثّل هذه السمة سعر الدورة التدريبية بالأرقام، إذا كان ذلك منطبقًا. لا تضمّن معلومات أخرى في هذا الحقل، مثل رمز العملة.

offers.priceCurrency Text

تشير هذه السمة إلى عملة سعر الدورة التدريبية بتنسيق ISO 4217 الخاص بالعملات (رمز مكوّن من 3 أحرف)، إذا كان ذلك منطبقًا.

provider.url URL

تعرض هذه السمة عنوان URL الذي يؤدي إلى الصفحة الرئيسية الخاصة بمقدّم الدورة التدريبية، إذا كان ذلك منطبقًا.

publisher

Organization

تشير هذه السمة إلى معلومات حول المؤسسة التي تنشر وتعرض الدورة التدريبية، إذا كان ذلك منطبقًا.

"publisher": {
   "@type": "Organization",
   "name": "Course Website",
   "url": "www.example.com"
}
publisher.name Text

تمثّل هذه السمة اسم ناشر الدورة التدريبية، إذا كان ذلك منطبقًا.

publisher.url URL

تعرض هذه السمة عنوان URL الذي يؤدي إلى الصفحة الرئيسية الخاصة بناشر الدورة التدريبية، إذا كان ذلك منطبقًا.

review

نوع Review قابل للتكرار

تمثّل هذه السمة قائمة بمراجعات المستخدمين بشأن الدورة التدريبية، إذا كان ذلك منطبقًا. اتّبِع إرشادات مقتطفات المراجعات لمعرفة المزيد.

"review": [{
   "@type": "Review",
   "author": {
      "@type": "Person",
      "name": "Sasha J."
   },
   "datePublished": "2021-09-22",
   "reviewRating": {
      "@type": "Rating",
      "ratingValue": 4
   }
}]
syllabusSections

نوع Syllabus قابل للتكرار

تشير هذه السمة إلى معلومات حول الوحدات التي تشكّل الدورة التدريبية، إذا كان ذلك منطبقًا.

"syllabusSections": [{
   "@type": "Syllabus",
   "name": "Algebra Review",
   "description": "Review prerequisite Algebra concepts.",
   "timeRequired": "PT2H30M"
}, {
   "@type": "Syllabus",
   "name": "Statistics Terms",
   "description": "Learn the definitions of basic statistics terms.",
   "timeRequired": "PT5H"
}]
syllabusSections.description Text

تمثّل هذه السمة وصفًا لموضوع الوحدة، إذا كان ذلك منطبقًا.

syllabusSections.name Text

تمثّل هذه السمة اسم الوحدة ضمن الدورة التدريبية، إذا كان ذلك منطبقًا.

syllabusSections.timeRequired Duration

استخدِم تنسيق ISO 8601 الخاص بالمدة، إذا كان ذلك منطبقًا. على سبيل المثال، تعني PT2H30M أنّ إكمال الوحدة يستغرق ساعتين و30 دقيقة.

teaches

نوع Text قابل للتكرار

تشير هذه السمة إلى الحصيلة التعليمية أو المعرفة المحدّدة التي سيكتسبها المستخدم من هذه الدورة التدريبية، إذا كان ذلك منطبقًا.

"teaches": ["How to use visualization tools and graphs", "Why stats is important"]
totalHistoricalEnrollment

Integer

تمثّل هذه السمة عدد المستخدمين الذين تسجّلوا في الدورة التدريبية منذ إطلاقها للمرة الأولى، إذا كان ذلك منطبقًا.

"totalHistoricalEnrollment": 80032
video

VideoObject

تمثّل هذه السمة معاينة فيديو أو مقطعًا دعائيًا للدورة التدريبية، إذا كان ذلك منطبقًا. اطّلِع على تفاصيل إضافية في إرشادات VideoObject.

"video": {
   "@type": "VideoObject",
   "name": "Video name",
   "description": "A video previewing this course.",
   "uploadDate": "2022-03-28T08:00:00+08:00",
   "contentUrl": "www.videourl.mp4",
   "thumbnailUrl": "www.thumbnailurl.jpg"
}

CourseInstance

يتوفّر تعريف CourseInstance الكامل على schema.org/CourseInstance. يجب أن تتضمّن كل دورة تدريبية CourseInstance واحدة على الأقل مع ملء السمات المطلوبة.

السمات المطلوبة
courseMode

Text

تمثّل هذه السمة البيئة التي ستتوفر من خلالها الدورة التدريبية. استخدِم إحدى القيم التالية:

  • Online: يمكن إكمال كل المحاضرات والمهام الدراسية والاختبارات على الإنترنت.
  • Onsite: يتم تعليم الدورة التدريبية بالحضور الشخصي في موقع جغرافي.
  • Blended: تتضمّن الدورة التدريبية أجزاءً على الإنترنت وأجزاءً بالحضور الشخصي.

إذا كان الصف Onsite أو Blended، أضِف السمة location.

"courseMode": "Online"

courseSchedule

Schedule

تشير هذه السمة إلى الوقت الذي يستغرقه المستخدم العادي لإكمال الدورة التدريبية وفق جدول زمني مقترَح. أضِف تاريخَي البدء والانتهاء في الدورات التدريبية التي تتم استنادًا إلى مخطط زمني ثابت.

في ما يلي مثال على دورة تدريبية تتم وفق جدول زمني منتظم ويمكن بدؤها في أي وقت:

// This course takes 6 weeks to complete.
"courseSchedule": {
   "@type": "Schedule",
   "repeatCount": 6
   "repeatFrequency": "Weekly",
}

في ما يلي مثال على دورة تدريبية تتم وفق جدول زمني منتظم خلال فترة زمنية محدّدة:

// This course expects 1 hour per day during July 2023
"courseSchedule": {
   "@type": "Schedule",
   "duration": "PT1H",
   "repeatCount": 31
   "repeatFrequency": "Daily",
   "startDate": "2023-07-01",
   "endDate": "2023-07-31"
}
courseSchedule.repeatCount Integer

تشير هذه السمة إلى القيمة الرقمية لمدة الدورة التدريبية بوحدات repeatFrequency. على سبيل المثال، إذا كانت السمة repeatFrequency هي شهريًا والسمة repeatCount هي 4، يعني ذلك أنّ الدورة التدريبية تستغرق 4 أشهر.

courseSchedule.repeatFrequency Text

ترتبط السمتان duration وrepeatCount بهذا الحقل. استخدِم إحدى القيم التالية:

  • Daily: يتم إجراء الدورة التدريبية بشكل يومي.
  • Weekly: يتم إجراء الدورة التدريبية بشكل أسبوعي.
  • Monthly: يتم إجراء الدورة التدريبية بشكل شهري.
  • Yearly: يتم إجراء الدورة التدريبية بشكل سنوي.
courseWorkload Text

يمثّل هذا الحقل الوقت الإجمالي المستغرَق في مشاهدة جميع الفيديوهات وإكمال كل المهام الدراسية والاختبارات التابعة للدورة التدريبية. استخدِم تنسيق 8601 الخاص بالمدة.

"courseWorkload": "PT22H"
السمات المقترَحة
courseSchedule.duration Duration

تمثّل هذه السمة الجدول الزمني المقترَح للمدة التي من المتوقَّع أن يستغرقها المستخدم العادي بوحدات repeatFrequency وبتنسيق 8601 الخاص بالمدة، إذا كان ذلك منطبقًا. على سبيل المثال، إذا كانت قيمة السمة repeatFrequency هي شهريًا وقيمة السمة duration هي PT5H، من المتوقَّع أن يحتاج المستخدم العادي إلى قضاء 5 ساعات في الشهر.

لا تحدِّد المدة الإجمالية للدورة التدريبية باستخدام هذه السمة. بدلاً من ذلك، استخدِم السمة courseWorkload.

courseSchedule.endDate Date

تشير هذه السمة إلى تاريخ انتهاء الدورة التدريبية بتنسيق 8601 الخاص بالتاريخ‏ (‎YYYY-MM-DD)، إذا كان ذلك منطبقًا.

courseSchedule.startDate Date

تشير هذه السمة إلى تاريخ بدء الدورة التدريبية بتنسيق 8601 الخاص بالتاريخ‏ (‎YYYY-MM-DD)، إذا كان ذلك منطبقًا.

image URL

تعرض هذه السمة عنوان URL الذي يؤدي إلى صورة المدرِّب، إذا كان ذلك منطبقًا.

إرشادات إضافية للصور:

  • يجب أن تحتوي كل صفحة على صورة واحدة على الأقل (سواء استخدمت الترميز فيها أم لا). وسيختار محرّك البحث Google أفضل صورة لعرضها في نتائج "بحث Google" استنادًا إلى نسبة العرض إلى الارتفاع ودرجة الدقة.
  • يجب أن تكون عناوين URL للصور قابلة للزحف والفهرسة. لمعرفة ما إذا كان بإمكان محرّك البحث Google الوصول إلى عناوين URL، استخدِم أداة فحص عنوان URL.
  • يجب أن تمثّل الصور المحتوى الذي تم ترميزه.
  • يجب أن تكون الصور بتنسيق ملف يتوافق مع تطبيق "صور بحث Google".
  • للحصول على أفضل النتائج، ننصحك بتقديم عدة صور عالية الدقة (بحدّ أدنى من 50 ألف بكسل عند ضرب العرض بالارتفاع) وبنسب العرض إلى الارتفاع التالية: 16×9 و4×3 و1×1.

مثلاً:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
instructor

نوع Person قابل للتكرار

تشير هذه السمة إلى معلومات حول المدرِّب الذي يُدرّس الدورة التدريبية، إذا كان ذلك منطبقًا.

"instructor": [{
   "@type": "Person",
   "name": "Dana A.",
   "description": "Professor at X-University",
   "image": "http://examplePerson.jpg"
}]
instructor.description Text

تقدِّم هذه السمة وصفًا حول المدرِّب ومؤهلاته، إذا كان ذلك منطبقًا.

instructor.name Text

تشير هذه السمة إلى اسم المدرِّب، إذا كان ذلك منطبقًا.

location

Text

تشير هذه السمة إلى اسم و/أو عنوان المكان الذي ستدرَّس فيه الدورة التدريبية، إذا كان ذلك منطبقًا.

"courseMode": "Blended",
"location": "Example High School"

برنامج دورات تدريبية

برنامج الدورات التدريبية هو مجموعة من الدورات التدريبية الثانوية. ويجب أن تكون الدورات التدريبية الثانوية دورات مستقلة مع عناوين URL وصفحات مقصودة منفصلة.

إذا كانت صفحة الويب عبارة عن برنامج دورات تدريبية، ضمِّن السمات المطلوبة التالية (بالإضافة إلى السمات المطلوبة المدرَجة في القسمَين Course وCourseInstance).

السمات المطلوبة
hasPart

نوع Course قابل للتكرار

تمثّل هذه السمة الدورات التدريبية الثانوية التي تشكّل جزءًا من هذا البرنامج.

"@context": "https://schema.org/",
"@type": "Course",
"name": "Learning Pathway: Knitting",
"url": "www.example.com/knitprogram"
// Fill the other required Course and CourseInstance properties
"hasPart": [{
   "@type": "Course",
   "name": "Intro to Knitting",
   "url": "www.example.com/knitbasics",
   "description": "Learn the basics of how to knit."
   }, {
   "@type": "Course",
   "name": "Knit a Sweater",
   "url": "www.example.com/knitsweater",
   "description": "Learn to knit an entire sweater."
}]
hasPart.name Text

تمثّل هذه السمة عنوان الدورة التدريبية الثانوية الكامل.

hasPart.url URL

تعرض هذه السمة عنوان URL المؤدي إلى الصفحة المقصودة الخاصة بالدورة التدريبية الثانوية.

السمات المقترَحة
hasPart.description Text

تقدّم هذه السمة وصفًا موجزًا لمواضيع الدورة التدريبية الثانوية، إذا كان ذلك منطبقًا.

  • الطول المقترح: 240 حرفًا
  • الحد الأقصى للطول: 500 حرف

مراقبة النتائج المنسّقة باستخدام Search Console

Search Console هي أداة تساعدك في مراقبة مستوى أداء صفحاتك في &quot;بحث Google&quot;. ليس عليك الاشتراك في Search Console لإدراج موقعك الإلكتروني ضمن نتائج &quot;بحث Google&quot;، ولكن تساعدك هذه الأداة في التعرّف على شكل موقعك كما يراه محرّك البحث Google وتحسين هذا الشكل. ننصح بالتحقق من Search Console في الحالات التالية:

  1. بعد نشر بيانات منظَّمة للمرة الأولى
  2. بعد إصدار نماذج جديدة أو تعديل الترميز
  3. تحليل الزيارات بشكل دوري

بعد نشر بيانات منظَّمة للمرة الأولى

بعد أن ينتهي محرّك بحث Google من فهرسة الصفحات، تحقَّق مما إذا كان هناك أي مشاكل باستخدام تقرير &quot;حالة النتائج المنسّقة&quot; المناسب. من المفترض أن ترى زيادة في العناصر الصالحة وليس في العناصر غير الصالحة. إذا عثرت على مشاكل في بياناتك المنظَّمة:

  1. أصلِح العناصر غير الصالحة.
  2. افحص عنوان URL منشور لمعرفة ما إذا لا تزال المشكلة مستمرّة.
  3. اطلب إجراء تحقُّق من الإصلاحات باستخدام تقرير الحالة.

بعد إصدار نماذج جديدة أو تعديل الترميز

عندما تُجري تغييرات كبيرة على موقعك الإلكتروني، عليك مراقبة الزيادات في عدد العناصر غير الصالحة ضمن البيانات المنظَّمة.
  • إذا لاحظت زيادة في عدد العناصر غير الصالحة، قد يكون السبب أنّك طرحت نموذجًا جديدًا لا يعمل أو أنّ موقعك الإلكتروني يتفاعل مع النموذج الحالي بطريقة جديدة وغير صحيحة.
  • إذا لاحظت انخفاضًا في العناصر الصالحة (لا تقابله زيادة في عدد العناصر غير الصالحة)، قد يشير ذلك إلى أنّك توقّفت عن تضمين بيانات منظَّمة في صفحاتك. استخدِم أداة فحص عنوان URL للاطّلاع على سبب المشكلة.

تحليل الزيارات بشكل دوري

يمكنك تحليل الزيارات إلى صفحتك في &quot;بحث Google&quot; باستخدام تقرير الأداء. ستعرض لك البيانات عدد مرات ظهور صفحتك كنتيجة منسّقة في &quot;بحث Google&quot; وعدد المرات التي نقر فيها المستخدمون على الصفحة ومتوسط موضع ظهور الصفحة في نتائج البحث. يمكنك أيضًا عرض هذه النتائج تلقائيًا باستخدام Search Console API.

تحديد المشاكل وحلّها

إذا كنت تواجه مشكلة في تطبيق البيانات المنظَّمة أو تصحيح الأخطاء فيها، إليك بعض المراجع التي قد تساعدك.