הפניות 301 נוטות לפעמים לבלבל וגורמות ללא מעט וויכוחים לגבי הדרך הנכונה להשתמש באלו אצל מקדמי אתרים ואנשי SEO. בפוסט זה נבהיר מה זה הפניית 301, מדוע ומתי עליכם להשתמש בהפניות אלו וכיצד לבצע הפניות 301 באתר שלכם בצורה הנכונה – בין אם באתר וורדפרס או לא.
מה זה הפניית 301 (Redirect 301)?
הפניית 301 היא דרך לוודא כי תנועה ברשת נשלחת למיקום העדכני ביותר של כתובת URL כלשהי. היא התהליך של הפניית כתובת מסויימת לכתובת אחרת. החלק ״301״ המופיע בשם מציין את ה HTTP Status Code של העמוד המפנה.
במילים פשוטות, הפניית 301 מציינת לדפדפן כי העמוד עבר למיקום אחר באופן קבוע, מציינת מהו המיקום החדש ומצהירה כי אין כוונה להחזיר אותו למיקום המקורי. הדפדפן כתגובה ישלח את המשתמש אל המיקום החדש שקבעתם.
לדוגמה, אם אתם מוחקים עמוד באתר שלכם והגולשים מנסים לגשת לעמוד זה הם יקבלו שגיאה. שגיאה זו אינה מספקת חווית משתמש טובה נכון? בסיטואציה זו עליכם להפנות בצורה קבועה את כתובת ה URL הישנה לכתובת החדשה, או נכון יותר לכתובת הרלוונטית ביותר. הפנייה זו נקראית הפניית 301.
סטטוס קוד 301
הסטטוס קוד ״301״ הוא אחד מתגובות HTTP רבות שקיימות. תגובות אלו מציינות לדפדפן ולמנועי חיפוש מה הסטטוס של אותה כתובת. סטטוס 301 מציין כי עמוד זה עבר באופן קבוע למיקום אחר, ומכאן שעליכם להשתמש בו רק במצב בו ההפנייה מתבצעת באופן קבוע.
זאת לעמות הפניית 302 המציינת כי זו הפנייה זמנית בלבד ואתם מתכוונים להסירה בקרוב. למידע נוסף על HTTP Status Codes.
בכדי להבין זאת טוב יותר, נכון יהיה להבין כיצד עובד התהליך של הגשת עמוד אינטרנטי עבור הגולש או עבור בוטים של מנועי חיפוש.
כאשר ישנה בקשה לעמוד כלשהו מתקבל יחד עם העמוד גם סטטוס קוד מסויים ב Header. אינפורמציה זו מתקבלת במרבית המקרים עוד לפני שהעמוד או המידע על אותו עמוד התקבל. סטטוס קוד זה נועד בכדי להודיע למשתמש או למנועי החיפוש את מצבו של אותו עמוד (או קובץ).
בכדי לספק דוגמה מהעולם האמיתי בואו ניתן מבט באינפורמציה המתקבלת ב Header כשאני בודק את עמוד הבית של סאבי בלוג תחת לשונית ה Network בכלי המפתחים של גוגל כרום:

מתקבלת לא מעט אינפורמציה ב Header אך סימנתי רק את השורה הרלוונטית המציינת סטטוס 200 OK. זה אומר בעצם שהתקבלה תשובה חיובית והעמוד המבוקש זמין ויישלח לדפדפן כתגובה.
אם הייתה הפניית 301 מעמוד זה לעמוד אחר, היה מתקבל סטטוס 301 Moved Permanently. בנוסף לסטטוס זה הייתה מתקבלת גם כתובת המיקום החדשה של אותו עמוד. הנה התגובה כאשר אני מנסה לבקש את גירסת ה HTTP של סאבי בלוג (לעומת גירסת ה HTTPS):

הפניית 301 חיונית במידה ואתם מעבירים תוכן ממקום אחד למשנהו, גם לטובת מנועי החיפוש וגם עבור חווית המשתמש של הגולשים. אם מנוע חיפוש מסויים נתקל בתגובת 301 כאשר הוא מנסה לזחול ולאנדקס עמוד מסויים – הוא יידע כי עליו להסיר כתובת URL זו מהאינדקס ולהחליפה בכתובת החדשה שהתקבלה.
אם אינכם משתמשים בהפניית 301 כאשר אתם מסירים עמוד כלשהו מהאתר – מנועי חיפוש יקבלו שגיאת 404 כתגובה (404 Not Found Error). התוצאה של כך היא שמנועי חיפוש יסירו עמוד זה מהאינדקס עם הזמן והוא ייעלם מתוצאות החיפוש.

מתי עליכם להשתמש בהפניות 301?
הדוגמאות שהראיתי עד כה מתמקדות סביב המעבר של עמוד מסויים לכתובת URL אחרת באתר שלכם. אך הפניות 301 מתבקשות בלא מעט סיטואציות, למשל:
- מעבר מדומיין מסויים לדומיין אחר.
- בכדי למנוע מצב של תוכן כפול, לדוגמה אם יש לכם מספר פוסטים הכתובים באותו נושא ואתם מעוניינים לשלב אותם לפוסט אחד ארוך.
- מעבר מ HTTP ל HTTPS.
- מצבים מסויימים בהן מוצר בחנות הדיגיטלית אזל מהמלאי. (עוד על כך בפוסט טיפול במוצרים שאינם זמינים בחנות מבחינת SEO).
- ועוד…
מה ההבדל בין הפניית 301 לכתובת קנונית?
בכדי למנוע בלבול, אסביר במספר מילים על ההבדל בין קנוניקל תג המתבצע על ידי הוספת התגית rel=canonical
לבין הפניית 301:
- הפניית 301 היא הפנייה קבועה אשר מפנה פיזית את המשתמש לעמוד חדש. הפניית 301 תראה לכל דורש את עמוד B במקום עמוד A.
- התכונה
rel=canonical
היא אינדיקציה למנועי החיפוש המציינת איזו גירסה של העמוד מקבוצת עמודים דומים היא הגירסה המועדפת, וזאת בעיקר בכדי למנוע סיטואציות של תוכן משוכפל / תוכן כפול. השימוש בקנוניקל תג אינו מבטל עמודים ועדיין ניתן לגשת אליהם.
מכאן, שיש להשתמש בתגית הקנונית (בין היתר) בעמודים המראים תוכן זהה לעמודים אחרים, ויש להשתמש בהפניית 301 עבור עמודים או דומיינים ששינו מיקום או התחלפו.
נושא הכתוביות הקנוניות רחב משתיארנו כאן. תנו מבט בפוסט מהן כתובות קנוניות וכיצד להשתמש בהן? בכדי לקבל מידע נוסף וחשוב על הנושא של קנוניקל תג.
מה ההבדל בין הפניית 302 להפניית 301?
למשתמש הפשוט נראה כי הפניות 301 קבועות והפניות 302 זמניות עובדות בצורה זהה, אך מנועי חיפוש לא רואים כך את הדבר. מנועי חיפוש מתייחסים להפניות אלו בצורה שונה ועליהם להחליט אם עליהם להשאיר את העמוד הישן באינדקס או להחליפו בעמוד החדש בהתאם לסוג ההפניה.
הפניות 302 הן הפניות זמניות ומציינות בדיוק זאת למנועי החיפוש. אלו מצפים בתמורה שהפנייה זאת תוסר בזמן הקרוב. אם מתבצע שימוש בהפנייה לא נכונה מנועי החיפוש עלולים להתבלבל וכתוצאה מכך ייתכן ותאבדו דירוג וטראפיק עבור אותם עמודים בהם לא בוצעה ההפנייה הנכונה.
זה המקום לציין כי אין הרבה מצבים בהם תדרשו להשתמש בהפניות 302 זמניות. כמה פעמים כבר יוצא לכם לשנות מיקום של עמוד בצורה זמנית…?
היתרונות של הפניות 301 מבחינת SEO
חשוב להבין כי השינוי הקטן ביותר במבנה של כתובת URL יגרום לעמוד זה ליפול ולרדת מתוצאות החיפוש באופן מוחלט. זו הסיבה שהשימוש בהפניות 301 הוא חיוני, וזאת בכדי לשמור על הטראפיק והדירוג הקיימים לעמוד כלשהו עוד לפני השינוי שבוצע בכתובת.
למשל, אם אתם מתכננים לפתח אתר חדש בעתיד, שווה לקחת בחשבון כי כנראה וזה יכיל מבנה שונה של כתובות URL. אם אתם מתכננים לעבור סוף סוף מפרוטוקול HTTP לפרוטוקול HTTPS, גם כן עליכם לקחת בחשבון הפניות 301 רלוונטיות.
אם במשך השנים כתבתם תוכן איכותי בבלוג שלכם, כנראה ולאותם פוסטים קיימים קישורים נכנסים (Inbound Links) המצביעים אליהם. לבטח אותם פוסטים כבר מדורגים יפה במנועי החיפוש ולא תרצו לאבד דירוג זה, לכן עליכם לוודא כי אתם מעבירים את אותו כח דירוג של הפוסטים, או את אותה סמכות של דומיין כלשהו באמצעות הפניות 301 לכתובות החדשות או דומיין החדש.
זה המקום לציין כי Matt Cutts מגוגל הדגיש ואמר כי הפניות 301 אינן פוגעות בדירוג ומעבירות את כח הדירוג במלואו בין עמוד לעמוד. אם לא היה כך המצב, המעבר מ HTTP ל HTTPS אותו גוגל מאד מעודדים היה פוגע בדירוג האתר, וזהו לא התרחיש שקורה.
אם מעניינת אתכם תגובתו, הנה מה שאמר על הנושא עוד ב 2013:
מספר בעיות עקב שימוש לא אחראי בהפניות 301
אחת הבעיות שיכולות להווצר עם הזמן היא ״באלאגן״ של הפניות 301. הסיבה העיקרית לכך (בדרך כלל) היא ביצוע הפנייה על גבי הפנייה. למשל:
- עמוד A מפנה לעמוד B.
- עמוד B מפנה לעמוד C.
- עמוד C מפנה לעמוד D.
- עמוד D מפנה לעמוד… מניח שהבנתם את הנקודה.
סיטואציה זו נקראית שרשרת הפניות או בלעז Redirect Chains והיא בעייתית ממספר סיבות. הסיבה הראושנה היא שהפניות בשלב כלשהו מפסיקות להעביר את אותו כח דירוג (PageRank). הסיבה השנייה היא שהפניות מרובות גורמות למשתמש להמתין זמן רב יותר לקבלת העמוד בו הוא מעוניין לצפות.
אז אם ניתן מבט בדוגמה האחרונה, עליכם לפשט את העניין ולגרום לכל אחד מהעמודים הישנים להפנות לעמוד האחרון בשרשרת:
- עמוד A מפנה לעמוד D.
- עמוד B מפנה לעמוד D.
- עמוד C מפנה לעמוד D.
אני מאד ממליץ לא להגיע למצב בו ישנן יותר משלוש הפניות בשרשרת.
אך ישנה בעיה נוספת ושכיחה והיא שימוש בהפניות 301 בצורה לא נכונה. בעלי אתרים נוטים לבצע הפניות מעמודים ישנים לעמוד הבית מכיוון ואין צורך לחשוב יותר מדי.
אם אתם מבצעים שינוי כלשהו ברמת עמודי האתר הדורש הפניית 301 מעמוד אחד למשנהו – עליכם לוודא כי אתם מבצעים את ההפניה לעמוד הרלוונטי ביותר לאותו עמוד שאתם מסירים!
חשבו על זה מבחינת חווית משתמש נכונה וחשבו על התחושה שיקבל הגולש אם תפנו אותו מתוכן מסויים בו הוא מעוניין לעמוד הבית שכלל אינו רלוונטי לתוכן אותו ביקש. אז אומר שוב – מצאו את התוכן הקרוב ביותר לאותו עמוד ממנו אתם מבצעים את ההפניה והפנו אליו.
איך קובעים ומבצעים הפניות 301?
לאחר שהסברנו מהן הפניות 301, את החשיבות שלהן, ומתי עליכם להשתמש בהפניות אלו, בואו נראה כיצד לבצע הפניות 301 בצורה הנכונה ונסביר מהן הדרכים השכיחות ביותר לעשות זאת.
נתחיל ונאמר שאם יש לכם את האפשרות, מומלץ לבצע את ההפניות ברמת השרת ולא ברמת פלאגין או פונקציה כלשהי. הסיבה לכך היא שהפניית 301 המתבצעת ברמת השרת מתרחשת מעט יותר מהר לעומת דרכים אחרות (זניח, אך אם אפשר מדוע לא?).
להפניות ברמת השרת ישנו גם חסרון והוא חוסר היכולת לנהל את אותן הפניות בצורה יעילה, וזאת לעומת שימוש בתוסף כלשהו שזה כל תפקידו – לעזור בניהול הפניות (ולהגדיר אותם כמובן).
על כל מקרה, במרבית המקרים התנהגות השרת שלכם מוגדרת במידה מסויימת בקובץ הנקרא .htaccess
. זהו קובץ טקסט פשוט היושב בשרת בספרייה הראשית של האתר. אתם יכולים ליצור כזה אם לא קיים, אך אם קיים באפשרותכם לערוך קובץ זה עם כל עורך טקסט ולהוסיף לקובץ זה את ההפניות.
בואו נראה דוגמה לביצוע הפנייה פשוטה דרך קובץ זה. נאמר ואנו רוצים להפנות את הכתובת http://domain.co.il/old.html
לכתובת http://domain.co.il/new.html
. במקרה זה עליכם להוסיף את הקוד הבא לקובץ .htaccess
:
Redirect 301 /old.html http://domain.co.il/new.html
- Redirect 301 – מציין למנועי החיפוש ולדפדפנים כי העמוד עבר לכתובת אחרת באופן קבוע.
- old.html/ – הוא העמוד ממנו אתם מעוניינים לבצע את ההפניה.
- http://domain.co.il/new.html – הוא הכתובת החדשה של העמוד אליה השרת יבצע את ההפנייה. חלק זה דורש את הכתובת המלאה בכדי לעבוד כראוי.
מה אם אתם מעוניינים לבצע המון הפניות אך אינכם מעוניינים להתחיל ולכתוב כל הפנייה והפנייה בקובץ זה? במקרה זה ניתן להשתמש בביטויים רגולריים (Regex) בכדי לקבוע מספר הפניות בשורה אחת וזאת לפי תבנית מסויימת שאתם קובעים, בין אם דרך הקובץ .htaccess
או דרך התוסף Redirection.
הפניות 301 באתרי וורדפרס

אם ברשותכם אתר וורדפרס תהליך ביצוע ההפניות ברמת השרת אינו שונה. ניתן לעשות זאת דרך קובץ .htaccess
עליו דיברנו קודם לכן. אך אם אתם מעוניינים בדרך נוחה לקביעה וניהול ההפניות ניתן להשתמש בתוסף Redirection אותו גם כן הזכרתי בפוסט על הפניות וביטויים רגולריים.
הנה מספר יתרונות לשימוש בתוסף זה:
- ניתן לנהל את כל ההפניות היישר מממשק הניהול של וורדפרס, דבר המאפשר לאנשים פחות טכניים לקבוע ולעדכן הפניות בקלות.
- ניתן לעקוב דרכו אחר מספר הפעמים שבוצעה הפנייה כזו או אחרת ואף לעקוב אחר שגיאות 404 כאשר העמוד לא נמצא.
- ניתן להשתמש בתוסף זה גם במידה והשרת אינו מאפשר לערוך את הקובץ htaccess או שרת שאינו עובד עם קובץ זה.
- ניתן לקבוע תנאים מסויימים לפיהן יעבדו ההפניות. למשל, אם ישנו Cookie מסויים, לפי כתובת IP, לפי סוג הדפדפן וכדומה.
- ניתן לבצע ייצוא וייבוא באמצעות קובץ CSV ולחסוך זמן בכתיבת ההפניות.
- התוסף חינמי לכל אדם ועובד על שרתי apache ושרתי nginx.
- תומך גם כן בביטויים רגולריים ו regex.
זה בעיקרון כל הסיפור. מקווה שהמדריך עזר לכם בצורה כלשהי. אם ישנן שאלות או השגות, אתם מוזמנים כמובן להגיב בתגובות מטה כתמיד… 🙂