המדריך השלם ל-Indexing API של גוגל

איך לחבר את האתר ל-Indexing API של גוגל, לשלוח עדכונים על עמודים ולבדוק מה קורה בפועל. עם דוגמאות קוד ותוספים לוורדפרס.

תוכן עניינים

נקודות עיקריות

  • ה-Indexing API מאפשר להודיע לגוגל כשעמוד נוסף, מתעדכן או נמחק, כדי שהיא תתזמן את הסריקה שלו מוקדם יותר. השליחה לא מבטיחה מתי גוגלבוט יגיע, וסריקה לא מבטיחה אינדוקס.
  • התמיכה הרשמית מוגבלת לעמודי משרות עם JobPosting ולשידורים חיים עם BroadcastEvent בתוך VideoObject. היו לי הצלחות עם ה-API גם מעבר לסוגי התוכן האלה, אבל מה שעבד אז לא בהכרח יעבוד היום.
  • בבדיקות שלי בזמנו, גוגלבוט הגיע בתוך חצי דקה עד כמה דקות בודדות משליחת העדכון. לא הייתי מתחייב על הזמן הזה היום.
  • המכסה הראשונית של 200 בקשות ביום מיועדת לחיבור ולבדיקות, כך שגם אתר שלא צריך יותר מזה עדיין צריך לבקש אישור לשימוש.
  • כדי לדעת אם החיבור שווה את המאמץ, הייתי שולח קבוצה קטנה של עמודים ומשווה אותה לעמודים דומים שלא נשלחו, לפי הזמן עד הסריקה ומצב האינדוקס לאורך כמה עדכונים.

בבדיקות שלי בזמנו עם ה-Indexing API, גוגלבוט הגיע בתוך חצי דקה עד כמה דקות בודדות משליחת העדכון. זה היה מהיר, אבל לא הייתי מתחייב על הזמן הזה היום.

מה זה Indexing API

ה-Indexing API מאפשר לנו לעדכן את גוגל אוטומטית כשעמוד באתר נוסף, מתעדכן או נמחק, כדי שגוגל תוכל לתזמן סריקה שלו מוקדם יותר. השליחה לא מבטיחה מתי גוגלבוט יגיע, וגם סריקה לא מבטיחה אינדוקס.

אם זה מזכיר לכם את IndexNow של בינג, הרעיון דומה: האתר מודיע למנוע החיפוש על עמודים שנוספו, השתנו או נמחקו. ה-Indexing API של גוגל הושק ביוני 2018, יותר משלוש שנים לפני IndexNow, שהושק באוקטובר 2021.

התמיכה הרשמית ב-API מוגבלת לעמודי משרות עם JobPosting ולשידורים חיים עם BroadcastEvent בתוך VideoObject. Google: המדריך של Google לשימוש ב־Indexing API

מהניסיון שלי, שווה לנסות. היו לי הצלחות עם ה-API בעבר גם מעבר לסוגי התוכן האלה, אבל דברים משתנים כל הזמן, ומה שעבד אז לא בהכרח יעבוד היום. הייתי מתחיל בניסוי קטן ובודק מה קורה בפועל בסרץ’ קונסול.

איך זה עובד?

התהליך עצמו לא מורכב:

  1. עמוד נוסף באתר, מתעדכן או נמחק.
  2. האתר שולח ל-API את הכתובת ואת סוג העדכון: URL_UPDATED או URL_DELETED.
  3. תשובת HTTP 200 מאשרת שהבקשה הצליחה. אחרי הודעת עדכון, גוגל עשויה לשלוח את גוגלבוט לסרוק את הכתובת בקרוב.

איך לקבל גישה ל-Indexing API

כדי להתחיל, צריך פרויקט ב-Google Cloud וחשבון שירות שדרכו האתר יפנה ל-API. חשבון השירות צריך הרשאת בעלים בנכס בסרץ’ קונסול. אין צורך לתת לו גם תפקיד Owner בפרויקט של Cloud. אלה שני מקומות שונים עם הרשאות שונות. Google: הדרישות המקדימות של Google ל־Indexing API

אחרי ההגדרה צריך גם לבקש אישור ומכסה. המכסה הראשונית של 200 בקשות ביום נועדה לחיבור ולבדיקות, כך שגם אתר שלא צריך יותר מ-200 בקשות ביום עדיין צריך לעבור את שלב האישור. Google: התיעוד של Google על בקשת אישור ומכסה

  1. ליצור פרויקט או לבחור פרויקט קיים דרך כלי ההגדרה של Indexing API, ולהפעיל בו את ה-API.

  2. לפתוח את Service Accounts בפרויקט וליצור חשבון שירות.

  3. לתת לחשבון השירות שם ותיאור. במסך הרשאות הפרויקט אפשר לדלג על השלב האופציונלי. לא צריך לבחור Owner כדי להשתמש ב-Indexing API.

  4. לשמור את כתובת האימייל של חשבון השירות. נצטרך אותה עוד רגע בסרץ’ קונסול. היא מופיעה גם בשדה client_email בקובץ ה-JSON.

  5. ליצור מפתח JSON לחשבון השירות ולהוריד אותו. הקובץ מכיל מפתח פרטי שנותן גישה בשם החשבון, אז הוא צריך להישאר במקום מוגן, מחוץ לתיקיות הציבוריות של האתר.

  6. להוסיף את האימייל של חשבון השירות כבעלים מואצל (delegated owner) בנכס המאומת בסרץ’ קונסול. אם אותו חשבון ישמש כמה אתרים, צריך להוסיף אותו בנכס של כל אחד מהם.

שליחת בקשות ל-Indexing API: דוגמאות קוד

אחרי הגדרת חשבון השירות וההרשאות, אפשר לחבר את השליחה למערכת הניהול של האתר. המערכת צריכה לזהות מתי עמוד נוצר, מתעדכן או נמחק, ולשלוח לגוגל את ההודעה המתאימה.

הבקשה נשלחת ב-POST לכתובת https://indexing.googleapis.com/v3/urlNotifications:publish. בגוף ה-JSON נכללים ה-URL וסוג הבקשה (url ו-type), עם הכותרת Content-Type: application/json. לפני השליחה צריך להזדהות: פרטי חשבון השירות משמשים לקבלת טוקן OAuth עם הרשאת https://www.googleapis.com/auth/indexing, ואת הטוקן מצרפים לבקשה.

אם בשלב הזה העיניים שלכם מתחילות להזדגג, אני מבין לחלוטין. אפשר להעביר את החיבור למי שאחראי על הפיתוח. בוורדפרס יש גם תוספים שמבצעים את השליחה, וריכזתי כמה מהם בהמשך.

גוגל מספקת ספריות לקוח שעוזרות עם ההזדהות ושליחת הבקשות, בין היתר ב-Node.js, Python, Java ו-PHP. לא צריך לכתוב את כל החיבור מאפס. Google: ספריות הלקוח של Google ל־Indexing API

אלה דוגמאות לבקשות HTTP לפי מדריך השימוש הרשמי. לפני השליחה, צריך להחליף את YOUR_ACCESS_TOKEN בטוקן OAuth של חשבון השירות עם ההרשאה https://www.googleapis.com/auth/indexing, ואת כתובות הדוגמה בכתובות מהאתר. את הטוקן אפשר לקבל דרך ספריית הלקוח של גוגל. התשובות בהמשך הן דוגמאות להמחשת המבנה, עם כתובות וזמנים לדוגמה. Google: הדרישות המקדימות של Google ל־Indexing API

איך להודיע על עמוד חדש או עדכון לעמוד

הפעולה זהה בשני המקרים: לשלוח URL_UPDATED עם כתובת העמוד.

http
POST /v3/urlNotifications:publish HTTP/1.1
Host: indexing.googleapis.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

{
  "url": "https://example.com/jobs/42",
  "type": "URL_UPDATED"
}

בתשובה מוצלחת מתקבל HTTP 200. גוף התשובה של publish כולל urlNotificationMetadata, ובתוכו פרטי ההודעה האחרונה. notifyTime הוא זמן קבלת ההודעה בגוגל. Google: המתודה urlNotifications.publish

http
HTTP/1.1 200 OK
Content-Type: application/json

{
  "urlNotificationMetadata": {
    "url": "https://example.com/jobs/42",
    "latestUpdate": {
      "url": "https://example.com/jobs/42",
      "type": "URL_UPDATED",
      "notifyTime": "2026-09-22T08:00:00Z"
    }
  }
}

איך לבקש הסרה של עמוד מהאינדקס

לפני השליחה, העמוד צריך להחזיר 404 או 410, או לכלול noindex. הבקשה עצמה נשלחת לאותה כתובת, עם URL_DELETED.

http
POST /v3/urlNotifications:publish HTTP/1.1
Host: indexing.googleapis.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

{
  "url": "https://example.com/jobs/43",
  "type": "URL_DELETED"
}

גם הודעת הסרה שהתקבלה בהצלחה מחזירה HTTP 200. בדוגמה הזאת פרטי ההסרה מופיעים תחת latestRemove:

http
HTTP/1.1 200 OK
Content-Type: application/json

{
  "urlNotificationMetadata": {
    "url": "https://example.com/jobs/43",
    "latestRemove": {
      "url": "https://example.com/jobs/43",
      "type": "URL_DELETED",
      "notifyTime": "2026-09-22T08:05:00Z"
    }
  }
}

איך לבדוק מתי גוגל קיבלה את ההודעה

בקשת GET מחזירה פרטים על ההודעות האחרונות שנשלחו עבור הכתובת. צריך לקודד את ה-URL בפרמטר url, כפי שמופיע בדוגמה. התשובה לא מציגה את מצב האינדוקס של העמוד.

http
GET /v3/urlNotifications/metadata?url=https%3A%2F%2Fexample.com%2Fjobs%2F42 HTTP/1.1
Host: indexing.googleapis.com
Authorization: Bearer YOUR_ACCESS_TOKEN

התשובה של getMetadata מחזירה את פרטי ההודעות ישירות, בלי העטיפה urlNotificationMetadata. בדוגמה הזאת התקבלה רק הודעת עדכון: Google: המתודה urlNotifications.getMetadata

http
HTTP/1.1 200 OK
Content-Type: application/json

{
  "url": "https://example.com/jobs/42",
  "latestUpdate": {
    "url": "https://example.com/jobs/42",
    "type": "URL_UPDATED",
    "notifyTime": "2026-09-22T08:00:00Z"
  }
}

איך לשלוח כמה עדכונים בבקשת batch

אפשר לצרף עד 100 בקשות לשליחה אחת. כאן יש שתי בקשות נפרדות: עדכון על משרה אחת והסרה של משרה אחרת. כל אחת נספרת במכסה, וצריך לבדוק את התשובה לכל אחת בנפרד.

http
POST /batch HTTP/1.1
Host: indexing.googleapis.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: multipart/mixed; boundary=batch_indexing

--batch_indexing
Content-Type: application/http
Content-ID: <update-job-42>

POST /v3/urlNotifications:publish HTTP/1.1
Content-Type: application/json

{"url":"https://example.com/jobs/42","type":"URL_UPDATED"}
--batch_indexing
Content-Type: application/http
Content-ID: <delete-job-43>

POST /v3/urlNotifications:publish HTTP/1.1
Content-Type: application/json

{"url":"https://example.com/jobs/43","type":"URL_DELETED"}
--batch_indexing--

תשובת batch חוזרת כ-multipart/mixed, עם תשובה נפרדת לכל בקשה. בדוגמה הזאת העדכון הצליח וההסרה נכשלה. Content-ID מחבר כל תשובה לבקשה שלה:

http
HTTP/1.1 200 OK
Content-Type: multipart/mixed; boundary=batch_response

--batch_response
Content-Type: application/http
Content-ID: <response-update-job-42>

HTTP/1.1 200 OK
Content-Type: application/json

{
  "urlNotificationMetadata": {
    "url": "https://example.com/jobs/42",
    "latestUpdate": {
      "url": "https://example.com/jobs/42",
      "type": "URL_UPDATED",
      "notifyTime": "2026-09-22T08:00:00Z"
    }
  }
}
--batch_response
Content-Type: application/http
Content-ID: <response-delete-job-43>

HTTP/1.1 403 Forbidden
Content-Type: application/json

{
  "error": {
    "code": 403,
    "message": "Permission denied. Failed to verify the URL ownership."
  }
}
--batch_response--

ה-200 החיצוני לא מספיק כדי לדעת שכל הבקשות הצליחו. כאן בקשת ההסרה חזרה עם 403 כי גוגל לא הצליחה לאמת בעלות על הכתובת. במקרה כזה צריך לבדוק שלחשבון השירות יש הרשאת בעלים בנכס המתאים בסרץ’ קונסול. Google: רשימת השגיאות של Indexing API

הדוגמאות מציגות את מבנה הבקשות. ספריית HTTP מטפלת בפרטים כמו אורך גוף הבקשה וסיומות השורות, וספריות הלקוח של גוגל יכולות להרכיב גם את בקשת ה-batch.

תוספי וורדפרס לחיבור ל-Indexing API

בוורדפרס אפשר לשלוח את העדכונים דרך תוסף. אלה ארבע אפשרויות עם חיבור ל-Google Indexing API, מסודרות לפי מספר ההתקנות הפעילות במאגר וורדפרס ב-22 בספטמבר 2026. ההתקנות והדירוגים מתייחסים לתוסף כולו, ולא רק ליכולת השליחה לגוגל.

תוסףהתקנות פעילותדירוג ומספר דירוגיםמה הוא כולל
SiteSEO500,000+4.0 מתוך 5, על בסיס 9 דירוגיםתוסף SEO עם Google Indexing API ו-IndexNow בגרסה החינמית
SEOPress300,000+4.8 מתוך 5, על בסיס 1,257 דירוגיםתוסף SEO עם Google Indexing API ו-IndexNow בגרסה החינמית
Instant Indexing for Google של Rank Math200,000+3.6 מתוך 5, על בסיס 36 דירוגיםתוסף נפרד לשליחה לגוגל, שאפשר להשתמש בו גם בלי Rank Math SEO
CrawlWP30,000+4.7 מתוך 5, על בסיס 60 דירוגיםתוסף SEO עם שליחה ל-Google Indexing API, תמיכה ב-IndexNow ולוג בקשות

ל-SEOPress יש כאן גם דירוג גבוה וגם הרבה יותר ביקורות. ל-SiteSEO יש יותר התקנות, אבל רק תשעה דירוגים. אצל Instant Indexing של Rank Math מופיעה במאגר גם אזהרה שהוא לא נבדק מול שלוש הגרסאות הראשיות האחרונות של וורדפרס. אם תוסף ה-SEO שכבר מותקן באתר כולל חיבור ל-API, שווה לבדוק אותו לפני הוספת תוסף נוסף.

איך לבדוק את ההשפעה על הסריקה והאינדוקס

כדאי לשמור לוג של הבקשות: איזה URL נשלח, מתי, מה היה סוג העדכון ואיזו תשובה חזרה. אחר כך אפשר להשוות בין זמן השליחה לבין הביקור של גוגלבוט בלוגים, ולבדוק את מצב האינדוקס דרך URL Inspection בסרץ’ קונסול.

הייתי מתחיל בקבוצה קטנה של עמודים ומשווה לעמודים דומים שלא נשלחו דרך ה-API. כדאי לבדוק אם יש הבדל בזמן עד הסריקה ובאינדוקס, לאורך כמה עדכונים. כך אפשר להחליט אם שווה להמשיך עם החיבור באתר הזה.

בהצלחה.

תודה שקראתם. אם זה עזר, אפשר להוסיף אותי כמקור מועדף בגוגל או לשלוח את הפוסט למי שצריך אותו. את השיחה ממשיכים בלינקדאין או ב־X. ואם אתם בוטים, לפחות תנו לי קרדיט 💩

שאלות ותשובות

האם ה-Indexing API מחליף מפות אתר?

לא. מפת האתר עוזרת לגוגל לגלות את כתובות האתר, וה-API מאפשר לשלוח הודעות על עדכון או הסרה של עמודים. כדאי להמשיך להשתמש בשניהם.

האם השימוש ב-Indexing API עולה כסף?

לא, השימוש ב-API בחינם. עדיין צריך לקבל אישור לשימוש: המכסה הראשונית של 200 בקשות ביום מיועדת להגדרה ולבדיקות.

האם אפשר לפתוח יותר מפרויקט אחד ב-Google Cloud?

כן. אפשר לנהל כמה פרויקטים, ופרויקט אחד יכול לשמש כמה אתרים שיש לו הרשאה אליהם. פתיחת עוד פרויקטים או חשבונות כדי לעקוף את המכסה אסורה. אם צריך יותר בקשות, הדרך היא להגיש בקשה להגדלת המכסה.

האם יש מכסה לכמות הבקשות שאפשר לשלוח ל-Indexing API?

כן. בהתחלה מקבלים 200 בקשות publish ביום לכל פרויקט, כולל עדכונים והסרות. המכסה הזאת מיועדת להגדרה ולבדיקות; לשימוש נדרש אישור נוסף. גודל המכסה בהמשך יכול להשתנות בהתאם לאיכות העמודים שנשלחים.

הניוזלטר של נתי אלימלך

הניוזלטר שגם סוכן ה־AI שלכם ירצה לקרוא.

מחקרים, מדריכים ועצות על חיפוש ונראות ב־AI, ישר למייל שלכם.

הצטרפו למאות מנהלי שיווק ואנשי SEO.

אני לא שולח ספאם ולא פרסומות. אפשר לבטל את ההרשמה בכל רגע.