📚 SEO טכני ⏱ 28 דק׳ קריאה 📊 5,500 מילים 🔧 15 פרקים 🆕 evergreen עודכן 2026.05.19

404 מול 410 מול soft 404, ההבדל המלא לכל מקדם

‏רוב המקדמים משתמשים ב-404 ‏לכל מצב של 'עמוד שנעלם', ‏וזאת טעות. ‏יש 3 ‏מצבי 'עמוד גמור' שונים, ‏לכל אחד התנהגות שונה של גוגל, ‏מהירות deindex שונה, ‏ושימוש נכון אחר. 15 ‏פרקים שיעבירו אתכם מבלגן של עמודים שבורים לאודיט 4xx ‏חודשי בשליטה.

3סוגי 'עמוד גמור', ‏404/410/soft 404
10x‏מהירות deindex של 410 ‏מול 404 ‏(לפי נסיון)
15פרקים מעמיקים
20שנות נסיון עם status codes
פרק 01

🧭 3 הסוגים של 'עמוד גמור', סקירה ראשונית לפני שצוללים

תקשיבו. אני אפתח עם השיחה הכי שכיחה שיש לי עם לקוחות חדשים. הם אומרים לי, 'שמוליק, מחקתי 500 עמודי בלוג ישנים, אבל גוגל עדיין מציג אותם בתוצאות, ויש לי הררררררה של 404 ב-Search Console'. אני שואל, 'איך מחקת? סתם הסרת מ-WordPress, או החזרת 410?'. הם נועצים בי מבט. רוב המקדמים לא יודעים שיש בכלל הבדל בין 404 ל-410. רובם בכלל לא שמעו על 410. ויש עוד מצב, soft 404, ‏שאף אחד מהם לא יודע שיש לו באתר.

בואו נסדר את זה מההתחלה. יש 3 ‏מצבים שונים שגוגל יכול להיתקל בהם כשעמוד שהיה באינדקס פתאום לא נותן את התוכן שלו. כל אחד מהם הוא status code שונה (או חוסר status code), כל אחד גורר התנהגות שונה של Googlebot, ובכל אחד מהם הפתרון אחר. 404 Not Found, השרת אומר 'העמוד לא נמצא', גוגל לא יודע אם הוא יחזור או לא, אז ימשיך לבדוק שוב ושוב. 410 Gone, השרת אומר 'נמחק לתמיד, אל תחזור', גוגל מסיר מהאינדקס מהר. soft 404, השרת מחזיר 200 OK ('הכל בסדר'), אבל התוכן בעצם אומר 'דף לא נמצא', וגוגל מסיק לבד שזה דף ריק.

⚠️ הנקודה החשובה ביותר

‏ההבדל בין 404 ל-410 הוא לא קוסמטי. ‏זה ההבדל בין 'גוגל ימשיך לבדוק את העמוד הזה במשך חודשים' ל-'גוגל יסיר את זה תוך 24-72 ‏שעות'. ‏אם מחקתם עמוד בכוונה ולתמיד והשארתם 404, ‏אתם מבזבזים crawl budget וסוחבים זנב של 404 ‏ב-Coverage report ‏ל-3-6 ‏חודשים. ‏soft 404 ‏עוד יותר גרוע, ‏גוגל לא יודע שהדף נעלם, ‏וייתכן שיציג אותו בתוצאות עם תיאור של 'דף לא נמצא'. ‏ההבחנה בין שלושת המצבים האלה היא היכולת להחליט אם אתם מנהלים את האתר או שהאתר מנהל אתכם.

במאמר הזה, אני אעבור איתכם על כל אחד מ-3 המצבים האלה לעומק. מה זה אומר טכנית, מתי להשתמש בכל אחד, איך לזהות soft 404 בלי לרדוף אחר כל URL ידנית, איך WordPress ו-Shopify מתנהגים בברירת מחדל (ולמה זה כמעט תמיד לא מה שאתם רוצים), איך להחזיר 410 ‏עם htaccess, ‏ואיך לבנות אודיט 4xx חודשי שתופס את הבעיות לפני שהן הופכות לדליפת תנועה. אם אחרי המאמר אתם עדיין תקועים, יש לכם איך לדבר איתי ישירות. ואגב, השם שמוליק דורינבאום מאחורי המקלדת כאן, 20 שנה של דיבוג עמודי 404, אני אישית טיפלתי בעמודי 'אבל זה היה צריך להיות 410' של אלפי לקוחות. תמיד אותה תבנית, תמיד אותה הפתעה.

פרק 02

🚫 404 Not Found, ההגדרה הקלאסית ומה זה אומר לגוגל

בואו נתחיל בקלאסי. 404 Not Found זה ה-HTTP status code שכולם מכירים. אם תיכנסו ל-URL שלא קיים באתר, רוב הזמן תקבלו דף שאומר 'העמוד לא נמצא', והשרת מאחורי הקלעים מחזיר את הקוד 404. זה התנהגות ברירת מחדל של Apache, Nginx, IIS, וכל שרת web אחר.

מה 404 אומר טכנית

הסטנדרט של HTTP (RFC 9110) מגדיר את 404 ככה, 'השרת לא מצא ייצוג נוכחי של המשאב המבוקש, או לא מוכן לחשוף את קיומו'. שימו לב למילה 'נוכחי'. זה משאיר את האפשרות פתוחה שהמשאב יחזור. 404 = 'לא קיים עכשיו, אבל אולי יחזור'. זה לא 'נמחק לתמיד', זה 'אין כרגע'. ההבחנה הזאת היא ההבדל המלא בין 404 ל-410, וההתנהגות של גוגל סביבה.

איך גוגל מתייחס ל-404

כשגוגלבוט מקבל 404 על URL שהיה באינדקס, הוא לא מסיר אותו מיד. הוא מסמן אותו כ-'אולי בעיה זמנית' וחוזר לבדוק. ושוב. ושוב. רק אחרי שגוגל ראה 404 על אותו URL מספר פעמים לאורך תקופה (לפעמים שבועות, לפעמים חודשים), הוא בסופו של דבר מסיר מהאינדקס. אגב, גם אחרי שהוא הסיר, הוא עדיין יחזור לפעמים לבדוק, 'אולי הם החזירו את העמוד'. זה משחק ארוך.

⏱ כמה זמן באמת לוקח deindex של 404

‏מהנסיון שלי, ‏בערך 4-12 ‏שבועות. ‏תלוי בכמה גוגל סורק את האתר שלכם (אתר עם authority גבוה שגוגל סורק כל יום יקבל deindex מהר יותר), ‏ובכמה ה-URL היה חשוב (עמוד עם backlinks חיצוניים נסרק יותר, ‏אז יסולק מהאינדקס מהר יותר). ‏בעמודים יתומים בלי backlinks, ‏ראיתי 404 ‏שנשארו ב-Coverage report ‏יותר מ-6 ‏חודשים. ‏לא נראים ב-SERP, ‏אבל מופיעים בדוח כ-'Not found (404)' ‏ומעצבנים.

מתי 404 הוא ההתנהגות הנכונה

  • טעות הקלדה ב-URL מצד הגולש (זה הקלאסי, 99% מה-404 הם זה)
  • קישור שבור באתר חיצוני שמצביע ל-URL שלא קיים אצלכם
  • עמוד שכרגע לא זמין אבל אולי יחזור (אזל, יוחזר למלאי, נמצא בעריכה זמנית)
  • URL שגוגל ניחש (לפעמים גוגל מנסה כתובות לוגיות שלא קיימות באתר)
  • URLs ישנים שהיו פעם בסייטמאפ ונשארו ב-Discovery של גוגל

404 הוא ברירת המחדל ההגיונית, וברוב המקרים זה התנהגות נכונה. הבעיה היא רק כשמשתמשים ב-404 גם במקרים שבהם אתם בעצמכם יודעים שהעמוד לעולם לא יחזור. אם מחקתם 500 פוסטים ישנים בכוונה תחילה, להחזיר 404 על כל אחד מהם זה לתת לגוגל אות מבולבל, 'אולי טעות זמנית?'. אז הוא חוזר. ושוב. כשהאמת היא 'מחקנו לתמיד, תפסיק לטרוח'. ולזה יש פתרון אחר, שנעבור עליו בפרק הבא.

פרק 03

🪦 410 Gone, ‏ה-status code השנוא והבלתי מנוצל

עכשיו לסטטוס שאף אחד לא מכיר. 410 Gone. ה-HTTP status code שמיועד בדיוק למצב שעליו הלינו לקוחות שלי במשך שנים, 'מחקנו לתמיד, אבל גוגל לא מבין את זה'. 410 הוא ההצהרה הברורה ביותר שאפשר לתת לגוגל, 'העמוד הזה נמחק, הוא לעולם לא יחזור, תסירו מהאינדקס ואל תחזרו לבדוק'.

מה 410 אומר טכנית

הסטנדרט של HTTP (RFC 9110) מגדיר את 410 ככה, 'גישה למשאב היעד אינה זמינה יותר בשרת המקור, והתנאי כנראה קבוע'. שימו לב למילה 'קבוע'. זה ההבדל המהותי מ-404. 404 משאיר את האפשרות פתוחה, 410 סוגר אותה. 410 אומר במפורש, 'זה לא טעות, לא תקלה זמנית, לא בעיה בסרבר. זה החלטה. נמחק לתמיד'.

איך גוגל מתייחס ל-410

גוגל אישר באופן רשמי לאורך השנים (כולל ציטוטים מ-John Mueller שאני אביא בפרק 14) שגוגלבוט מתייחס ל-410 ברצינות רבה יותר מ-404. כשהוא רואה 410, הוא לא חוזר לבדוק מאות פעמים. הוא לא נותן צ'אנס נוסף לעמוד. הוא מסיר מהאינדקס בערך פי 10 ‏מהר מאשר 404. אגב, גם 410 לא מסיר מיד, גוגל עוד עושה בדיקות (אולי השרת התבלבל וצריך להחזיר 404), אבל המהירות הממוצעת היא שונה לחלוטין.

💡 ההבדל המעשי במהירות deindex

‏לפי הנסיון שלי, עמוד עם 410 ‏יסולק מהאינדקס תוך 24-72 ‏שעות (אם הוא נסרק תכופות). ‏עמוד עם 404 ‏ייקח 4-12 ‏שבועות לאותו דבר. ‏זה לא הבדל קטן, ‏זאת קפיצה של פי 10 ‏עד פי 30 ‏במהירות. ‏אם אתם מחקתם 5,000 ‏עמודי קטלוג ישנים ב-eCommerce, ‏ההבדל הוא בין שבועיים לחצי שנה של זנב 4xx ‏ב-Coverage.

למה אף אחד לא משתמש ב-410

זאת השאלה שאני שואל את עצמי מאז 2015. התשובה היא תרבותית, רוב המפתחים לא יודעים ש-410 בכלל קיים. הם מכירים את 200, 301, 302, 404, 500, 503. הם פשוט לא יודעים מה זה 410. WordPress לא מציע אותו אוטומטית. רוב התוספים לא מטפלים בו. Shopify לא נותן לך לבחור. אם אתם רוצים 410, ברוב הפלטפורמות אתם צריכים לכתוב את זה ידנית ב-.htaccess או דרך middleware. וזה דורש שתי דברים, שתדעו שזה קיים, ושתעשו את המאמץ. רוב הצוותים פוסחים על שניהם.

מתי 410 הוא ההתנהגות הנכונה

  • תוכן שמחקתם בכוונה כחלק מ-content pruning (תוכן ישן/לא רלוונטי)
  • מוצרים שירדו מהמדפים לתמיד (לא 'אזל זמנית', אלא 'הופסק לחלוטין')
  • עמודי קמפיין/מבצע שהסתיימו ולא יחזרו
  • איחוד תוכן שבו לעמוד מסוים אין ערך אבל גם לא רוצים לעשות 301 (כי אין יעד טבעי)
  • עמודי טסט/staging שעלו בטעות לפרודקשן
  • פוסטים שהיו עם תוכן רע/שגוי שאתם רוצים להוציא מהאינדקס בלי השארת זנב

‏תקשיבו, אם אתם זוכרים רק דבר אחד מהמאמר הזה, שזה יהיה זה, מחיקה מכוונת = 410, ‏לא 404. ‏זה השינוי הקטן שבעיני שווה כמו workflow שלם של אופטימיזציה.

פרק 04

👻 soft 404, הסיוט שמתחבא ולא נראה לעין

הסטטוס השלישי הוא הכי בעייתי, ולא במקרה. soft 404 לא קיים בכלל בעולם ה-HTTP. אין קוד HTTP בשם 'soft 404'. זה תווית שגוגל ממציאה כדי לתאר מצב מסוים, וזה המצב הכי גרוע מ-3 הסטטוסים, כי הוא מתחבא. אתם לא יודעים שיש לכם soft 404 עד שאתם רואים את זה ב-Search Console, ועד אז כבר הפסדתם תנועה.

מה זה soft 404 בעצם

soft 404 קורה במצב הבא, השרת מחזיר HTTP 200 OK (כלומר 'הכל בסדר, הנה התוכן'), אבל גוגל מסתכל על התוכן ומסיק שזה דף שגיאה או דף ריק. הוא לא רואה תוכן ערכי, רואה רק טקסט כמו 'העמוד לא נמצא', 'אזל מהמלאי', או 'אין תוצאות'. גוגל מבין שלמרות שהשרת אומר 'הכל בסדר', האמת היא שאין כאן עמוד אמיתי לאינדוקס.

למה זה גרוע יותר מ-404 רגיל

במצב 404 רגיל, גוגל מקבל אות ברור (גם אם איטי). במצב 410 הוא מקבל אות חד וברור. במצב soft 404, האות מבולבל, השרת אומר דבר אחד, התוכן אומר דבר אחר. גוגל צריך להחליט לבד. וזה גורר 3 בעיות חמורות, (1) ‏גוגל לא יודע בוודאות שהעמוד גמור, ייתכן שינסה לאנדקס אותו עם הכותרת 'העמוד לא נמצא' או 'אזל מהמלאי'. ‏(2) ‏בזבוז crawl budget, ‏גוגל ממשיך לסרוק עמודים שאין בהם תוכן, ‏זמן שיכול להיות מוקדש לעמודים חדשים. ‏(3) ‏אות איכות שלילי כללי, ‏אם יש לכם 500 soft 404 ‏באתר, ‏גוגל מסיק שהאתר מלא בעמודים מתחזים, ‏וזה משפיע על האות איכות של האתר כולו, ‏לא רק על העמודים האלה.

⚠️ מה שמשמעותי במיוחד

‏soft 404 ‏פוגע ברחבי-אתר. ‏גוגל מסיק שאם 500 ‏עמודים שלכם מתחזים, ‏רמת האמון בכל האתר יורדת. ‏עמודים אחרים שלכם, ‏טובים לחלוטין, ‏עלולים לאבד מיקומים בגלל זה. ‏זה לא בעיה מקומית של 'העמוד הזה לא טוב', ‏זאת בעיה רוחבית של 'האתר הזה מלא בעמודי-לא-נמצא שמתחזים'.

הסיבות העיקריות ל-soft 404

‏יש כמה דפוסים שגורמים ל-soft 404 ‏כמעט תמיד. ‏נעבור עליהם לעומק בפרק 9, ‏אבל לסקירה,

  1. דף 404 ‏מותאם אישית שמחזיר 200

    ‏עיצבתם דף יפה עם הכותרת 'העמוד לא נמצא', ‏אבל השרת מגיש אותו עם status 200 ‏במקום 404.

  2. מוצר באיקומרס שאזל

    ‏עמוד עם הכותרת 'אזל מהמלאי' ובלי תיאור עשיר, גוגל מסיק soft 404.

  3. ‏עמוד תוצאות חיפוש פנימי עם 0 ‏תוצאות

    ‏'לא נמצאו תוצאות לחיפוש', ‏גוגל רואה דף ריק.

  4. ‏עמוד JavaScript-rendered ‏שהרינדור נכשל

    גוגל רואה רק 'Loading...' ומסיק שאין תוכן.

  5. עמוד עם תוכן זעיר (פחות מ-50 מילה משמעותיות)

    ‏גוגל לא רואה ערך, ‏מסיק שזה תוכן מתחזה.

‏בקיצור, ‏soft 404 ‏זה הסטטוס שמתחבא ולא נראה לעין עד שאתם פותחים את Search Console. ‏ויש לעמוד דק להפוך לסיוט רוחבי בלי שתשימו לב, ‏בייחוד באתרי איקומרס גדולים. המדריך המלא ל-soft 404 ‏שלי נכנס לעוד עומק על איך לפתור, ‏הפרק הזה רק מסביר מה זה.

פרק 05

השוואת מהירות deindex, 410 פי 10 מ-404 (לפי נסיון)

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

איך גוגל מתעדף סריקה חוזרת

גוגלבוט לא סורק את כל ה-URLs באותו קצב. הוא מקצה crawl budget לכל אתר, ובתוך התקציב הוא מתעדף לפי חשיבות (PageRank), עדכניות, ושינוי ידוע. עמודים שמחזירים 404, גוגל לא סומך עליהם מיד. הוא חושב 'אולי תקלת שרת זמנית'. הוא יחזור עוד 3 ימים, ושוב עוד 10 ימים, ושוב עוד חודש. רק אחרי שגוגל ראה 404 מספיק פעמים על אותו URL לאורך זמן, הוא בסופו של דבר מסיר אותו מהאינדקס.

למה 410 שונה

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

סטטוסמהירות deindex ממוצעתבדיקות חוזרות של גוגלהשפעה על crawl budget
404 Not Found4-12 שבועותעשרות, גוגל ממשיך לבדוק לחודשיםבזבוז משמעותי, בעיקר באתרים גדולים
410 Gone24-72 שעותבודדות, גוגל מקבל את ההודעהמינימלי, גוגל מפסיק לסרוק תוך זמן קצר
soft 404חודשים, אם בכללגוגל לא בטוח שהעמוד גמורגרוע, גוגל סורק וגם מנסה לאנדקס
301 (לעמוד תקין)2-6 שבועות (להעברת authority)גוגל סורק את היעד ומבין את ההפניהאפסי, גוגל מבין מיד

למה זה משנה מבחינה עסקית

תקשיבו, אם אתם אתר קטן עם 100 עמודים, ההבדל הזה לא דרמטי. אבל אם אתם אתר eCommerce עם 50,000 SKUs ועם 5,000 מוצרים שיורדים מהמדפים בכל שנה, ההבדל הוא תהומי. עם 404, יש לכם זנב של 5,000 שורות אדומות ב-Coverage report למשך חצי שנה. עם 410, הזנב מתאפס תוך 2-3 שבועות. בנוסף, crawl budget שמוקדש לבדיקת עמודים שכבר נמחקו, זה crawl budget שלא מוקדש לאינדוקס של מוצרים חדשים. בקטסטרופה הקלאסית, אני ראיתי לקוחות שמוצרים חדשים שלהם מקבלים אינדוקס באיחור של שבועיים בגלל ש-גוגל עסוק בבדיקת 30,000 ‏עמודי 404 ‏ישנים.

✅ הכלל שלי לפעולה

‏אם מחקתם עמוד בכוונה ולתמיד, ‏החזירו 410. ‏אם מחקתם בטעות או כי תקלת DB, ‏החזירו 404 ‏עד שתסדרו (גוגל יחזור לבדוק). ‏אם מחקתם והעמוד שווה ערך, ‏עשו 301 ‏לעמוד הקשור הקרוב ביותר. ‏3 ‏מצבים, ‏3 ‏פעולות, ‏לא לערבב.

פרק 06

מתי להשתמש ב-404 (ברירת מחדל, ולא רק)

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

1. טעויות הקלדה של גולשים

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

2. קישורים שבורים מאתרים חיצוניים

אתר אחר מקשר ל-URL שלכם, אבל הקישור שגוי (פיספסו תו, או העמוד נמחק מאז ולא עשו ניטור). גם פה, 404 זה תקין. גוגל יבדוק, יראה 404, וייתכן שיסיר את ה-URL מ-Discovery. אבל אם תרצו להציל את האותורטי של הקישור הזה, התשובה היא לא 410, היא 301 לעמוד הקרוב הרלוונטי.

3. עמודים שזמנית לא זמינים

תרחיש שכיח באיקומרס, מוצר אזל זמנית. מתכננים להחזיר אותו למלאי בעוד שבועיים. במקרה הזה, 404 לא תקין (כי העמוד הולך לחזור) ו-410 בטח לא תקין. הטיפול הנכון הוא להחזיר 200 עם תוכן חכם, 'אזל זמנית', 'הודיעו לי כשחוזר', תיאור המוצר עדיין במלואו, מוצרים דומים. גוגל ימשיך לאנדקס, וכשהמוצר יחזור, אין אינדוקס שצריך לבנות מחדש.

⚠️ הטעות הקלאסית באיקומרס

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

4. URLs שגוגל ניחש או יצר באופן אוטומטי

לפעמים גוגל מנסה URLs לוגיים שלא קיימים באתר שלכם, על סמך דפוסים ש-Googlebot זיהה. למשל אם יש לכם /products/123 ו-/products/124, גוגל עלול לנסות /products/125 גם אם לא קישרתם אליו אף פעם. החזרת 404 על URLs כאלה זה תקין, גוגל יבין מהר ולא ינסה שוב.

5. עמודים שגוגל מצא בסייטמאפים ישנים

סייטמאפ ישן שלכם הכיל URLs שכבר לא קיימים. עדכנתם את הסייטמאפ, אבל גוגל עדיין יש לו זיכרון של URLs ישנים. אם הם נמחקו לתמיד, עדיף 410. אם הם נמחקו כי שינוי מבני (rebuild של אתר וקיצור URLs), עדיף 301 לעמודים החדשים. 404 כברירת מחדל זה תקין אם אין יעד טבעי.

ההיגיון הכללי

‏השאלה שאני שואל את עצמי לפני שאני בוחר בין 404 ל-410 ‏היא תמיד אחת, 'האם אני יודע בוודאות שהעמוד הזה לא יחזור?'. ‏אם התשובה היא 'כן', ‏זה 410. ‏אם התשובה היא 'לא יודע', ‏זה 404. ‏פשוט ככה. ‏ההפרדה הזאת מסירה את הבלגן ב-95% מהמקרים.

פרק 07

🗑 מתי להשתמש ב-410 (מחיקה מכוונת ולתמיד)

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

1. Content pruning של תוכן ישן/לא רלוונטי

אתם עוברים על הבלוג שלכם ב-2026 ורואים 500 פוסטים מ-2014 על כלים שכבר לא קיימים, מוצרים שירדו מהמדפים, ועדכוני אלגוריתם של גוגל שכבר לא רלוונטיים. החלטתם למחוק. זה 410 קלאסי. הפוסטים האלה לא יחזרו, אין להם ערך, ואין יעד טבעי ל-301 (אם תעשו 301 של 500 פוסטים שונים לעמוד הבית, גוגל יסמן את זה כ-soft 404). תחזירו 410 ותגמרו את העניין. גוגל יסיר תוך ימים, ה-Coverage report יתנקה תוך שבועיים.

2. מוצרים שירדו לתמיד מהמדפים

‏מוצר במלאי הופסק. ‏לא יורד זמנית, ‏לא יוחלף בגרסה חדשה, ‏פשוט נגמר וזהו. ‏אם המוצר מקבל 404, ‏גוגל יבדוק שוב ושוב במשך חודשים, ‏וה-URL ‏יישאר ב-Coverage report ‏כ-'Not found' ‏עם זנב ארוך. ‏עם 410, ‏סולק בתוך 48 ‏שעות.

💡 קומבינציה חזקה ל-eCommerce

‏עבור מוצר שהופסק, ‏הטיפול האידיאלי הוא, ‏(1) ‏אם יש מוצר חלופי דומה מאוד באותה קטגוריה, ‏301 ‏ליעד הזה. ‏(2) ‏אם יש קטגוריה רלוונטית בלי מוצר חלופי ספציפי, ‏301 ‏לעמוד הקטגוריה. ‏(3) ‏אם אין יעד טבעי, ‏410. ‏הסדר הזה משמר authority איפה שאפשר, ‏וחותך מהר איפה שאי אפשר.

3. עמודי קמפיין/מבצע שהסתיימו

‏הקמפיין 'Black Friday 2024' ‏הסתיים. ‏הדף לא רלוונטי יותר. ‏אם תשאירו אותו 200, ‏גוגל אולי עוד יציג אותו בתוצאות עם תאריך 2024 ‏שיגרום לגולש לרגוז. ‏אם תחזירו 404, ‏גוגל ימשיך לבדוק לחודשים. ‏אם תחזירו 410, ‏גוגל יסלק תוך ימים. ‏או, ‏אופציה מעודנת יותר, ‏301 ‏לעמוד 'מבצעים נוכחיים' ‏שתמיד אקטואלי.

4. איחוד תוכן בלי יעד טבעי

איחוד עמודים בעיקרון משתמשים ב-301. אבל לפעמים יש לכם עמוד שאתם רוצים להוציא מהמשחק והוא לא באמת shouldn't redirect לאף עמוד אחר. למשל, פוסט שכתבתם וגיליתם שמכיל מידע שגוי, ואין עמוד אחר באתר שיכול 'להחליף' אותו. ובמקום להשאיר 301 לעמוד הבית (שגוגל מסמן כ-soft 404), הפתרון הוא 410.

5. עמודי טסט/staging שעלו לפרודקשן בטעות

קלאסי. מישהו פרסם בטעות עמוד /test-new-design/ או /staging-product-x/ לפרודקשן, גוגל ראה ואנדקס. רוצים להוציא מהאינדקס מהר ובלי שיתחזק. 410 הוא ההחלטה הנכונה. תוסיפו שורה ב-htaccess, גוגל יסיר תוך 48-72 שעות. ב-404 זה ייקח שבועות, וכל הזמן הזה העמוד 'הסודי' שלכם יופיע ב-SERP.

6. עמודים שעברו עידכון רגולטורי או משפטי

‏פוסט ישן שדרש שינוי משפטי (לדוגמה דרישת רגולטור להסיר טענה מסוימת) ואין דרך לתקן בלי לכתוב מחדש. ‏אם תעשו 301 ‏לעמוד דומה, ‏הטענה הבעייתית עוד עלולה להופיע ב-cached versions של גוגל. ‏עם 410, ‏גוגל יסיר את העמוד מהאינדקס ויסיר גם את ה-cached version. ‏ניקוי אמיתי.

ההבחנה החשובה

‏שימו לב, ‏410 ‏הוא לא 'תחליף תמיד ל-404'. ‏הוא לתת לגוגל אות חד וברור כשאתם בטוחים שהעמוד לא יחזור. ‏זה כלי כירורגי, ‏לא פטיש. ‏השתמשו בו במקומות הנכונים, ‏וזה ישפר את האודיט שלכם דרמטית.

פרק 08

🔍 איך מזהים soft 404 ב-Search Console, ‏workflow מעשי

בניגוד ל-404 ו-410, ש-Search Console מסמן בצורה ברורה ('Not found (404)'), soft 404 מקבל סטטוס משלו. בדוח Pages report (לשעבר Coverage). זה בעצם הדרך הוודאית היחידה לזהות soft 404 בלי לבדוק עמוד-עמוד ידנית. בואו נעבור על איך לעשות את זה נכון.

שלב 1, פתחו את Pages report ב-Search Console

היכנסו ל-Search Console, ובחרו את ה-property של האתר. לחצו על Pages (בתפריט הצדדי, תחת 'Indexing'). תראו טבלה עם 2 קטגוריות עליונות, 'Indexed' (עמודים שבאינדקס) ו-'Not indexed' (עמודים שלא באינדקס). soft 404 הוא תחת 'Not indexed'.

שלב 2, מצאו את שורת 'Soft 404'

בטבלת ה-'Why pages aren't indexed', גוללו עד שתמצאו את שורת 'Soft 404'. אם יש לכם 0, מצוין, הכל נקי. אם יש לכם מספר חיובי, יש מה לטפל. לחצו על השורה כדי לראות את ה-URLs.

שלב 3, ניתוח דפוסים

‏גוגל מציג עד 1,000 ‏דוגמאות של URLs ‏עם soft 404. ‏אם יש לכם פחות מ-1,000, ‏זה כל הרשימה. ‏אם יש לכם יותר (תראו 'Top 1,000 URLs of N total'), ‏אתם רואים רק מדגם. ‏עכשיו תחפשו דפוסים, האם רוב ה-URLs הם /products/SKU? (סימן למוצרי איקומרס שאזלו), או /search?q=? (חיפוש פנימי בלי תוצאות), או /tag/X/? (טאגים ריקים), או דף 404 ‏מותאם שעובד עם 200? (זה הקלאסיק).

💡 איך לחפש דפוס מהיר

‏ייצאו את הרשימה ל-Google Sheets ‏או CSV (כפתור Export ‏בפינה הימנית עליונה). ‏בדקו עם COUNTIF ‏או pivot ‏איזה folder/path ‏הכי שכיח. ‏ב-95% מהמקרים, 80% מה-soft 404 ‏מגיעים מאותו דפוס אחד שצריך לתקן.

שלב 4, בדיקה ידנית של דוגמה

קחו 3-5 URLs מהרשימה ובדקו ידנית מה גוגל רואה. השתמשו בכלי URL Inspection ב-Search Console, הזינו URL ספציפי ולחצו 'Test Live URL'. ראו את ה-screenshot שגוגל מקבל ואת ה-HTML שהוא רואה. בדרך כלל אחת מ-3 הסיבות מתבררת מיד, התוכן באמת ריק/דק, או הרינדור נכשל וגוגל רואה רק 'Loading...', או הדף מציג 'אזל' בלי תיאור אחר.

שלב 5, בדיקת status code ידנית

בנוסף, בדקו ידנית עם curl מה status code השרת מחזיר על ה-URL. עוד נדבר על curl בפרק 16, אבל הפקודה היא,

curl -I https://yoursite.co.il/the-url/

אם השרת מחזיר 200, וגוגל סימן soft 404, זה מאשר שגוגל הסיק לבד. אם השרת מחזיר 404 או 410, גוגל לא היה צריך לסמן soft 404, ויש לכם באג ב-Search Console (קורה לעיתים נדירות).

שלב 6, סדרי עדיפויות

‏לא כל soft 404 ‏הוא דחוף לתיקון. ‏הסדר שלי, (1) ‏עמודים עם הרבה backlinks חיצוניים (איבוד authority גדול). ‏(2) ‏עמודי מוצר/קטגוריה ראשיים (פגיעה ישירה בהמרות). ‏(3) ‏עמודי בלוג שמדורגים על keywords טובים (פגיעה ישירה בתנועה). ‏(4) ‏עמודי טאגים/חיפושים אוטומטיים (פעם אחת מטפלים בדפוס + ‏גמרנו). ‏רוב הזמן 80% מהבעיה היא דפוס #4, ‏ותיקון אחד מתקן את הכל.

פרק 09

🪤 הסיבות הנפוצות ל-soft 404 (custom 404, JS rendering, ועוד)

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

סיבה 1, דף 404 מותאם אישית שמחזיר 200

הקלאסיק. עיצבתם דף שגיאה יפה עם הכותרת 'העמוד לא נמצא', אבל השרת מגיש אותו עם HTTP status 200 OK במקום 404. גוגל קורא את הכותרת ('לא נמצא'), מסיק שזה דף שגיאה, וסומן soft 404. הפתרון, וודאו שדף 404 שלכם מוגש עם status 404. בוורדפרס יש פלאגינים שבטעות משנים את זה.

סיבה 2, JavaScript-rendered עם רינדור כושל

‏באתרי React/Vue/Angular, ‏גוגל מקבל HTML ‏ראשוני ריק (רק <div id="root"></div>), ‏ומחכה שה-JS ‏ירוץ. ‏אם ה-JS ‏נכשל (API ‏לא עונה, ‏race condition), ‏גוגל רואה רק 'Loading...'. ‏עמוד ריק = soft 404.

סיבה 3, מוצרי איקומרס שאזלו

במקום להציג את העמוד עם תיאור מלא + הודעת 'אזל זמנית', הפלטפורמה מציגה רק 'מוצר לא זמין' עם 200. גוגל רואה כותרת 'לא זמין' בלי תוכן, מסיק soft 404. הפתרון נדון בפרק 12.

סיבה 4, עמודי חיפוש פנימי בלי תוצאות

גולש חיפש משהו, לא היו תוצאות. השרת מציג /search?q=keyword&results=0 עם הודעה 'לא נמצאו תוצאות'. גוגל סורק את ה-URL (בגלל קישור פנימי), רואה דף ריק עם 200, מסיק soft 404. אם יש לכם מאות עמודי חיפוש באינדקס, יש לכם פצצה. הפתרון, חסימת /search? ב-robots.txt.

⚠️ פלאגין WordPress שגורם לזה

‏פלאגיני חיפוש מתקדם (Relevanssi, ‏SearchWP) ‏יוצרים URLs ‏לכל חיפוש שמשתמש מבצע. ‏גוגל סורק ויוצר soft 404 ‏המוני. ‏הפתרון, ‏הוסיפו Disallow: /?s= ‏ב-robots.txt.

סיבה 5, עמודים עם תוכן זעיר

עמוד עם פחות מ-50 מילים משמעותיות, בלי תוכן ערכי. דוגמאות, עמודי קטגוריה בלי מוצרים, עמודי טאגים בלי פוסטים, עמודי placeholder ('בקרוב'), עמודי profile בלי אקטיביות.

סיבה 6, JavaScript redirect במקום 301

במקום להחזיר 301 בצד השרת, מישהו השתמש ב-window.location = '/new-url' או meta refresh. גוגל רואה HTML ראשוני שאומר 'Redirecting...' בלי תוכן, מסיק soft 404. החזירו 301 בצד השרת תמיד.

סיבה 7, עמודים שדורשים login

‏עמודי membership ‏שמציגים 'נא להתחבר' ‏לגולשים לא מחוברים, ‏גוגל רואה את הגרסה של 'נא להתחבר' ‏ולא את התוכן האמיתי. ‏soft 404 ‏המוני. ‏הוסיפו noindex ‏לעמודים שדורשים login.

סיבה 8, עמודים עם תוכן AI גנרי

‏הסיבה החדשה של 2025-2026. ‏תוכן AI-generated ‏גנרי לחלוטין (בלי ערך מוסף, ‏בלי דוגמאות) ‏נחשב לתוכן ריק. ‏גם 1,500 ‏מילים של רהיטות AI ‏גנרית עלולות להיות soft 404, ‏בעיקר במאות עמודי תבנית.

‏בקיצור, ‏הסיבה הכי שכיחה היא #1 (custom 404 ‏עם 200), ‏ואחריה #2 (JS rendering). ‏פתרון שתי אלה מנקה 70-80% מה-soft 404 ‏ברוב האתרים.

פרק 10

📰 WordPress ו-4xx, ההתנהגות בברירת מחדל ובתוספים

WordPress הוא הפלטפורמה הכי שכיחה באינטרנט, וגם הפלטפורמה שבה אני רואה הכי הרבה בלבולים סביב 404/410. בואו נסדר את זה.

ההתנהגות בברירת מחדל

בברירת מחדל, WordPress מטפל ב-URL לא קיים ככה, הוא מנסה למצוא התאמה ב-routing, אם לא מוצא, הוא טוען את template 404.php מהthemeה. בתאוריה, status הוא 404. בפועל, יש כמה בעיות נפוצות.

בעיה 1, template 404.php של theme שלא מכריז status

תבניות (themes) מסוימות כותבים את 404.php ככה שהוא מציג את התוכן, אבל הוא לא מוסיף את ה-HTTP header של 404. במקרה כזה, השרת מחזיר 200 OK, וגוגל מסיק soft 404. בדיקה, הריצו curl -I https://yoursite.co.il/some-random-url-12345/ וראו את ה-status. אם זה 200, יש לכם בעיה. אם זה 404, אתם בסדר.

בעיה 2, פלאגיני SEO שגורמים soft 404

חלק מהפלאגינים (במיוחד פלאגיני 'תיקון 404' או 'redirect manager') יכולים בטעות לשנות status codes. למשל, פלאגין שמפנה את כל ה-404 לעמוד הבית עם 302 במקום להחזיר 404 או לעשות 301 כיוון מטופל. תוצאה, גוגל רואה 302 לעמוד הבית, מסיק soft 404 רוחבי. הפתרון, אל תפנו אוטומטית 404 לעמוד הבית. או תשאירו 404 (אם בלאי הזה תקין), או תעשו 301 ספציפי לעמוד הקרוב הרלוונטי.

⚠️ הטעות הקלאסית של מפתחים

‏מישהו אומר 'אני שונא 404, ‏אז אני אפנה את כל 404 ‏לעמוד הבית'. ‏הוא משתמש בפלאגין שעושה 301 ‏מכל URL ‏לא קיים לעמוד הבית. ‏תוצאה, ‏גוגל מסיק soft 404 ‏על כל ה-301-ים האלה, ‏כי עמוד הבית הוא לא 'יעד הגיוני' ‏לתוכן ספציפי שנמחק. ‏הסבר של John Mueller, ‏'אם 100 URLs ‏שונים מפנים כולם לעמוד הבית, ‏גוגל מבין שזה לא הפניה אמיתית, ‏אלא ניסיון להחביא 404'.

פתרון 410 ‏ב-WordPress

WordPress לא מציע 410 כאופציה native. אבל יש 2 דרכים נקיות,

  1. פלאגין Redirection

    הפלאגין הפופולרי 'Redirection' (10M+ התקנות) תומך ב-410 כיעד. אתם הולכים ל-Tools > Redirection, מוסיפים rule חדש, וב-'Action' בוחרים 'Pass-through' או 'Error (404)'. ‏בגרסאות חדשות יש אופציה ‏ל-'Gone (410)' ‏ישירות. ‏אם אין, ‏אפשר להוסיף קוד ב-functions.php של theme.

  2. htaccess ‏ידני

    ‏אם יש לכם רק כמה עשרות URLs ‏להחזיר 410, ‏הוסיפו ב-.htaccess שורה כמו RedirectMatch 410 ^/old-post-slug/?$. ‏לרשימה של מאות, ‏עדיף פלאגין.

הגדרה ב-functions.php של ה-theme

אם אתם רוצים 410 דינמי (למשל לכל פוסט עם status 'trash' מסוים), אפשר להוסיף ל-functions.php,

add_action('template_redirect', function() {
  $deleted_slugs = ['old-post-1', 'old-post-2'];
  $request = trim($_SERVER['REQUEST_URI'], '/');
  if (in_array($request, $deleted_slugs)) {
    status_header(410);
    nocache_headers();
    include(get_query_template('410'));
    exit;
  }
});

פלאגינים שאני ממליץ עליהם לטיפול ב-4xx

  • Redirection (קלאסי, חינמי, תומך ב-410)
  • Rank Math (פלאגין SEO שמציע ניהול redirects + 410 בתוסף בתשלום)
  • Yoast SEO (גם תומך ב-redirects + 410 בתוסף Premium)
  • Redirection Manager pro (פלאגין ייעודי לאתרים גדולים)

‏באופן כללי, ‏אם יש לכם פחות מ-100 URLs ‏לטיפול, ‏Redirection ‏החינמי מספיק לחלוטין. ‏אם אתם eCommerce ‏עם אלפי SKUs ‏שמחליפים בכל חודש, ‏שווה להשקיע ב-תוסף בתשלום שיש לו ממשק יותר טוב לבולק.

פרק 11

🛒 Shopify ו-4xx, ‏האתגר של מוצרים שנמחקו

Shopify הוא הפלטפורמה הכי שכיחה ל-eCommerce בעולם, אבל המודל שלה לטיפול ב-URLs מחוקים הוא בעייתי לחלוטין מבחינת SEO. בואו נפרק.

מה Shopify עושה בברירת מחדל

‏כשמוחקים מוצר ב-Shopify (גם 'Delete product' ‏וגם 'Archive product'), ‏ה-URL ‏של המוצר חוזר עם 404. ‏עד כאן בסדר. ‏אבל יש לפלטפורמה כמה חולשות. ‏(1) ‏אין אפשרות native ‏להחזיר 410. ‏Shopify ‏לא נותן לכם לבחור status code, ‏רק 404. ‏(2) ‏אין אפשרות native ‏ל-bulk redirects ‏מ-CSV, ‏חייבים להוסיף ידנית או דרך אפליקציה. ‏(3) ‏עמודי קטגוריה (collections) ‏שנמחקו מוצגים כ-404, ‏ולא ניתן להחזיר 410 ‏גם להם.

הפתרונות שמשתמשים בהם בפועל

‏יש 3 ‏גישות פופולריות,

  1. 301 ‏לקטגוריה הראשית

    ‏במקום למחוק את המוצר, ‏יוצרים 301 ‏לעמוד הקטגוריה. ‏יתרון, ‏שומר את ה-authority ‏ומחזיר את הגולש לתוכן רלוונטי. ‏חסרון, ‏אם עושים את זה למאות מוצרים שמפנים כולם לאותה קטגוריה, ‏גוגל עלול לסמן soft 404 (כפי שדיברנו בפרק WordPress).

  2. Apps ‏צד שלישי שמטפלות ב-410

    ‏יש כמה apps כמו 'SEOAnt', ‏'TinyIMG', ‏ו-'SEO Manager' ‏שמוסיפות יכולת להחזיר 410 ‏על URLs ‏מחוקים. ‏הן עובדות דרך editing של theme.liquid או דרך middleware. ‏לאתרי eCommerce ‏גדולים, ‏שווה את ההשקעה.

  3. שמירת העמוד עם תוכן עשיר ('soft delete')

    ‏במקום למחוק את המוצר, ‏משאירים אותו עם תיאור מלא + ‏הודעה 'הופסק, ‏ראו מוצרים דומים' + ‏רשימה של חלופות. ‏עמוד נשאר 200, ‏לא 404, ‏ולא soft 404 (כי יש תוכן עשיר). ‏יתרון, ‏שומר את כל authority של העמוד. ‏חסרון, ‏צריך לעדכן את המלאי לפילטרים שהמוצר לא יופיע יותר במסחר.

💡 הגישה שאני ממליץ עליה לאיקומרס

‏לרוב הלקוחות שלי, ‏המודל הוא, ‏(1) ‏מוצר אזל זמנית = ‏השארת העמוד 200 ‏עם תיאור מלא + ‏הודעה 'יוחזר בקרוב'. ‏(2) ‏מוצר הופסק לתמיד עם חלופה ספציפית באותה קטגוריה = 301 ‏לחלופה. ‏(3) ‏מוצר הופסק לתמיד בלי חלופה = ‏שמירת העמוד 200 ‏עם תוכן 'הופסק, ‏ראו קטגוריה' + ‏רשימת מוצרים דומים מאותה קטגוריה. ‏המוצר לא מופיע יותר במסחר אבל ה-URL ‏עדיין משדר תוכן ערכי. ‏הימנעות מ-404 ‏בכלל ב-eCommerce ‏אם רק אפשר.

מה Shopify לא נותן לכם לעשות

  • להחזיר 410 native בלי app חיצוני
  • לעשות bulk import של redirects מ-CSV (יש סינגל בלבד)
  • לכוון את ה-canonical של עמודי פילטרים
  • לחסום פרמטרי URL ב-robots.txt בצורה גמישה
  • להגדיר HTTP headers מותאמים ל-URLs ספציפיים

סייטמאפ של Shopify והבעיה איתו

‏Shopify ‏יוצר sitemap.xml ‏אוטומטית עם כל המוצרים הפעילים. כשמוחקים מוצר, ‏הוא נופל מהסייטמאפ אוטומטית. ‏עד כאן בסדר. ‏אבל יש בעיה, ‏עמודי הקטגוריה הריקים (collections ‏בלי מוצרים) ‏לא נופלים מהסייטמאפ. ‏גוגל ימשיך לסרוק אותם, ‏יראה דף ריק, ‏וסומן soft 404. ‏הפתרון, ‏סקריפט תקופתי שבודק collections ‏ריקים ומעלים את מהסייטמאפ ידנית.

סיכום ההמלצה ל-Shopify

‏השקיעו ב-app ‏מקצועית לניהול redirects ו-410 (לא יקר), ‏הימנעו מ-404 ‏המוני, ‏העדיפו 301 ‏לחלופה ספציפית כשיש, ‏ושמרו עמודים עם תוכן עשיר עבור מוצרים שהופסקו בלי חלופה. ‏Shopify ‏לא נותן לכם את הכלים המקסימליים, ‏אבל אפשר לבנות workflow ‏שעובד.

פרק 12

📦 איקומרס, out-of-stock מול discontinued, ‏ההבחנה הקריטית

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

אזל זמנית (Out of Stock)

המוצר יוחזר למלאי בעוד שבוע, חודש, או 3 חודשים. בכל מקרה, יוחזר. הפעולה הנכונה, השאירו את העמוד 200 עם תוכן עשיר. שמרו תיאור מלא, תמונות, ביקורות, מפרט. הוסיפו הודעה ברורה 'אזל זמנית', אפשרות 'הודיעו לי כשחוזר' (לידים), ורשימת מוצרים דומים שכן זמינים. גוגל ימשיך לאנדקס, וכשהמוצר יחזור אתם כבר ב-SERP בלי לחכות.

הופסק לתמיד (Discontinued)

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

  1. יש חלופה ספציפית באותה קטגוריה

    ‏מוצר v3 ‏הופסק כי יצא v4. ‏עשו 301 ‏מ-v3 ‏ל-v4. ‏שומר authority, ‏מעביר לחלופה הטבעית.

  2. אין חלופה ספציפית אבל יש קטגוריה רלוונטית

    ‏'נעלי Nike Pegasus 30' ‏הופסקו ואין דגם ישיר. ‏301 ‏לקטגוריה 'נעלי Nike Pegasus' ‏או 'נעלי ספורט Nike'. ‏אזהרה, ‏אם 200 ‏מוצרים מפנים כולם לאותה קטגוריה, ‏גוגל עלול לסמן soft 404.

  3. אין חלופה ואין קטגוריה רלוונטית

    ‏אופציה א', 410 ‏(נקי ומהיר). ‏אופציה ב', ‏השארת העמוד עם תוכן 'הופסק, ‏ראו קטגוריות אחרות' + ‏רשימה (משמר authority, ‏אבל מסתכן ב-soft 404 ‏אם התוכן לא עשיר).

⚠️ הטעות הקלאסית של איקומרס

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

מוצרים עונתיים

מתנות חג מולד שמופיעות בנובמבר ויורדות בינואר, מה עושים? השאירו 200 כל השנה, עם הודעה ספציפית בעונה הלא נכונה ('יחזור בעוד 8 חודשים, הירשמו להודעה'). האינדקס נשמר, וכשהעונה חוזרת אתם מיד ב-SERP. אל תחזירו 404 על מוצרים עונתיים, זאת טעות יקרה.

גרסאות (variants) של מוצר

‏מוצר עם 5 ‏גוונים, ‏3 ‏הופסקו והשניים נשארו. ‏לא להחזיר 404 ‏על הגרסאות. ‏השאירו את אותו עמוד מוצר, ‏סמנו את הגוונים שהופסקו כ-'לא זמין'. ‏גוגל ימשיך לאנדקס את עמוד המוצר, ‏כל ה-authority ‏נשמרת.

צ'ק ליסט לאיקומרס

  • הבחנו בין 'אזל זמנית' ל-'הופסק לתמיד' לכל מוצר
  • מוצרים שאזלו = 200 עם תוכן עשיר, לא 404
  • מוצרים שהופסקו עם חלופה = 301 לחלופה
  • מוצרים שהופסקו בלי חלופה = 410 או 301 לקטגוריה הרלוונטית
  • מוצרים עונתיים = 200 כל השנה עם הודעה לעונה
  • גרסאות שהופסקו = 'לא זמין' באותו עמוד, לא 404
  • קטגוריות שהתרוקנו = 410 או 301 לקטגוריה ההורה
פרק 13

⚙️ 410 ‏עם htaccess, ‏הקוד המעשי לאתרים על Apache

אם האתר שלכם רץ על Apache (וזה רוב האתרים בעולם, כולל רוב ה-WordPress ו-Hostinger ו-SiteGround), הדרך הכי נקייה להחזיר 410 על URL ספציפי או קבוצה של URLs היא דרך .htaccess. בואו נעבור על הסינטקס.

החזרת 410 על URL בודד

הסינטקס הבסיסי,

RedirectMatch 410 ^/old-post-slug/?$

‏זה אומר ל-Apache, ‏'אם גולש מבקש /old-post-slug/ ‏או /old-post-slug, ‏החזר status 410'. ‏ה-?$ ‏מאפשר slash סופי או בלעדיו. ‏ה-^ ‏מבטיח התאמה מתחילת הנתיב.

החזרת 410 על קבוצה של URLs בפורמט דומה

‏אם יש לכם דפוס שאתם רוצים להחזיר 410, ‏לדוגמה כל הפוסטים תחת folder ‏מסוים,

RedirectMatch 410 ^/old-category/.*$

‏זה אומר, ‏'כל URL ‏שמתחיל ב-/old-category/ ‏יחזיר 410'. ‏שימושי כשהורדתם קטגוריה שלמה.

החזרת 410 ‏על רשימת URLs ‏ספציפיים

‏אם יש לכם 50 URLs ‏ספציפיים שצריכים 410, ‏אפשר לשרשר,

RedirectMatch 410 ^/(old-post-1|old-post-2|old-post-3)/?$
RedirectMatch 410 ^/products/(sku-123|sku-456|sku-789)/?$

שילוב עם 301 ל-URLs אחרים

‏סינריו טיפוסי, ‏חלק מהעמודים שמחקתם יש להם חלופה (301), ‏חלקם לא (410). ‏סדר ההכלל ב-.htaccess חשוב, ‏Apache קורא מלמעלה למטה ועוצר על ההתאמה הראשונה. ‏אז קודם תכתבו את 301-ים הספציפיים, ‏ואז את 410-ים,

# 301 ספציפיים תחילה
Redirect 301 /old-product-1/ /new-product-1/
Redirect 301 /old-category-shoes/ /shoes/

# אחר כך 410 על הכלל
RedirectMatch 410 ^/old-category/.*$
RedirectMatch 410 ^/discontinued-line/.*$
💡 בדיקה אחרי שינוי .htaccess

‏בכל פעם שאתם משנים את ה-.htaccess, ‏בדקו עם curl ‏שזה עובד. curl -I https://yoursite.co.il/old-post-slug/ ‏אמור להחזיר HTTP/2 410. ‏אם חזר 404 ‏או 200, ‏יש בעיה בסינטקס. ‏הסינטקס של Apache ‏רגיש, ‏רווח לא נכון או tab ‏לא נכון יכול לשבור הכל.

הגדרה ל-Nginx (לא Apache)

‏אם האתר שלכם על Nginx, ‏הסינטקס שונה. ‏ב-Nginx ‏אין .htaccess, ‏עורכים את קובץ ה-config הראשי או virtual host,

location = /old-post-slug/ {
  return 410;
}

location ~ ^/old-category/.*$ {
  return 410;
}

‏אחרי שינוי בקובץ Nginx, ‏צריך reload, sudo nginx -s reload. ‏בלי זה השינויים לא נכנסים.

הגדרה ל-Cloudflare/CDN

אם יש לכם Cloudflare מול האתר, אפשר להגדיר 410 ברמת ה-CDN בלי לגעת ב-origin. ב-Cloudflare Workers, אפשר לכתוב,

addEventListener('fetch', event => {
  const url = new URL(event.request.url);
  const goneUrls = ['/old-post-1/', '/old-post-2/'];
  if (goneUrls.includes(url.pathname)) {
    event.respondWith(new Response('Gone', { status: 410 }));
    return;
  }
  event.respondWith(fetch(event.request));
});

‏יתרון, ‏מהיר (לא מגיע ל-origin), ‏ניתן לעדכון מרכזי. ‏חסרון, ‏דורש מנוי Cloudflare ‏עם Workers (לא free tier ‏לחלוטין). ‏לאתרים גדולים מאוד, ‏שווה את ההשקעה.

טעות שכיחה

‏הטעות שאני רואה הכי הרבה היא שכחה של ה-^ ‏וה-$ ‏ב-regex. ‏בלעדיהם, ‏הכלל יכול להתאים לכל URL ‏שמכיל את הסטרינג, ‏לא רק התאמה מדויקת. ‏לדוגמה, RedirectMatch 410 /old-post (בלי ^ ו-$) ‏יחזיר 410 ‏גם על /something/old-post-extra/ ‏או /old-posts/. ‏תמיד תוודאו שיש ^ ‏בתחילה ו-$ ‏בסוף (או /?$ ‏אם רוצים תמיכה בslash סופי).

פרק 14

🎨 UX של עמוד 404, איך להפוך כישלון להזדמנות

עכשיו לצד שאף אחד לא מדבר עליו. עמוד 404 מותאם הוא הזדמנות שיווקית, לא בור שחור. אם גולש הגיע ל-URL לא קיים, יש לכם 5 שניות לעצור אותו מלצאת מהאתר. עמוד 404 גנרי של 'page not found' מטעם השרת הוא כישלון UX מלא. עמוד 404 חכם עם ניווט יעיל ועם זהות מותגית יכול להציל את הביקור ולהפוך משבר להזדמנות.

היסודות של עמוד 404 טוב

  1. הודעה ברורה אבל לא מתנצלת

    ‏'העמוד לא נמצא' ‏זה בסדר. ‏'אופס, ‏אנחנו ממש ממש מצטערים' ‏זה overkill. ‏היו ישירים ואנושיים בלי דרמה.

  2. הסבר קצר על מה לעשות

    ‏'אולי הקלדתם לא נכון, ‏או שהעמוד הוסר. ‏הנה כמה אפשרויות'. ‏לא משאיר את הגולש תלוי באוויר.

  3. שורת חיפוש

    ‏אם יש לכם אתר עם הרבה תוכן, ‏שורת חיפוש בעמוד 404 ‏היא קריטית. ‏הגולש יקליד מה חיפש ויגיע למה שכן קיים.

  4. קישורים לעמודים החשובים ביותר

    ‏3-5 ‏קישורים מרכזיים, ‏עמוד הבית, ‏שירותים, ‏בלוג, ‏יצירת קשר. ‏לא יותר, ‏אחרת זה הופך לניווט מבלבל.

  5. עיצוב ממותג

    ‏ה-404 ‏הוא דף של האתר שלכם שמטפל בתרחיש לא רגיל. ‏העיצוב זהה לשאר האתר, ‏header, ‏footer, ‏לוגו, ‏שאריות הגולש לא ירגיש שיצא לאיזשהו 'אזור שגיאות'.

מה לא לעשות בעמוד 404

  • אל תפנו אוטומטית לעמוד הבית (soft 404 בעיני גוגל)
  • אל תציגו רק 'העמוד לא נמצא' בלי אפשרות נוספת
  • אל תציגו אנימציה ארוכה שמעכבת גישה
  • אל תציגו פרסומות (זה אומר 'הצלחתם להגיע, עכשיו תקנו משהו')
  • אל תוסיפו חידות שמרחיקות את הגולש מהמטרה
  • אל תשכחו את ה-status code, חייב להחזיר 404 ולא 200
💡 רעיון מתקדם, 404 שלומד

‏באתרים גדולים, ‏שווה להוסיף לעמוד 404 ‏הצעות 'אתם אולי חיפשתם...' ‏על סמך ה-URL ‏שהגיע. ‏אם הגולש הקליד /produkts/iphone-15/ (טעות הקלדה), ‏הציעו /products/iphone-15/ ‏אוטומטית עם fuzzy match. ‏שמירת הביקור, ‏הצלת המכירה.

איך 404 ‏משפיע על SEO

‏גוגל לא 'מעניש' ‏אתר על קיומם של 404. ‏לכל אתר יש כמה 404, ‏וזה לחלוטין נורמלי. ‏מה ש-כן ‏פוגע, ‏(1) ‏עמודים חשובים שהפכו ל-404 ‏בטעות. ‏(2) ‏soft 404. ‏(3) ‏עמודי 404 ‏שמוגשים עם 200. ‏(4) ‏עמוד 404 ‏שמפיל המרות בגלל UX רע.

איפה 404 הופך לבעיה

‏שיעור 404 ‏טבעי באתר טוב הוא 0.5-2% מסך הבקשות. ‏אם אתם רואים 5%+ ‏בלוגים, ‏יש משהו שבור (קישורים פנימיים שגויים, ‏סייטמאפ ישן, ‏מבנה URL ‏שהשתנה). ‏מעל 10%, ‏בעיה רצינית של בריאות אתר שדורשת אודיט מיידי.

פרק 15

📋 Workflow אודיט + ‏צ'ק ליסט חודשי של 4xx

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

ה-workflow המלא, פעם בחודש

  • 1. פתחו את Pages report ב-Search Console, וגללו עד 'Why pages aren't indexed'. ראו את המספרים של 404 ו-soft 404
  • 2. השוו את המספרים לחודש שעבר, אם 404 קפץ ב-20%+, יש משהו חדש שנשבר
  • 3. ייצאו את הרשימה ל-CSV, חפשו דפוסים, רוב הזמן 80% מגיעים מאותו דפוס
  • 4. הריצו Screaming Frog crawl, סננו לפי Status Code 4xx לקישורים פנימיים שבורים
  • 5. תקנו קישורים פנימיים שבורים ב-CMS, בלי זה גוגל ימשיך לסרוק
  • 6. החליטו לכל URL, 404/410/301, רוב הזמן חלוקה של 60% 301 + 30% 410 + 10% השארת 404
  • 7. הוסיפו את 410-ים ל-.htaccess, או לפלאגין Redirection ב-WordPress
  • 8. הוסיפו את 301-ים לכל URL שיש לו חלופה טבעית
  • 9. בדקו עם curl שהשינויים נכנסו, curl -I https://yoursite.co.il/old-url/
  • 10. עברו על רשימת ה-soft 404, החליטו 200+תוכן עשיר, 410, או 301
  • 11. ודאו שה-template של 404 בtheme מכריז status 404 (לא 200) בקריאת curl על URL רנדומלי
  • 12. בדקו עמודי חיפוש פנימי, /search?q= באינדקס = חסמו ב-robots.txt
  • 13. בדקו עמודי טאגים/קטגוריות ריקים, או noindex או 410
  • 14. עדכנו את הסייטמאפ, הסירו URLs שמחזירים 4xx
  • 15. תכננו follow-up, רשמו החלטות לחודש הבא לבדוק שעבד
✅ אם הולכים לפי זה, רוב הבעיות נתפסות מוקדם

‏אני מנהל אתרים שבעבר היו רוויי 4xx ‏מבולגנים, ‏אחרי שמכניסים את ה-checklist ‏הזה לרוטינה חודשית, ‏הבעיות נתפסות בעודן קטנות. ‏השקיעו 30 ‏דקות בחודש בזה, ‏ותחסכו שעות של דיבוג ולקוחות שמתעצבנים.

איך לבדוק status codes

  1. curl ‏ב-terminal

    curl -I https://yoursite.co.il/url/ ‏מחזיר את ה-headers, ‏כולל status code.

  2. Search Console URL Inspection

    ‏מציג מה ש-גוגל ראה כשסרק לאחרונה, ‏כולל סטטוס.

  3. Screaming Frog SEO Spider

    ‏סורק את כל האתר, ‏סנן לפי 4xx ‏לרשימת בעיות מהירה.

  4. Chrome DevTools, ‏Network tab

    ‏לבדיקה ידנית של עמוד יחיד, ‏ראו status ‏בעמודה Status.

‏4xx ‏זה לא 'דברים שבורים שאסור שיהיו'. ‏4xx ‏הם 'אותות שאתם מספרים לגוגל מה לעשות'. ‏אם תשלטו באותות, ‏גוגל יבין את האתר שלכם נכון.שמוליק דורינבאום

📖 מילון מושגים

404 Not Found
HTTP status code שאומר 'העמוד לא נמצא, אולי טעות זמנית'. גוגל מסיר מהאינדקס לאט (4-12 שבועות), משאיר את האפשרות שהעמוד יחזור.
410 Gone
HTTP status code שאומר 'נמחק לתמיד, אל תחזרו לבדוק'. גוגל מסלק מהאינדקס מהר (24-72 שעות), חד וברור.
Soft 404
תווית שגוגל נותן לעמוד שמחזיר 200 OK אבל התוכן מציין 'לא נמצא' או דף ריק. הסטטוס הכי בעייתי כי מתחבא.
Crawl Budget
התקציב שגוגל מקצה לסריקת האתר. בזבוז על עמודי 4xx מבולגנים מקטין את הסריקה של עמודים חדשים.
Coverage Report
דוח ב-Search Console (היום נקרא Pages report) שמציג מצב האינדקס של כל URL, כולל סוגי 4xx ומספרם.
URL Inspection
כלי ב-Search Console שמראה מה גוגל ראה כשסרק URL מסוים לאחרונה, כולל status code שקיבל.
Custom 404 Page
עמוד שגיאה מותאם אישית עם עיצוב של האתר. חייב להיות מוגש עם HTTP status 404, לא 200, אחרת = soft 404.
RedirectMatch 410
דירקטיבת Apache ב-.htaccess שמחזירה status 410 על URL או דפוס URLs. הדרך הסטנדרטית להחזיר 410 ב-WordPress/Apache.
Discontinued Product
מוצר שהופסק לתמיד מהקטלוג, להבדיל מ-out of stock שיוחזר. דורש 410 או 301, לא 404.
Out of Stock
מוצר שאזל זמנית ויוחזר. נכון להשאיר 200 עם תוכן עשיר, לא להחזיר 404 שיגרום לאיבוד האינדקס.
פרק 16

שאלות נפוצות

מה ההבדל הבסיסי בין 404 ל-410?
404 אומר 'העמוד לא נמצא עכשיו, אולי יחזור'. 410 אומר 'נמחק לתמיד, לעולם לא יחזור'. גוגל מתייחס ל-410 כהצהרה ברורה ומסיר מהאינדקס מהר (24-72 שעות), בעוד 404 משאיר אפשרות שיחזור ומסיר לאט (4-12 שבועות). ההבדל קריטי לאתרים גדולים שמחקו הרבה תוכן.
מה זה soft 404 ולמה זה הכי גרוע?
soft 404 הוא תווית שגוגל נותן לעמוד שמחזיר 200 OK (כלומר 'הכל בסדר') אבל התוכן בעצם אומר 'לא נמצא' או דף ריק. הוא הכי גרוע כי הוא מתחבא, אתם לא יודעים שיש לכם soft 404 עד שאתם פותחים את Search Console. גוגל מסיק לבד שזה דף לא תקין, ולא מקבל אות ברור מהשרת, מה שגורם לבזבוז crawl budget ולאות איכות שלילי ברחבי-אתר.
מתי כדאי להחזיר 410 ולא 404?
תמיד שמחקתם עמוד בכוונה תחילה ולתמיד. דוגמאות, content pruning של פוסטים ישנים, מוצרים שירדו לתמיד, עמודי קמפיין שהסתיימו, עמודי טסט שעלו בטעות, פוסטים עם תוכן שגוי שצריך להוציא. הכלל הפשוט, אם אתם יודעים בוודאות שהעמוד לא יחזור, זה 410. אם 'לא יודע', זה 404.
איך מזהים soft 404 ב-Search Console?
פתחו Search Console > Indexing > Pages. גללו עד 'Why pages aren't indexed' ומצאו את שורת 'Soft 404'. לחצו עליה לראות עד 1,000 דוגמאות של URLs שגוגל מסווג כ-soft 404. ייצאו ל-CSV וחפשו דפוסים, רוב הזמן 80% מה-soft 404 מגיעים מאותו דפוס שצריך לתקן.
האם 404 פוגע ב-SEO?
404 עצמו לא פוגע. גוגל מבין שלכל אתר יש קצת 404 (טעויות גולשים, קישורים שבורים מבחוץ). מה ש-כן פוגע, (1) עמודים חשובים שהפכו ל-404 בטעות = איבוד תנועה, (2) הרבה soft 404 = איבוד אמון בכל האתר, (3) עמוד 404 שמוגש עם 200 = soft 404. שיעור 4xx טבעי הוא 0.5-2% מהבקשות. מעל 5% = יש משהו שבור שצריך לתקן.
איך מוודאים שעמוד 404 מותאם בWordPress מחזיר באמת 404?
הריצו curl -I https://yoursite.co.il/some-random-url-that-doesnt-exist-12345/. אם התשובה הראשונה היא 'HTTP/2 404', אתם בסדר. אם זה 'HTTP/2 200', יש לכם בעיה, הtheme לא מכריז על status 404 נכון. תיקון, וודאו שב-404.php של הtheme יש קריאה ל-status_header(404) בתחילת הקובץ.
מה ההבדל בין 410 ל-301 לפתרון עמוד מחוק?
301 מעביר את ה-authority של עמוד A לעמוד B ומפנה את הגולש ליעד. 410 פשוט אומר 'נמחק, אין יעד'. השתמשו ב-301 כשיש יעד הגיוני (חלופה, קטגוריה רלוונטית). השתמשו ב-410 כשאין יעד וזה רק 'בילט פאון את העמוד'. אם תעשו 301 של 100 עמודים שונים כולם לעמוד הבית, גוגל יסמן soft 404, אז במקרה כזה 410 עדיף.
האם Shopify תומך ב-410?
לא native. ב-Shopify, מחיקת מוצר מחזירה 404 בלבד, ואין הגדרה לבחור status code. הפתרונות, (1) Apps צד שלישי כמו SEOAnt או SEO Manager שמוסיפות יכולת 410, (2) שמירת המוצר עם תוכן עשיר ('הופסק, ראו חלופות') במקום מחיקה, (3) 301 לחלופה ספציפית או לעמוד הקטגוריה הרלוונטי.
מוצר אזל זמנית, מה לעשות עם העמוד?
אל תחזירו 404. השאירו 200 עם תוכן עשיר, התיאור המלא, התמונות, המפרט, ביקורות. הוסיפו הודעה ברורה 'אזל זמנית', אפשרות 'הודיעו לי כשחוזר' (לידים), ורשימת מוצרים דומים שכן זמינים. גוגל ימשיך לאנדקס, וכשהמוצר יחזור, אתם כבר ב-SERP בלי שצריך לבנות מחדש את האינדקס. 404 על מוצר שיחזור = איבוד מיקומים שלוקח שבועות לבנות מחדש.
מה הדרך לבדוק status code בלי כלי מורכב?
השיטה הכי פשוטה היא curl -I https://yoursite.co.il/url/ ב-terminal. השורה הראשונה תציג את ה-status code (HTTP/2 200, או 404, או 410, וכו'). באלטרנטיבה, פתחו את הדף ב-Chrome, פתחו DevTools (F12), עברו ל-Network tab, רעננו את הדף, וראו את ה-Status בעמודה. ב-Search Console, URL Inspection מציג מה גוגל ראה כשסרק לאחרונה.
האם נכון להפנות את כל ה-404 לעמוד הבית עם 301?
לא, זאת טעות קלאסית. גוגל מסווג כאלה הפניות כ-soft 404 וזה לא עוזר. ההיגיון של גוגל, אם 100 URLs שונים מפנים כולם לעמוד הבית, זה לא הפניה אמיתית אלא 'ניסיון להחביא 404'. אז עדיף השארת 404 על URLs שאין להם יעד טבעי, או 410 אם מחקתם בכוונה. 301 רק לכשיש חלופה ספציפית רלוונטית.
כמה זמן לוקח לגוגל להסיר עמוד 410 מהאינדקס?
בדרך כלל 24-72 שעות אם האתר נסרק תכופות. באתרים עם authority גבוה שגוגל סורק כל יום, יכול להיות אפילו פחות. באתרים קטנים שגוגל סורק פעם בשבועיים, יכול לקחת עד שבוע. בכל מקרה, פי 10 או יותר מהר מאשר 404 שלוקח שבועות עד חודשים.
מה הקשר בין soft 404 ל-JavaScript rendering?
באתרי SPA (React, Vue, Angular), גוגל מקבל HTML ראשוני שלרוב ריק כמעט (רק div של הapp). הוא צריך להריץ את ה-JS כדי לראות את התוכן הסופי. אם ה-JS נכשל, או הרינדור איטי, או הגיע עם 'Loading...' בלי תוכן, גוגל מסיק שהעמוד ריק וסומן soft 404. הפתרון הוא SSR (Server-Side Rendering) או SSG, כך שגוגל יקבל HTML עם תוכן מההתחלה.
האם 410 פוגע ב-SEO של האתר?
לא, להפך. 410 הוא אות חיובי לגוגל, 'אני יודע מה אני עושה, ניהול תקין של האתר'. גוגל מעריך אתרים שעושים content pruning ושמטפלים נכון בעמודים מחוקים. הצטברות 410-ים מתוכננים היא סימן לאתר בריא ומנוהל. רק היזהרו שלא להחזיר 410 על עמודים שכן רוצים להישאר, זה כן יפגע.
באיזה תדירות לעשות אודיט 4xx?
באתר פעיל שמוסיף תוכן באופן קבוע ושיש בו eCommerce, פעם בחודש. באתר שלא משתנה הרבה (אתר תדמית, בלוג קטן), פעם ברבעון. אחרי כל rebrand, מעבר פלטפורמה, שינוי URL structure, או מחיקת תוכן בהיקף גדול, אודיט תוך 4-6 שבועות. השתמשו ב-checklist 15 הנקודות מפרק 15.
שמוליק דורינבאום

צריכים לקפוץ למישהו שכבר ראה את הסרט?

שמוליק דורינבאום, 20 שנה ב SEO, 1,200 בוגרים בקורס. אם יש לכם אתר ולא בטוחים מאיפה להתחיל או שאתם תקועים במצב לא טוב, שלחו הודעה. תשובה תוך 24 שעות, בלי דמי ייעוץ למפגש הראשון.

שלחו הודעה

אתר שלא עולה בגוגל זה חוב, לא נכס

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

✓ תשובה חוזרת תוך 24 שעות · ✓ ללא התחייבות