الراتب المتوقّع

إنّ مقدّمي الخدمات المعنيّين بتقدير الرواتب يستفيدون من بيانات Occupation المنظَّمة من أجل تحديد نطاق الرواتب ومتوسّطات الرواتب حسب المناطق لمختلف أنواع الوظائف، فضلاً عن تفاصيل المهنة مثل المزايا والمؤهّلات والمتطلبات التعليمية المعتادة. ويستفيد مقدّمو الخدمات المعنيّين بتقدير الرواتب من بيانات OccupationAggregationByEmployer المنظَّمة في تجميع المهن بالاستناد إلى مستويات الخبرة أو المؤسسة الموظِّفة.

يمكن أن تظهر الرواتب التقديرية في تجربة البحث عن وظائف على "بحث Google" وكنتيجة منسّقة لتقدير الرواتب لمهنة معيّنة.

معلومات الرواتب التقديرية في تجربة البحث عن الوظائف على

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

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

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

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

أمثلة

مثال على المهنة

في ما يلي مثال على التنسيق JSON-LD لنموذج بسيط من الترميز Occupation لبيانات الراتب المقدّر:


<html>
  <head>
    <title>Software Developer, Applications</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Occupation",
      "name": "Software Developer, Applications",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "lastReviewed": "2017-07-23T14:20:00-05:00"
      },
      "description": "Develops information systems by designing, developing, and installing software solutions",
      "estimatedSalary": [
        {
          "@type": "MonetaryAmountDistribution",
          "name": "base",
          "currency": "USD",
          "duration": "P1Y",
          "percentile10": "100000.5",
          "percentile25": "115000",
          "median": "120000.28",
          "percentile75": "130000",
          "percentile90": "150000"
        }
      ],
      "occupationLocation": [
        {
          "@type": "City",
          "name": "Mountain View"
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

مثال على تجميع المهن استنادًا إلى صاحب العمل

في ما يلي مثال على التنسيق JSON-LD لنموذج مركّب من الترميز OccupationAggregationByEmployer لبيانات الراتب المقدّر:

<html>
  <head>
    <title>App/Web App Developer</title>
    <script type="application/ld+json">
    {
      "@context": "http://schema.googleapis.com/",
      "@type": "OccupationAggregationByEmployer",
      "name": "App/Web App Developer",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "lastReviewed": "2017-07-23T14:20:00-05:00"
      },
      "description": "Develops information systems by designing, developing, and installing software solutions.",
      "estimatedSalary": [
        {
          "@type": "MonetaryAmountDistribution",
          "name": "base",
          "currency": "USD",
          "duration": "P1Y",
          "percentile10": "100000.5",
          "percentile25": "115000",
          "median": "120000.28",
          "percentile75": "130000",
          "percentile90": "150000"
        },
        {
          "@type": "MonetaryAmountDistribution",
          "name": "bonus",
          "currency": "USD",
          "duration": "P1Y",
          "percentile10": "10000",
          "percentile25": "20000",
          "median": "25000",
          "percentile75": "27000",
          "percentile90": "60000"
        }
      ],
      "occupationLocation": [
        {
          "@type": "State",
          "name": "Oregon"
        },
        {
          "@type": "State",
          "name": "Washington"
        },
        {
          "@type": "State",
          "name": "California"
        }
      ],
      "hiringOrganization": {
        "@type": "Organization",
        "name": "Google LLC"
      },
      "sampleSize":1000,
      "industry": "Technology",
      "jobBenefits": "6 weeks paid vacation every year",
      "yearsExperienceMin": 3,
      "yearsExperienceMax": 7
    }
    </script>
  </head>
  <body>
  </body>
</html>

الإرشادات

يجب اتّباع الإرشادات العامة لجودة البيانات المنظَّمة والإرشادات الفنية. وتسري أيضًا الإرشادات التالية على بيانات Occupation المنظَّمة.

الإرشادات الفنية

  • بيانات Occupation المنظَّمة هي بيانات مستقلة. لا تحتاج إلى ربطها بأي بيانات أخرى منظَّمة تقدّمها إلى Google.
  • يمكنك إضافة نوع واحد من Occupation أو OccupationAggregationByEmployer إلى صفحة ويب. لا تضِف أكثر من تعريف نوع واحد إلى كل صفحة.
  • يجب أن تكون بياناتك المنظَّمة متوافقة مع ما تعرضه على الصفحة. وفي ما يلي بعض الأمثلة:
    • إذا كنت تعرض للمستخدِمين على صفحتك متوسط الراتب فقط، يجب أن تضم بياناتك المنظَّمة القيم ذات الصلة لا غير.
    • إذا كنت تقرّب الراتب السنوي إلى أقرب خمسة آلاف على صفحتك، يجب أن تقدّم دقة التقريب نفسها في البيانات المنظَّمة.
  • يجب أن تظهر معظم الخصائص مرة واحدة فقط في التعريف ما لم يُذكر خلاف ذلك.
  • بالنسبة إلى المهن التي تختلف خصائصها حسب الموقع الجغرافي (مثلًا، قد يختلف نطاق الراتب بين منطقة الشمال الشرقي ومنطقة الغرب الأوسط في الولايات المتحدة)، أنشئ لكل مهنة صفحة ويب منفصلة مع احتواء كل منها على تعريف Occupation خاص بها يتم من خلاله تحديد قيمة مختلفة للخاصية occupationLocation.
  • يجب عدم إضافة البيانات المنظَّمة للراتب التقديري إلى صفحات القوائم (الصفحات التي تعرض قائمة بالمهن).
  • عندما تُجري تغييرًا على صفحاتك، يجب تحديث ملف Sitemap بوتيرة يومية.

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

  • يمكن جمع المسميات الوظيفية المتشابهة عندما يكون لكل الوظائف نطاقات رواتب وأوصاف متشابهة. ينبغي أن تكون مسميات المهن دقيقة، ولكن ليس لدرجة أن تصبح مربكة. وإليك بعض الأمثلة:
    • لا تقدِّم مسميات عامة للغاية:

      غير محبَّذ: "أخصائيون في علم النفس السريري والاستشاري والمدرسي"

      محبَّذ: "مستشار مدرسي" و"أخصائي في علم النفس السريري" و"معالج نفسي سريري" و"طبيب نفسي"

    • لا تكن أدقّ من اللازم:

      غير محبَّذ: "ممرضة مسجلة تقدّم خدمات الرعاية الصحية المنزلية" و"ممرضة مسجلة (RN)" و"RN - ممرضة مسجلة - الرعاية الصحية المنزلية - ممرضة للسفر"

      محبَّذ: "ممرضة مسجلة"

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

يوضّح هذا القسم أنواع البيانات المنظَّمة ذات الصلة بتقديرات الرواتب.

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

Occupation

يحدّد النوع Occupation المعلومات المتعلقة بإحدى الوظائف، مثل الراتب التقديري والمهارات المطلوبة والمسؤوليات. يتوفَّر تعريف Occupation الكامل على schema.org/Occupation.

الخصائص المطلوبة
estimatedSalary

صفيف MonetaryAmountDistribution

تمثل هذه الخاصية الراتب التقديري لهذه المهنة في occupationLocation المحدَّد. ينبغي تحديد نطاق الراتب أو تقديرات الراتب على أساس الترتيب المئوي.

لحساب الراتب الأساسي والمكافآت وأشكال التعويضات المالية الأخرى، حدِّد رواتب متعددة داخل صفيف estimatedSalary. يجب تحديد الراتب الأساسي. أما الأنواع الأخرى من التعويض المالي، فهي اختيارية.

estimatedSalary.duration

Duration

تمثّل هذه الخاصية الفترة الزمنية المستغرقة لكسب الراتب المقدّر بتنسيق التاريخ ISO 8601. على سبيل المثال، إذا كان الراتب المقدّر يتم اكتسابه على مدار عام، يجب استخدام الخاصية P1Y للإشارة إلى duration.

estimatedSalary.name

Text

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

name

Text

تمثّل هذه الخاصية المسمّى المهني. وتسمح بإدخال النص الحر. على سبيل المثال، "مهندس برمجيات"

أفضل الممارسات:

  • يجب أن تتضمن هذه الخاصية المسمى الوظيفي فقط.
  • يُرجى عدم تضمين رموز للوظيفة أو عناوين أو تواريخ أو رواتب أو أسماء شركات في الخاصية name.

    غير مقترَح: تقدَّم الآن لوظيفة في قسم تكنولوجيا المعلومات - للمتحدِّثين بالفرنسية في بوخارست

    مقترَح: خبير تسويق، متحدّث باللغة الفرنسية

  • يجب تقديم عناوين مختصرة وواضحة.
  • يُرجى عدم الإفراط في استخدام الأحرف الخاصة، مثل "!" و"*"، لأن إساءة استخدام الأحرف الخاصة قد يتسبّب في اعتبار الترميز غير مرغوب فيه لهذه البيانات. ويجوز استخدام أرقام وحروف مثل "/" و"-".

    غير مقترَح: *** وظائف متاحة حاليًا في مستودع بضائع!! يقع على مسار حافلات!! ***

    عنوان مقترَح: موظّف مساعد في مستودع لاستلام البضائع وشحنها

occupationLocation

صفيف City أو State أو Country

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

أفضل الممارسات:

  • ينبغي ألا يكون الموقع الجغرافي أكثر تحديدًا من المدينة.
  • تقبل الخاصية State أسماء المناطق إذا لم يحدّد البلد إحدى الولايات.
  • قيمة occupationLocation هي الموقع الجغرافي الفعلي للمهنة، وليست الموقع الذي تم فيه إنشاء قائمة تقديرات الراتب.
  • إذا تعددت المواقع الجغرافية لنوع Occupation واحد، يجب تحديد المواقع الجغرافية في صفيف occupationLocation على النحو الموضح في المثال التالي.
  • تختلف بيانات المهنة باستمرار بناءً على الموقع الجغرافي. ويمكن أن تتضمن هذه البيانات نطاقات الرواتب والمتطلبات التعليمية والمؤهلات. لتمثيل هذه البيانات، يجب تحديد صفحات متعددة، يتضمّن كلّ منها تعريف خاص للنوع Occupation وقيمة مختلفة للخاصية occupationLocation.
الخصائص المقترَحة
description

Text

تمثل هذه الخاصية وصف المهنة.

يجب أن تمثل الخاصية description وصفًا كاملاً وشاملاً للوظيفة، يتضمّن مسؤوليات الوظيفة والمؤهلات والمهارات وساعات العمل ومتطلبات التعليم ومتطلبات الخبرة.

إرشادات إضافية:

  • أدرِج description على كل صفحات الخصائص التفصيلية التي قد يصل إليها المستخدِم، وليس فقط على صفحة المستوى الأعلى.
  • ﯾﺟب أن تحدد الخاصية description المهنة بشكل فريد وتقدم وﺻﻔًﺎ ﻣﺣددًا ﻟﻣﺎ تنطوي ﻋﻟﯾﮫ المهنة.

    غير مقترَح: "تدريب داخلي - التدريب الداخلي هو تدريب على العمل للوظائف الإدارية والمهنية."

    محبَّذ: "محلل بيانات متدرب - تدريب داخلي مع محلل بيانات. يعمل محلل البيانات على استخلاص الإحصاءات من البيانات للمساعدة في اتخاذ قرارات تعتمد على البيانات".

  • لا يمكن أن يتطابق محتوى description مع name.
  • يجب عدم تضمين مؤسسة التوظيف في description. واستخدِم hiringOrganization بدلاً من ذلك.
estimatedSalary.currency

Text

تمثل هذه الخاصية رمز العملة المكّون من 3 أحرف بالتنسيق ISO 4217 للقيمة. على سبيل المثال، "USD" أو "CAD"

estimatedSalary.median

Number

تمثّل هذه الخاصية القيمة المتوسطة (أو "الوسطى"). على سبيل المثال، نصف رواتب هذه المهنة تساوي هذه القيمة أو تقل عنها.

estimatedSalary.percentile10

Number

تمثّل هذه الخاصية القيمة المئوية العاشرة. على سبيل المثال، 10% من رواتب هذه المهنة تساوي هذه القيمة أو تقل عنها.

estimatedSalary.percentile25

Number

تمثّل هذه الخاصية القيمة المئوية الخامسة والعشرين. على سبيل المثال، 25% من رواتب هذه المهنة تساوي هذه القيمة أو تقل عنها.

estimatedSalary.percentile75

Number

تمثّل هذه الخاصية القيمة المئوية الخامسة والسبعين. على سبيل المثال، 75% من رواتب هذه المهنة تساوي هذه القيمة أو تقل عنها.

estimatedSalary.percentile90

Number

تمثّل هذه الخاصية القيمة المئوية التسعين. على سبيل المثال، 90% من رواتب هذه المهنة تساوي هذه القيمة أو تقل عنها.

mainEntityOfPage

WebPage

تمثّل هذه الخاصية العنصر الرئيسي الذي يتم وصفه على الصفحة.

mainEntityOfPage.lastReviewed

Date

تمثّل هذه الخاصية تاريخ تقديم معلومات الراتب المقدّر بتنسيق ISO 8601. مثلاً:


"mainEntityOfPage": {
  "@type": "WebPage",
  "lastReviewed": "2017-07-23T14:20:00-05:00"
}

OccupationAggregationByEmployer

توفّر الخاصية OccupationAggregationByEmployer بيانات مرتبطة بالوظيفة يتم تجميعها حسب صاحب العمل. على سبيل المثال، يمكنك تحديد القطاع والمؤسسة الموظِّفة لمجموعة من المهن عندما يتم تجميعها حسب جهة التوظيف.

الخصائص المطلوبة
estimatedSalary

صفيف MonetaryAmountDistribution

تمثل هذه الخاصية الراتب التقديري لهذه المهنة في occupationLocation المحدَّد. ينبغي تحديد نطاق الراتب أو تقديرات الراتب على أساس الترتيب المئوي.

لحساب الراتب الأساسي والمكافآت وأشكال التعويضات المالية الأخرى، حدِّد رواتب متعددة داخل صفيف estimatedSalary. يجب تحديد الراتب الأساسي. أما الأنواع الأخرى من التعويض المالي، فهي اختيارية.

estimatedSalary.duration

Duration

تمثّل هذه الخاصية الفترة الزمنية المستغرقة لكسب الراتب المقدّر بتنسيق التاريخ ISO 8601. على سبيل المثال، إذا كان الراتب المقدّر يتم اكتسابه على مدار عام، يجب استخدام الخاصية P1Y للإشارة إلى duration.

estimatedSalary.name

Text

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

hiringOrganization

Organization

تمثّل هذه الخاصية المؤسسة التي توفّر وظيفة ضمن هذه المهنة. اضبِط ‎@context على "https://schema.org/". يجب أن تشير الخاصية hiringOrganization إلى اسم الشركة (مثل شركة "Starbucks, Inc") وليس الموقع الجغرافي لجهة التوظيف (مثل "Starbucks على الشارع الرئيسي"). على سبيل المثال:


"hiringOrganization": {
  "@context": "https://schema.org/",
  "@type": "Organization",
  "name": "Google LLC"
}
name

Text

تمثّل هذه الخاصية المسمّى المهني. وتسمح بإدخال النص الحر. على سبيل المثال، "مهندس برمجيات"

أفضل الممارسات:

  • يجب أن تتضمن هذه الخاصية المسمى الوظيفي فقط.
  • يُرجى عدم تضمين رموز للوظيفة أو عناوين أو تواريخ أو رواتب أو أسماء شركات في الخاصية name.

    غير مقترَح: تقدَّم الآن لوظيفة في قسم تكنولوجيا المعلومات - للمتحدِّثين بالفرنسية في بوخارست

    مقترَح: خبير تسويق، متحدّث باللغة الفرنسية

  • يجب تقديم عناوين مختصرة وواضحة.
  • يُرجى عدم الإفراط في استخدام الأحرف الخاصة، مثل "!" و"*"، لأن إساءة استخدام الأحرف الخاصة قد يتسبّب في اعتبار الترميز غير مرغوب فيه لهذه البيانات. ويجوز استخدام أرقام وحروف مثل "/" و"-".

    غير مقترَح: *** وظائف متاحة حاليًا في مستودع بضائع!! يقع على مسار حافلات!! ***

    عنوان مقترَح: موظّف مساعد في مستودع لاستلام البضائع وشحنها

occupationLocation

صفيف City أو State أو Country

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

أفضل الممارسات:

  • ينبغي ألا يكون الموقع الجغرافي أكثر تحديدًا من المدينة.
  • تقبل الخاصية State أسماء المناطق إذا لم يحدّد البلد إحدى الولايات.
  • قيمة occupationLocation هي الموقع الجغرافي الفعلي للمهنة، وليست الموقع الذي تم فيه إنشاء قائمة تقديرات الراتب.
  • إذا تعددت المواقع الجغرافية لنوع Occupation واحد، يجب تحديد المواقع الجغرافية في صفيف occupationLocation على النحو الموضح في المثال التالي.
  • تختلف بيانات المهنة باستمرار بناءً على الموقع الجغرافي. ويمكن أن تتضمن هذه البيانات نطاقات الرواتب والمتطلبات التعليمية والمؤهلات. لتمثيل هذه البيانات، يجب تحديد صفحات متعددة، يتضمّن كلّ منها تعريف خاص للنوع Occupation وقيمة مختلفة للخاصية occupationLocation.
الخصائص المقترَحة
description

Text

تمثل هذه الخاصية وصف المهنة.

يجب أن تمثل الخاصية description وصفًا كاملاً وشاملاً للوظيفة، يتضمّن مسؤوليات الوظيفة والمؤهلات والمهارات وساعات العمل ومتطلبات التعليم ومتطلبات الخبرة.

إرشادات إضافية:

  • أدرِج description على كل صفحات الخصائص التفصيلية التي قد يصل إليها المستخدِم، وليس فقط على صفحة المستوى الأعلى.
  • ﯾﺟب أن تحدد الخاصية description المهنة بشكل فريد وتقدم وﺻﻔًﺎ ﻣﺣددًا ﻟﻣﺎ تنطوي ﻋﻟﯾﮫ المهنة.

    غير مقترَح: "تدريب داخلي - التدريب الداخلي هو تدريب على العمل للوظائف الإدارية والمهنية."

    محبَّذ: "محلل بيانات متدرب - تدريب داخلي مع محلل بيانات. يعمل محلل البيانات على استخلاص الإحصاءات من البيانات للمساعدة في اتخاذ قرارات تعتمد على البيانات".

  • لا يمكن أن يتطابق محتوى description مع name.
  • يجب عدم تضمين مؤسسة التوظيف في description. واستخدِم hiringOrganization بدلاً من ذلك.
estimatedSalary.currency

Text

تمثل هذه الخاصية رمز العملة المكّون من 3 أحرف بالتنسيق ISO 4217 للقيمة. على سبيل المثال، "USD" أو "CAD"

estimatedSalary.median

Number

تمثّل هذه الخاصية القيمة المتوسطة (أو "الوسطى"). على سبيل المثال، نصف رواتب هذه المهنة تساوي هذه القيمة أو تقل عنها.

estimatedSalary.percentile10

Number

تمثّل هذه الخاصية القيمة المئوية العاشرة. على سبيل المثال، 10% من رواتب هذه المهنة تساوي هذه القيمة أو تقل عنها.

estimatedSalary.percentile25

Number

تمثّل هذه الخاصية القيمة المئوية الخامسة والعشرين. على سبيل المثال، 25% من رواتب هذه المهنة تساوي هذه القيمة أو تقل عنها.

estimatedSalary.percentile75

Number

تمثّل هذه الخاصية القيمة المئوية الخامسة والسبعين. على سبيل المثال، 75% من رواتب هذه المهنة تساوي هذه القيمة أو تقل عنها.

estimatedSalary.percentile90

Number

تمثّل هذه الخاصية القيمة المئوية التسعين. على سبيل المثال، 90% من رواتب هذه المهنة تساوي هذه القيمة أو تقل عنها.

industry

Text

تمثّل هذه الخاصية المجال المرتبط بالوظيفة.

jobBenefits

Text

تمثّل هذه الخاصية وصف المزايا المرتبطة بالوظيفة.

mainEntityOfPage

WebPage

تمثّل هذه الخاصية العنصر الرئيسي الذي يتم وصفه على الصفحة.

mainEntityOfPage.lastReviewed

Date

تمثّل هذه الخاصية تاريخ تقديم معلومات الراتب المقدّر بتنسيق ISO 8601. مثلاً:


"mainEntityOfPage": {
  "@type": "WebPage",
  "lastReviewed": "2017-07-23T14:20:00-05:00"
}
sampleSize

Number

تمثّل هذه الخاصية عدد نقاط البيانات التي تساهم في بيانات الراتب المجمَّعة. مثلاً:


"sampleSize": 42
yearsExperienceMax

Number

تمثّل هذه الخاصية الحد الأقصى لسنوات الخبرة المقبولة لهذه المهنة. قد تُحدَد مثلاً 5 سنوات خبرة كحدٍّ أقصى لوظيفة للمبتدئين، كما يبيِّن المثال التالي:


"yearsExperienceMax": 5
yearsExperienceMin

Number

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


"yearsExperienceMin": 10

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

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