استخدام Indexing API

نظرة عامة

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

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

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

تعديل عنوان URL

Send the following HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish endpoint
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
إزالة عنوان URL

Send the following HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish endpoint
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
التعرُّف على حالة الإشعار

Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata endpoint

المعلَمات

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

الحقول
url

مطلوب

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

type

مطلوب

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

الإرشادات

تسري الإرشادات التالية على طلبات تعديل عنوان URL أو إزالته.

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

تعديل عنوان URL

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

  1. إرسال طلب POST إلى نقطة النهاية التالية:
    Send a HTTP POST request to 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. قد تحتاج إلى حصة أكبر من الحصة التلقائية. لعرض حصتك الحالية وطلب حصة أكبر، انتقِل إلى الحصة.

إزالة عنوان URL

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

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

  1. إرسال طلب POST إلى نقطة النهاية التالية:
    Send a HTTP POST request to 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 للاطّلاع على آخر مرة تلقّى فيها محرك بحث Google كل نوع من الإشعارات الخاصة بعنوان URL معيّن. ولا يبلغك طلب GET بفهرسة أحد عناوين URL أو إزالته بواسطة Google، وإنما يعرض فقط ما إذا كنت قد أرسلت طلبك بنجاح.

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

  1. إرسال طلب GET إلى نقطة النهاية التالية. يجب أن تكون عناوين URL التي تحدّدها عناوين URL مرمَّزة. على سبيل المثال، استخدِم %3A بدلاً من : (النقطتان الرأسيتان) واستخدِم %2F بدلاً من / (الشرطة المائلة للأمام).
    Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata?url=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. قد تحتاج إلى حصة أكبر من الحصة التلقائية. لعرض حصتك الحالية وطلب حصة أكبر، انتقِل إلى الحصة.

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

لتقليل عدد اتصالات 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==

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