יש לכם אתר שנים רבות אך כתוצאה מסיבה היסטורית כלשהי שם הדומיין שלו גרוע? ברצונכם להחליף שם על מנת להיות בעלי שם דומיין קליט יותר? מתעוררת השאלה כיצד ימצאו הגולשים את האתר ששינה את כתובתו ואיך משנים שם דומיין ומשמרים את מיקומיו במנועי חיפוש? שנים של קידום האתר יכולים ללכת לטמיון אם לא מבצעים את המעבר כמו שצריך.
הפתרון לשאלה זו (או לפחות החלק מהפתרון בו נתרכז בפוסט זה): ביצוע הפנייה אוטומטית של הגולשים מכתובת האתר הישנה אל כתובת חדשה. הפניה נכונה גם תעזור לשמור על עבודת ה-SEO שבוצעה על האתר הישן.
קבלת דפים מהשרת – רקע כללי
כאשר גולש נכנס אל אתר באופן רגיל, האתר מחזיר למשתמש כתגובה "קוד 200" – האומר שהבקשה התקבלה בהצלחה, ובנוסף שולח אליו את הדף המבוקש. כולנו מכירים גם את התגובה "קוד 404" המציין כי הדף המבוקש אינו נמצא.
כאשר דף קיים מוזז ממקומו למקום חדש, בין אם דומיין חדש או כתובת אחרת באותה הדומיין, אנחנו מסוגלים כמתכנתי האתר לגרום לשרת להחזיר "קוד 301" או "קוד 302" האומרים כי "הדף עבר לכתובת חדשה".
קוד 301 אומר "הדף עבר באופן קבוע לכתובת חדשה" ואילו קוד 302 אומר "הדף עבר באופן זמני לכתובת אחרת". מעבר לסוג ההודעה (301/302) – מצויינת גם הכתובת החדשה אליה עבר הדף.
הדפדפנים עוברים אוטומטית אל כתובת הדף החדשה כאשר הם מקבלים הפניה כזו.
הפניית 301 – ההפנייה הקבועה
הדרך הבטוחה ביותר להפנות אתר אחד אל אתר אחר היא להשתמש ב-"הפניית 301". כאמור משמעותה של הפנייה זו: "האתר עבר באופן קבוע לכתובת חדשה".
ביצוע הפניה כזו יכול להעשות בקוד שנשים בדפים הישנים או על ידי קוד שמשפיע על כל השרת או על ידי הגדרה בשרת. מה זה בעצם אומר?
- קוד בתוך דף ישן: אנחנו שמים קוד בתוך דף שגורם לכל מי שמגיע אליו (מנוע חיפוש או אדם) לקבל את ההודעה "הדף הזה לא קיים יותר בכתובת הזו, ואני מעביר לך את הכתובת החדשה שלו". המשתמש יועבר באופן אוטומטי על ידי הדפדפן לכתובת החדשה, ומנועי החיפוש גם יבדקו אותה. שיטה זו, כלומר, לשים קוד בתוך דף ספציפי, היא שימושית כשעמוד אחד באתר שלנו משנה כתובת, ולא כשכל האתר משנה דומיין, כי אם נרצה להעביר אתר שלם בשיטה זו נצטרך ליצור דף לכל אחד מהעמודים שקיימים באתר החדש עם קוד שיעביר לעמוד החדש. בכל שפה הקוד לביצוע הפניה כזו משתנה. חיפוש מהיר בגוגל יראה לכם איך לבצע זאת בשפה שבה האתר שלכם כתוב. בשפת PHP נבצע את הפניית 301 כך:
header('HTTP/1.1 301 Moved Permanently');
header('Location: https://www.new-domain.co.il');
- קוד שמשפיע על כל הדפים באתר – שימוש ב-.htaccess : בשיטה זו לא נצטרך לשמור את הקבציים המקוריים על השרת של האתר הישן: אם נרצה להעביר את כל הדפים שבדומיין מסויים לכתובת חדשה, נוכל להשתמש בקובץ .htaccess של apache. קובץ זה מאפשר, בין היתר, להגדיר "חוקים" של הפניות. לדוגמא, אם נשים את הקוד הבא בתיקיה הראשית של האתר הישן שלנו com, אנחנו אומרים לשרת כי עבור כל כתובת שמתחילה ב- https://olddomain.com או ב- https://www.olddomain.com עליו להעביר בהפניית 301 לדומיין https://newdomain.com.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^olddomain.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com [NC]
RewriteRule ^(.*)$ https://newdomain.com/$1 [L,R=301,NC]
הפניית 302 – הפנייה קלה שעלולה לעלות ביוקר
בניגוד להפנית 301, הפנית 301 היא הפניה זמנית. אנחנו מודיעים למשתמש ולמנועי החיפוש ש"זמנית ניתן למצוא את התוכן שהיה בדף זה בכתובת אחרת". עבור הגולשים בדפדפנים לרוב אין הבדל בחוויה אם העברתם להם הפנית 301 או 302, אבל עבור מנועי החיפוש, ובמיוחד גוגל, ההבדל הוא גדול.
הפניית 302 מבוצעת לעתים במקום הפניית 301 על מנת לעבור בין שרתים, בעיקר מכיוון שבמאמר זה הצגנו לכם ישר מה היא הדרך הנכונה לבצע הפניה, אבל קיימות שיטות נוספות לבצע הפניה שעובדות ברמה הטכנית אבל לא בהכרח מתאימות כשאנחנו רוצים לשמור על האתר במנועי החיפוש.
למרות שהפנית 302 כזו יכולה להיות לגיטימית, מנועי חיפוש מזהים אותה לעתים קרובות כנסיון לספאם כשמדובר בדומיין שמועבר כולו לדומיין אחר, ומענישים אתרים המשתמשים בה. דוגמא שהיתה מפורסמת בזמנו היא האתר https://www.business.com שבעבר היה מקור מקוון בנושאי עסקים ובו מעל 600,000 דפים. האתר הוחרם מגוגל משום שהוא השתמש בשיטת ההפנייה הלא נכונה, ודפיו נעלמו מהאינדקס של גוגל. הסיבה לעונש היתה כי הם השתמשו בהפניית 'HTTP/1.1 302 Object Moved' על מנת להפנות גולשים מהכתובת https://business.com אל הכתובת https://www.business.com.
זהירות – טעויות של חברות איחסון
חלק משרתי חברות ה-hosting מאפשרים לכם להוסיף שמות domains נוספים עבור אותו אתר. במקרה כזה חברות האחסון מבצעות הפניות שמתוכנתות להחליף שם domain אחד לשם אחר בעזרת הפניית 302. נדגיש שוב כי הפניית 302 היא הסוג הלא נכון של ההפנייה במקרה זה. אם רוצים להפנות באופן קבוע שם domain לשם אחר, הפקודה היחידה המקובלת, וזאת שלא תגרום להטלת סנקציות עליכם מצד מנועי החיפוש, היא הפניית "עבר לתמיד 301".
הדרך להצלחה – בדיקה
על מנת לעבוד כמו שצריך ולא להסתכן בעונש לאתר, יש לנתח מה מנועי החיפוש רואים כאשר הם מבקרים באתר שלכם. כלים ברשת האינטרנט מאפשרים לקבל את ה-headers אותם השרת שולח אל המבקרים ולנטר אותו, וגם מערכת ZEFO. מומלץ להשתמש בכלים כאלו על מנת לבדוק שכל ההפניות המוגדרות בשרת מוגדרות כראוי.
אם כך – האם להשתמש רק בהפניית 301?
בעוד שבעבר היינו נותנים תשובות לכאן או לכאן ומתייחסים ליוצאי דופן, דווקא נושא זה נהיה פשוט יותר לאורך השנים (בעוד שנושאים אחרים הקשורים למנועי חיפוש נהיו מתוחכמים בהרבה):
אם אתם רוצים לסמן לגוגל שהאתר שלכם עבר מדומיין ישן לדומיין חדש, תשתמשו אך ורק בהפניות 301. נקודה.
בהצלחה ????