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