استخدام Indexing API

يمكنك استخدام Indexing API لإبلاغ محرّك بحث Google بصفحات الإعلانات الوظيفية أو البث المباشر للفعاليات التي تريد تعديلها أو إزالتها من فهرس Google. يجب أن تحدّد الطلبات موقع صفحة الويب. ويمكنك أيضًا تلقّي معلومات بشأن حالة الإشعارات التي أرسلتها إلى Google. لا يمكن استخدام واجهة Indexing API إلا للزحف إلى صفحات تحتوي على JobPosting أو BroadcastEvent مضمَّنة في VideoObject.

الإرشادات

تسري الإرشادات التالية على استخدام Indexing API.

  • تنطبق سياساتنا المتعلّقة بالمحتوى غير المرغوب فيه على المحتوى الذي يتم إرساله باستخدام Indexing API.
  • في كل الطلبات الموجّهة إلى https://indexing.googleapis.com/v3/UrlNotifications:publish، يجب استخدام "application/json" باعتباره رأس Content-Type.
  • يمكن إرسال عنوان URL واحد فقط في نص طلب التعديل، أو دمج ما يصل إلى 100 طلب في دُفعة واحدة، على النحو الموضّح في القسم إرسال طلبات الفهرسة المجمّعة. يجب عدم التحايل على الحدود القصوى للإرسال، مثلاً من خلال استخدام حسابات متعددة.
  • نص الطلب في هذه الأمثلة هو قيمة المتغيّر content المستخدَم في أمثلة رمز الدخول.

الإجراءات التي تتيح الواجهة تنفيذها

عند إرسال طلب إلى Indexing API، يُرجى تحديد موقع صفحة ويب مستقلة لإبلاغ Google أنّ بإمكانه الزحف إلى هذه الصفحة أو إزالتها من الفهرس.

توضّح الأمثلة التالية الإجراءات التي يمكن تنفيذها باستخدام Indexing API:

أمثلة
تعديل عنوان URL

أرسِل طلب HTTP POST التالي إلى نقطة النهاية https://indexing.googleapis.com/v3/urlNotifications:publish. على سبيل المثال:

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
إزالة عنوان URL

أرسِل طلب HTTP POST التالي إلى نقطة النهاية https://indexing.googleapis.com/v3/urlNotifications:publish. على سبيل المثال:

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
التعرُّف على حالة الإشعار

أرسِل طلب HTTP GET إلى نقطة النهاية https://indexing.googleapis.com/v3/urlNotifications/metadata.

المعلَمات

يوضح الجدول التالي الحقول اللازمة لكل الطرق (تعديل عنوان URL وإزالته):

الحقول
url

مطلوب

يجب إدراج الموقع المؤهَّل بالكامل للعنصر الذي تريد تعديله أو إزالته.

type

مطلوب

نوع الإشعار الذي أرسلته

تعديل عنوان URL

لإعلام Google بعنوان URL جديد كي يتم الزحف إليه أو للإبلاغ عن تعديل المحتوى المتوفر على عنوان URL سبق وتم إرساله، اتّبع الخطوات أدناه:

  1. أرسِل طلب HTTP POST إلى نقطة النهاية التالية:
    https://indexing.googleapis.com/v3/urlNotifications:publish
  2. في نص الطلب، حدِّد موقع الصفحة باستخدام البنية التالية:
    {
      "url": "CONTENT_LOCATION",
      "type": "URL_UPDATED"
    }
  3. يستخدم محرّك بحث Google الاستجابة HTTP 200 للردّ على طلبات البيانات الناجحة من Indexing API. ويُقصد بالاستجابة HTTP 200 أنّ Google قد يحاول إعادة الزحف إلى عنوان URL هذا قريبًا. يشتمل نص الاستجابة على كائن UrlNotificationMetadata تتطابق حقوله مع الحقول التي يعرضها طلب حالة الإشعار.
  4. إذا لم تتلقَّ استجابة HTTP 200، راجِع الأخطاء الخاصة بواجهة Indexing API.
  5. إذا تغيّر محتوى الصفحة، يمكنك إرسال إشعار تعديل آخر، وسيؤدي ذلك إلى إعادة زحف Google إلى الصفحة.
  6. توفر واجهة Indexing API حصة تلقائية مخصّصة لاختبار عملية الإرسال. لاستخدام الواجهة، يجب طلب الحصول على موافقة وحصة أكبر.

إزالة عنوان URL

بعد حذف إحدى الصفحات من خوادمك أو إضافة علامة <meta name="robots" content="noindex" /> في القسم <head> من صفحة معيّنة، يجب إعلام Google بذلك لكي نزيل الصفحة من الفهرس وحتى لا تتم محاولة الزحف إليها وفهرستها من جديد. قبل طلب الإزالة، يجب أن يعرض عنوان URL رمز الحالة 404 أو 410، أو أن تحتوى الصفحة على علامة <meta name="robots" content="noindex" /> meta.

لطلب إزالة صفحة من فهرسنا، اتّبِع الخطوات التالية:

  1. أرسِل طلب POST إلى نقطة النهاية التالية:
    https://indexing.googleapis.com/v3/urlNotifications:publish
  2. حدِّد عنوان URL الذي تريد إزالته في نص الطلب باستخدام البنية التالية:
    {
      "url": "CONTENT_LOCATION",
      "type": "URL_DELETED"
    }

    مثلاً:

    {
      "url": "https://careers.google.com/jobs/google/technical-writer",
      "type": "URL_DELETED"
    }
  3. يستخدم محرّك بحث Google الاستجابة HTTP 200 للردّ على طلبات البيانات الناجحة من Indexing API. ويُقصد بالاستجابة HTTP 200 أنّ Google قد يزيل عنوان URL هذا من الفهرس. يشتمل نص الاستجابة على كائن UrlNotificationMetadata تتطابق حقوله مع الحقول التي يعرضها طلب حالة الإشعار.
  4. إذا لم تتلقَّ استجابة HTTP 200، راجِع الأخطاء الخاصة بواجهة Indexing API.
  5. توفر واجهة Indexing API حصة تلقائية مخصّصة لاختبار عملية الإرسال. لاستخدام الواجهة، يجب طلب الحصول على موافقة وحصة أكبر.

التعرُّف على حالة الإشعار

يمكنك استخدام Indexing API للاطّلاع على آخر مرة تلقّى فيها محرّك بحث Google كل نوع من الإشعارات الخاصة بعنوان URL معيّن. ولا يبلغك طلب GET بفهرسة أحد عناوين URL أو إزالته بواسطة Google، وإنّما يعرض فقط ما إذا كنت قد أرسلت طلبك بنجاح.

للتعرُّف على حالة الإشعار، اتّبِع الخطوات التالية:

  1. أرسِل طلب GET إلى نقطة النهاية التالية. يجب أن تكون عناوين URL التي تحدّدها عناوين URL مرمَّزة. على سبيل المثال، استخدِم %3A بدلاً من : (النقطتان الرأسيتان) واستخدِم %2F بدلاً من / (الشرطة المائلة للأمام).
    https://indexing.googleapis.com/v3/urlNotifications/metadata?url=ENCODED_URL

    على سبيل المثال:

    GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
  2. تستجيب واجهة Indexing API للطلب باستخدام الرسالة HTTP 200 مع عرض بيانات أساسية تتضمن تفاصيل الإشعار. يعرض المثال التالي نص استجابة تتضمّن معلومات عن إشعار بالتعديل والحذف:
    {
      url: "http://foo.com",
      latest_update: {
        type: "URL_UPDATED",
        notify_time: "2017-07-31T19:30:54.524457662Z"
      },
      latest_remove: {
        type: "URL_DELETED",
        notify_time: "2017-08-31T19:30:54.524457662Z"
      }
    }
  3. إذا لم تتلقَّ استجابة HTTP 200، راجِع الأخطاء الخاصة بواجهة Indexing API.
  4. توفر واجهة Indexing API حصة تلقائية مخصّصة لاختبار عملية الإرسال. لاستخدام الواجهة، يجب طلب الحصول على موافقة وحصة أكبر.

إرسال طلبات الفهرسة مجمّعة في دفعة واحدة

لتقليل عدد اتصالات HTTP التي يجب أن يجريها العميل، يمكنك دمج ما يصل إلى 100 طلب لواجهة Indexing API في طلب HTTP واحد. ويمكن تنفيذ ذلك في طلب متعدد الأجزاء يسمى &quot;دفعة&quot;.

عند إرسال طلب مُجمّع إلى Indexing API، يمكنك استخدام نقطة النهاية التالية:

https://indexing.googleapis.com/batch

يحتوي نص الطلب المجمّع على أجزاء متعددة. ويمثل كل جزء بحد ذاته طلب HTTP كاملاً، مع ما يخصه من فعل وعنوان URL ورؤوس ونص. يجب ألا يتجاوز حجم كل جزء من الطلب المجمّع 1 ميغابايت.

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

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

يحتوي المثال التالي لنص رسالة الطلب المجمّع على إشعار بالتعديل وإشعار بالإزالة:

POST /batch HTTP/1.1
Host: indexing.googleapis.com
Content-Length: content_length
Content-Type: multipart/mixed; boundary="===============7330845974216740156=="
Authorization: Bearer oauth2_token

--===============7330845974216740156==
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+2>

POST /v3/urlNotifications:publish [1]
Content-Type: application/json
accept: application/json
content-length: 58

{ "url": "http://example.com/jobs/42", "type": "URL_UPDATED" }
--===============7330845974216740156==
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+1>

POST /v3/urlNotifications:publish [2]
Content-Type: application/json
accept: application/json
content-length: 75

{ "url": "http://example.com/widgets/1", "type": "URL_UPDATED" }
--===============7330845974216740156==
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+3>

POST /v3/urlNotifications:publish [3]
Content-Type: application/json
accept: application/json
content-length: 58

{ "url": "http://example.com/jobs/43", "type": "URL_DELETED" }
--===============7330845974216740156==

لمزيد من المعلومات، راجِع إرسال الطلبات المجمّعة.