استخدام 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" } 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 الذي سبق إرساله، اتّبع الخطوات أدناه:
- إرسال طلب
POST
إلى نقطة النهاية التالية:Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- تحديد موقع الصفحة، في نص الطلب، باستخدام البنية التالية:
{ "url": "content_location", "type": "URL_UPDATED" }
- يستخدم محرّك بحث Google الاستجابة
HTTP 200
للردّ على طلبات البيانات الناجحة من Indexing API. ويُقصد بالاستجابةHTTP 200
أن Google قد يحاول إعادة الزحف إلى عنوان URL هذا قريبًا. يشتمل نص الاستجابة على الكائنUrlNotificationMetadata
الذي تتطابق حقوله مع الحقول التي يعرضها طلب حالة الإشعار. - إذا لم تتلقَّ استجابة
HTTP 200
، راجِع الأخطاء الخاصة بواجهة Indexing API. - إذا تم تغيير محتوى الصفحة، يمكنك إرسال إشعار تعديل آخر، وسيؤدي ذلك إلى إعادة زحف Google إلى الصفحة.
- قد تحتاج إلى حصة أكبر من الحصة التلقائية. لعرض حصتك الحالية وطلب حصة أكبر، انتقِل إلى الحصة.
إزالة عنوان URL
بعد حذف إحدى الصفحات من خوادمك أو إضافة علامة <meta name="robots" content="noindex" />
في القسم <head>
من صفحة معيّنة، يجب إرسال إشعار إلى Google لكي نزيل الصفحة من الفهرس وحتى لا تتم محاولة الزحف إليها وفهرستها من جديد. قبل طلب الإزالة، يجب أن يعرض عنوان URL رمز الحالة 404 أو 410 أو أن تحتوي الصفحة على علامة meta
<meta name="robots" content="noindex" />
.
لطلب الإزالة من الفهرس، اتّبِع الخطوات التالية:
- إرسال طلب
POST
إلى نقطة النهاية التالية:Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- تحديد عنوان URL الذي تريد إزالته في نص الطلب باستخدام البنية التالية:
{ "url": "content_location", "type": "URL_DELETED" }
مثلاً:
{ "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" }
- يستخدم محرّك بحث Google الاستجابة
HTTP 200
للردّ على طلبات البيانات الناجحة من Indexing API. ويُقصد بالاستجابةHTTP 200
أن Google قد يزيل عنوان URL هذا من الفهرس. يشتمل نص الاستجابة على الكائنUrlNotificationMetadata
الذي تتطابق حقوله مع الحقول التي يعرضها طلب حالة الإشعار. - إذا لم تتلقَّ استجابة
HTTP 200
، راجِع الأخطاء الخاصة بواجهة Indexing API. - قد تحتاج إلى حصة أكبر من الحصة التلقائية. لعرض حصتك الحالية وطلب حصة أكبر، انتقِل إلى الحصة.
التعرُّف على حالة الإشعار
يمكنك استخدام Indexing API للاطّلاع على آخر مرة تلقّى فيها محرك بحث Google كل نوع من الإشعارات الخاصة بعنوان URL معيّن. ولا يبلغك طلب GET
بفهرسة أحد عناوين URL أو إزالته بواسطة Google، وإنما يعرض فقط ما إذا كنت قد أرسلت طلبك بنجاح.
للتعرُّف على حالة الإشعار، اتّبِع الخطوات التالية:
- إرسال طلب
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
- تستجيب 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" } }
- إذا لم تتلقَّ استجابة
HTTP 200
، راجِع الأخطاء الخاصة بواجهة Indexing API. - قد تحتاج إلى حصة أكبر من الحصة التلقائية. لعرض حصتك الحالية وطلب حصة أكبر، انتقِل إلى الحصة.
إرسال طلبات الفهرسة مجمّعة في دفعة واحدة
لتقليل عدد اتصالات HTTP التي يجب على العميل إجراؤها، يمكنك دمج ما يصل إلى 100 طلب لواجهة Indexing API في طلب HTTP واحد. ويمكن تنفيذ ذلك في طلب متعدد الأجزاء يسمى "دفعة".
عند إرسال طلب مُجمّع إلى Indexing API، يمكنك استخدام نقطة النهاية التالية:
https://indexing.googleapis.com/batch
يحتوي نص الطلب المجمّع على أجزاء متعددة. ويمثل كل جزء بحد ذاته طلب HTTP كاملاً، مع ما يخصه من فعل وعنوان URL ورؤوس ونص. يجب ألا يتجاوز حجم كل جزء من الطلب المجمّع 1 ميغابايت.
لتسهيل إرسال الطلبات المجمّعة، تدعم "مكتبات عميل واجهة برمجة التطبيقات" من 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==
لمزيد من المعلومات، راجِع إرسال الطلبات المجمّعة.