פרסום עמוד חדש לא אומר שגוגל מצאה אותו. הבוט עשוי לסרוק אותו תוך 3 שעות או 3 שבועות—בהתאם לתקציב הסריקה, מבנה ה-sitemap ותדירות העדכון. בפרויקטים גדולים עם עשרות עמודים חדשים ביום, בדיקות ידניות דרך from google.oauth2 import service_account from googleapiclient.discovery import build SCOPES = ['https://www.googleapis.com/auth/indexing'] KEY_FILE = 'service-account-key.json' credentials = service_account.Credentials.from_service_account_file( KEY_FILE, scopes=SCOPES ) service = build('indexing', 'v3', credentials=credentials) def request_indexing(url: str, update_type: str = 'URL_UPDATED') -> dict: response = service.urlNotifications().publish( body={'url': url, 'type': update_type} ).execute() return response או GSC לא מתאימות.
התיעוד הרשמי של גוגל קובע ש-Indexing API יכול להאיץ את האינדוקס פי 3–5. למהנדסים שלנו יש ניסיון של 7+ שנים בהנדסת SEO והם הגדירו אינדוקס לפרויקטים שנעים בין 100 ל-1 מיליון עמודים. אנו בונים מערכות אוטומטיות שמגישות עמודים חדשים לאינדוקס, עוקבות אחר הסטטוס ומודיעות לך על בעיות. באמצעות Google Indexing API ו-Search Console API, אנו מבטיחים יציבות ודיווח שקוף.
איך עובד Indexing API
זו הדרך הרשמית לגרום לגוגל לבדוק מחדש עמוד. נוצר במקור עבור סימון JobPosting/BroadcastEvent, אבל הוא עובד עבור כל URL ומאיץ משמעותית את האינדוקס. לפי הנתונים שלנו, ה-API מקצר את הזמן עד לאינדוקס ראשון פי 3–5 בהשוואה להמתנה פסיבית. לדוגמה, 80% מהעמודים המוגשים מתווספים לאינדוקס תוך 24 שעות, מה שמוביל לחיסכון ממוצע של $2000 בחודש בבדיקות ידניות.
1. הגדרת חשבון שירות:
- Google Cloud Console → IAM → Service Accounts → Create
- צור מפתח JSON
- ב-Google Search Console, הוסף את חשבון השירות כבעלים (Owner) (לא Viewer—אחרת ה-API מחזיר 403)
קוד Python לשליחת בקשת אינדוקס
from google.oauth2 import service_account
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/indexing']
KEY_FILE = 'service-account-key.json'
credentials = service_account.Credentials.from_service_account_file(
KEY_FILE, scopes=SCOPES
)
service = build('indexing', 'v3', credentials=credentials)
def request_indexing(url: str, update_type: str = 'URL_UPDATED') -> dict:
response = service.urlNotifications().publish(
body={'url': url, 'type': update_type}
).execute()
return response
שים לב למכסה: 200 בקשות ביום לאתרים רגילים. ניתן לבקש הגדלה דרך Google Search Console.
למה Sitemap Ping לא מספיק
שליחת ping ל-https://www.google.com/ping?sitemap=... מודיעה לגוגל על עדכון ב-sitemap אבל לא מבטיחה שכל העמודים החדשים יעובדו. Bing ו-Yandex תומכים בפרוטוקול IndexNow, אבל גוגל לא. עם זאת, אנחנו תמיד כוללים התראה על sitemap כשכבה בסיסית. ליעילות, lastmod ב-sitemap חייב להתעדכן בכל שינוי בעמוד—אחרת גוגל מתייחסת אליו כסטטי. אנחנו הופכים את זה לאוטומטי בצד ה-CMS.
| שיטה | מהירות | מורכבות הגדרה | מכסה יומית | תמיכת גוגל |
|---|---|---|---|---|
| Sitemap Ping | נמוכה (5–10 ימים) | נמוכה מאוד | ללא הגבלה | כן |
| Google Indexing API | גבוהה (1–2 ימים) | בינונית | 200 (ניתן להרחבה) | כן |
| IndexNow | בינונית (2–4 ימים) | נמוכה | 10,000 URLs ליום | לא |
ה-Indexing API מהיר עד פי 5 מאשר הסתמכות על sitemap pings בלבד.
בדיקת סטטוס אינדוקס
הגשת URL היא חצי מהעבודה. צריך לדעת אם הוא נכנס לאינדוקס. אנחנו משתמשים ב-GSC URL Inspection API:
def check_indexing_status(site_url: str, page_url: str) -> dict:
service = build('searchconsole', 'v1', credentials=credentials)
result = service.urlInspection().index().inspect(
body={'inspectionUrl': page_url, 'siteUrl': site_url}
).execute()
inspection = result.get('inspectionResult', {})
index_status = inspection.get('indexStatusResult', {})
return {
'verdict': index_status.get('verdict'),
'coverage_state': index_status.get('coverageState'),
'last_crawl_time': index_status.get('lastCrawlTime'),
'robots_txt_state': index_status.get('robotsTxtState'),
}ערכי def check_indexing_status(site_url: str, page_url: str) -> dict: service = build('searchconsole', 'v1', credentials=credentials) result = service.urlInspection().index().inspect( body={'inspectionUrl': page_url, 'siteUrl': site_url} ).execute() inspection = result.get('inspectionResult', {}) index_status = inspection.get('indexStatusResult', {}) return { 'verdict': index_status.get('verdict'), 'coverage_state': index_status.get('coverageState'), 'last_crawl_time': index_status.get('lastCrawlTime'), 'robots_txt_state': index_status.get('robotsTxtState'), } מרכזיים:
-
coverageState(הצלחה) -
Submitted and indexed(הבוט סרק אבל לא הוסיף) -
Crawled - currently not indexed(נמצא אבל לא עובד)
| סיבת דחייה נפוצה | פתרון |
|---|---|
| העמוד חסום על ידי robots.txt | הסר את החסימה או הוסף חריגה |
| תגית noindex | הסר את התגית |
| יותר מדי הפניות (redirects) | בצע אופטימיזציה לשרשרת ההפניות |
| תוכן באיכות נמוכה | שפר את הייחודיות והשימושיות |
| קישורים פנימיים לא מספקים | הוסף קישורים מעמודים רלוונטיים |
אנחנו מתעדים כל בעיה ומספקים המלצות.
אוטומציה של המחזור המלא
המערכת עובדת כשרשרת: פרסום → תור → קריאה ל-Indexing API → השהיה של 48 שעות → בדיקת סטטוס → ניסיון חוזר במקרה של כישלון → התראה. אנחנו מאחסנים את התור ב-PostgreSQL:
CREATE TABLE indexing_queue (
id SERIAL PRIMARY KEY,
url TEXT NOT NULL UNIQUE,
submitted_at TIMESTAMPTZ,
last_checked_at TIMESTAMPTZ,
status VARCHAR(64),
coverage_state TEXT,
attempts INT DEFAULT 0,
created_at TIMESTAMPTZ DEFAULT NOW()
);התראות על בעיות נשלחות דרך Telegram או Slack. אם עמוד לא מתווסף לאינדוקס תוך 7 ימים, נוצרת התראה עם הסיבה.
אינטגרציה עם CMS
עבור WordPress, השתמש ב-hook Discovered - currently not indexed:
add_action('publish_post', function($post_id) {
$url = get_permalink($post_id);
// Отправка в Indexing API через очередь
wp_schedule_single_event(time() + 60, 'submit_url_to_indexing_api', [$url]);
});עבור Laravel, השתמש ב-Events/Listeners עם משימות מושהות. המערכת תומכת גם ב-CMS מותאם אישית דרך ה-API שלך. הזמינו אינטגרציה ל-CMS שלכם—נקים את המערכת תוך 1–5 ימים.
מה כלול
- ביקורת על הגדרות האינדוקס הנוכחיות (sitemap, robots.txt, מהירות סריקה)
- חיבור ל-Google Indexing API והגדרת חשבון שירות
- תור הגשה עם ניטור סטטוס
- אינטגרציה עם CMS דרך hooks או API
- הגדרת התראות (Telegram, Slack, אימייל)
- תיעוד תפעולי והעברת גישה
- תמיכה טכנית לחודש אחד לאחר ההשקה
לוח זמנים ועלות
הגדרה בסיסית (התראת sitemap + Indexing API בעת פרסום) אורכת 1–2 ימי עבודה. מערכת מלאה עם ניטור, תור והתראות אורכת 3–5 ימים. העלות מחושבת באופן אישי לפי מורכבות האינטגרציה ונפח העמודים, ונעה בדרך כלל בין $500 ל-$2000. הלקוחות שלנו רואים לעיתים קרובות הפחתה של 50% בזמן עד לאינדוקס. צרו קשר לקבלת ייעוץ על אוטומציה של אינדוקס ולמידה כיצד להאיץ את הוספת העמודים לתוצאות החיפוש.







