רענון דפי אינטרנט באמצעות רענון אוטומטי וידני

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

אם הפעלתם את האפשרות 'יצירת אינדקס מתקדם של אתרים' במאגר הנתונים, דפי האינטרנט במאגר הנתונים יתעדכנו בדרכים הבאות:

  • רענון אוטומטי
  • רענון ידני
  • רענון שמבוסס על Sitemap

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

לפני שמתחילים

אם אתם משתמשים בקובץ robots.txt באתר, אתם צריכים לעדכן אותו. מידע נוסף זמין במאמר בנושא הכנת קובץ robots.txt של האתר.

רענון אוטומטי

החיפוש באמצעות סוכן מבצע רענון אוטומטי באופן הבא:

  • אחרי שיוצרים מאגר נתונים, המערכת יוצרת אינדקס ראשוני לדפים שנכללים בו.
  • אחרי ההוספה הראשונית לאינדקס, המערכת מוסיפה לאינדקס דפים חדשים שמתגלים ומבצעת סריקה מחדש של דפים קיימים על בסיס מאמץ מרבי.
  • הוא מרענן באופן קבוע מאגרי נתונים שבהם שיעור השאילתות הוא 50 שאילתות ל-30 יום.

רענון ידני

אם רוצים לרענן דפי אינטרנט ספציפיים במאגר נתונים כשהוספת אתרים מתקדמת לאינדקס מופעלת, אפשר לקרוא לשיטה recrawlUris. בשדה uris מציינים כל דף אינטרנט שרוצים לסרוק. ה-method‏ recrawlUris היא פעולה ממושכת שפועלת עד שהמערכת סורקת את דפי האינטרנט שציינתם או עד שהיא מפסיקה לפעול אחרי 24 שעות, מה שקורה קודם. אם חלף הזמן הקצוב לתפוגה של השיטה recrawlUris, אפשר להפעיל אותה שוב ולציין את דפי האינטרנט שעדיין צריך לסרוק. אפשר להשתמש בשיטה operations.get כדי לעקוב אחרי הסטטוס של פעולת הסריקה מחדש.

מגבלות על סריקה חוזרת

יש מגבלות על התדירות שבה אפשר לסרוק דפי אינטרנט ועל מספר דפי האינטרנט שאפשר לסרוק בכל פעם:

  • שיחות ביום. המספר המקסימלי של קריאות לשיטה recrawlUris המותר הוא 20 ביום, לכל פרויקט.
  • דפי אינטרנט לכל שיחה. המספר המקסימלי של ערכי uris שאפשר לציין בקריאה לשיטה recrawlUris הוא 10,000.

סריקה מחדש של דפי האינטרנט במאגר הנתונים

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

REST

כדי להשתמש בשורת הפקודה כדי לסרוק דפי אינטרנט ספציפיים במאגר הנתונים, מבצעים את השלבים הבאים:

  1. איך מוצאים את המזהה של מאגר הנתונים אם כבר יש לכם מזהה של מאגר נתונים, אפשר לדלג לשלב הבא.

    1. במסוף Google Cloud , עוברים לדף AI Applications ובתפריט הניווט לוחצים על Data Stores.

      מעבר לדף Data Stores

    2. לוחצים על השם של מאגר הנתונים.

    3. בדף Data של מאגר הנתונים, מעתיקים את המזהה של מאגר הנתונים.

  2. מבצעים קריאה לשיטה recrawlUris, ומשתמשים בשדה uris כדי לציין כל דף אינטרנט שרוצים לסרוק. כל uri מייצג דף אחד, גם אם הוא מכיל כוכביות (*). אין תמיכה בתבניות של תווים כלליים לחיפוש.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/siteSearchEngine:recrawlUris" \
    -d '{
      "uris": [URIS]
    }'
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • DATA_STORE_ID: המזהה של מאגר הנתונים של חיפוש מבוסס סוכנים.
    • URIS: רשימת דפי האינטרנט שרוצים לסרוק, לדוגמה "https://example.com/page-1", "https://example.com/page-2", "https://example.com/page-3".

    הפלט אמור להיראות כך:

    {
      "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations/recrawl-uris-0123456789012345678",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata"
      }
    }
    
  3. שומרים את הערך name כקלט לפעולה operations.get כשעוקבים אחרי הסטטוס של פעולת הסריקה מחדש.

מעקב אחר הסטטוס של פעולת הסריקה מחדש

השיטה recrawlUris, שבה אתם משתמשים כדי לסרוק דפי אינטרנט במאגר נתונים, היא פעולה ארוכת טווח שפועלת עד שהמערכת סורקת את דפי האינטרנט שציינתם או עד שחלף הזמן הקצוב לתפוגה אחרי 24 שעות, לפי המוקדם מביניהם. כדי לעקוב אחרי הסטטוס של הפעולה הממושכת הזו, אפשר להשתמש בשיטה operations.get ולציין את הערך name שמוחזר על ידי השיטה recrawlUris. המשך שליחת בקשות עד שהתשובה מציינת שאחד מהמצבים הבאים התרחש: (1) כל דפי האינטרנט נסרקו, או (2) חלף הזמן הקצוב לתפוגה לפני שכל דפי האינטרנט נסרקו. אם recrawlUris מפסיק לפעול בתום הזמן הקצוב לטעינה, אפשר להפעיל אותו שוב ולציין את האתרים שלא נסרקו.

REST

כדי להשתמש בשורת הפקודה כדי לעקוב אחרי הסטטוס של פעולת סריקה מחדש, פועלים לפי השלבים הבאים:

  1. איך מוצאים את המזהה של מאגר הנתונים אם כבר יש לכם מזהה של מאגר נתונים, אפשר לדלג לשלב הבא.

    1. במסוף Google Cloud , עוברים לדף AI Applications ובתפריט הניווט לוחצים על Data Stores.

      מעבר לדף Data Stores

    2. לוחצים על השם של מאגר הנתונים.

    3. בדף Data של מאגר הנתונים, מעתיקים את המזהה של מאגר הנתונים.

  2. מבצעים סקר לשיטת operations.get.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/OPERATION_NAME"
    

    מחליפים את מה שכתוב בשדות הבאים:

  3. בודקים כל תשובה.

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

      דוגמה

        {
          "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations/recrawl-uris-0123456789012345678",
          "metadata": {
            "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata",
            "createTime": "2023-09-05T22:07:28.690950Z",
            "updateTime": "2023-09-05T22:22:10.978843Z",
            "validUrisCount": 4000,
            "successCount": 2215,
            "pendingCount": 1785
          },
          "done": false,
          "response": {
            "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisResponse",
          }
        }

      אלה השדות שמוחזרים בתגובה:

      • createTime: מציין את השעה שבה התחילה הפעולה הממושכת.
      • updateTime: מציין את הפעם האחרונה שבה עודכנו המטא-נתונים של הפעולה ארוכת הטווח. המטא-נתונים מתעדכנים כל חמש דקות עד שהפעולה מסתיימת.
      • validUrisCount: מציין שציינתם 4,000 כתובות URI תקינות בקריאה ל-method‏ recrawlUris.
      • successCount: מציין ש-2,215 כתובות URI נסרקו בהצלחה.
      • pendingCount: מציין ש-1,785 מזהי URI עדיין לא נסרקו.
      • done: ערך של false מציין שפעולת הסריקה מחדש עדיין מתבצעת.

    • אם בתגובה מצוין שאין כתובות URI בהמתנה (לא מוחזר שדה pendingCount) ופעולת הסריקה החוזרת הסתיימה, דפי האינטרנט שלכם נסרקים. מפסיקים את הבדיקה – אפשר לצאת מההליך הזה.

      דוגמה

        {
          "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations/recrawl-uris-0123456789012345678",
          "metadata": {
            "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata",
            "createTime": "2023-09-05T22:07:28.690950Z",
            "updateTime": "2023-09-05T22:37:11.367998Z",
            "validUrisCount": 4000,
            "successCount": 4000
          },
          "done": true,
          "response": {
            "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisResponse"
          }
        }

      אלה השדות שמוחזרים בתגובה:

      • createTime: מציין את השעה שבה התחילה הפעולה הממושכת.
      • updateTime: מציין את הפעם האחרונה שבה עודכנו המטא-נתונים של הפעולה ארוכת הטווח. המטא-נתונים מתעדכנים כל חמש דקות עד שהפעולה מסתיימת.
      • validUrisCount: מציין שציינתם 4,000 כתובות URI תקינות בקריאה ל-method‏ recrawlUris.
      • successCount: מציין ש-4,000 מזהי URI נסרקו בהצלחה.
      • done: ערך של true מציין שפעולת הסריקה מחדש הסתיימה.
  4. אם בתגובה מצוין שיש כתובות URI בהמתנה והסריקה מחדש הסתיימה, סימן שחלף הזמן הקצוב לתפוגה של פעולת הסריקה מחדש (אחרי 24 שעות) לפני שכל דפי האינטרנט נסרקו. מתחילים מחדש בשלב סריקה מחדש של דפי האינטרנט במאגר הנתונים. משתמשים בערכים של failedUris התגובה operations.get בשביל הערכים בשדה uris בקריאה החדשה לשיטה recrawlUris.

    דוגמה.

    {
      "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/operations/recrawl-uris-8765432109876543210",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata",
        "createTime": "2023-09-05T22:07:28.690950Z",
        "updateTime": "2023-09-06T22:09:10.613751Z",
        "validUrisCount": 10000,
        "successCount": 9988,
        "pendingCount": 12
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisResponse",
        "failedUris": [
          "https://example.com/page-9989",
          "https://example.com/page-9990",
          "https://example.com/page-9991",
          "https://example.com/page-9992",
          "https://example.com/page-9993",
          "https://example.com/page-9994",
          "https://example.com/page-9995",
          "https://example.com/page-9996",
          "https://example.com/page-9997",
          "https://example.com/page-9998",
          "https://example.com/page-9999",
          "https://example.com/page-10000"
        ],
        "failureSamples": [
          {
            "uri": "https://example.com/page-9989",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9990",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9991",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9992",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9993",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9994",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9995",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9996",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9997",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          },
          {
            "uri": "https://example.com/page-9998",
            "failureReasons": [
              {
                "corpusType": "DESKTOP",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              },
              {
                "corpusType": "MOBILE",
                "errorMessage": "Page was crawled but was not indexed by UCS within 24 hours."
              }
            ]
          }
        ]
      }
    }

    ריכזנו כאן תיאורים של שדות התגובה:

    • createTime. השעה שבה התחילה הפעולה הממושכת.
    • updateTime. הפעם האחרונה שבה עודכנו המטא-נתונים של הפעולה ארוכת הטווח. המטא-נתונים מתעדכנים כל חמש דקות עד לסיום הפעולה.
    • validUrisCount. מציין שציינתם 10,000 כתובות URI תקינות בקריאה לשיטה recrawlUris.
    • successCount. מציין ש-9,988 מזהי URI נסרקו בהצלחה.
    • pendingCount. מציין ש-12 מזהי URI עדיין לא נסרקו.
    • done. הערך true מציין שפעולת הסריקה מחדש הסתיימה.
    • failedUris. רשימה של כתובות URI שלא נסרקו לפני שפג הזמן הקצוב לתהליך הסריקה מחדש.
    • failureInfo. מידע על כתובות URI שסריקת התוכן שלהן נכשלה. יוחזרו לכל היותר עשרה ערכי מערך של failureInfo, גם אם יותר מעשרה כתובות URI לא נסרקו.
    • errorMessage. הסיבה לכך שסריקת URI נכשלה, לפי corpusType. מידע נוסף מופיע במאמר בנושא הודעות שגיאה.

רענון בזמן

‫Google ממליצה לבצע רענון ידני בדפים חדשים ובדפים שעברו עדכון כדי לוודא שיש לכם את האינדקס העדכני ביותר.

הודעות שגיאה

כשעוקבים אחרי הסטטוס של פעולת הסריקה מחדש, אם חלף הזמן הקצוב לפעולת הסריקה מחדש בזמן שמתבצעת שאילתה בשיטה operations.get, השיטה operations.get מחזירה הודעות שגיאה לגבי דפי אינטרנט שלא נסרקו. בטבלה הבאה מפורטות הודעות השגיאה, מצוין אם השגיאה היא זמנית (שגיאה זמנית שנפתרת מעצמה), ומופיעות הפעולות שאפשר לבצע לפני שמנסים שוב להשתמש בשיטת recrawlUris. אפשר לנסות שוב את כל השגיאות הזמניות באופן מיידי. אחרי שמיישמים את הפתרון, אפשר לנסות שוב את כל השגיאות שלא חולפות.

הודעת השגיאה האם זו שגיאה זמנית? פעולה לפני ניסיון חוזר לסריקה
הדף נסרק אבל לא נוסף לאינדקס על ידי חיפוש מבוסס סוכנים תוך 24 שעות כן משתמשים בערכים של failedUris בתגובה של operations.get בשביל הערכים בשדה uris כשמבצעים קריאה לשיטה recrawlUris.
הסריקה נחסמה על ידי robots.txt של האתר לא מבטלים את החסימה של ה-URI בקובץ robots.txt של האתר, מוודאים שלסוכן המשתמש Googlebot יש הרשאה לסרוק את האתר ומנסים לסרוק מחדש. מידע נוסף זמין במאמר בנושא איך לכתוב ולשלוח קובץ robots.txt. אם אין לכם גישה לקובץ robots.txt, פנו לבעלים של הדומיין.
לא ניתן לגשת לדף לא בודקים את ה-URI שציינתם כשביצעתם קריאה לשיטה recrawlUris. חשוב לציין את ה-URI המדויק ולא תבנית URI.
פסק זמן של סריקה כן משתמשים בערכים של failedUris בתגובה של operations.get בשביל הערכים בשדה uris כשמבצעים קריאה לשיטה recrawlUris.
הדף נדחה על ידי הסורק של Google כן משתמשים בערכים של failedUris בתגובה של operations.get בשביל הערכים בשדה uris כשמבצעים קריאה לשיטה recrawlUris.
סורק Google לא הצליח לעקוב אחרי כתובת ה-URL לא אם יש כמה הפניות אוטומטיות, צריך להשתמש ב-URI מההפניה האוטומטית האחרונה ולנסות שוב
הדף לא נמצא (404) לא בודקים את ה-URI שציינתם כשביצעתם קריאה לשיטה recrawlUris. חשוב לציין את ה-URI המדויק ולא תבנית URI.

כל דף שמחזיר קוד שגיאה 4xx מוסר מהאינדקס.

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

איך מטפלים בדפים שנמחקו

כשדף נמחק, Google ממליצה לרענן ידנית את כתובות ה-URL שנמחקו.

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