איך לעבור מ http ל https ולהישאר בחיים
דניאל זריהן,
ככל שאתרי אינטרנט שומרים יותר ויותר מידע רגיש ואישי על הגולשים, כך הדאגה לגבי אבטחת אתרים הולכת וגדלה.
לפני מספר שנים החליטו ב-Google להצפין את החיפושים של המשתמשים במנוע החיפוש שלה, כך שרק מי שגולש מהחשבון שלו, יוכל לראות את מילות המפתח השמורות בהיסטוריה הפרטית שלו בלי חשש שאלו ידלפו לגורמים בלתי רצויים.
כיום ההמלצה של Google היא שכלל האתרים ברחבי הרשת יעברו לשימוש בפרוטוקול מאובטח (https) והיא אף הצהירה באופן פומבי שאתרים מאובטחים יזכו ליתרון מסוים בדירוג, וסביר מאוד להניח שיתרון זה יגדל בעתיד.
כעת קל להבין מדוע הצפנת מידע באתרים הופכת כיום לסטנדרט ויותר ויותר בעלי אתרים רוכשים תעודות אבטחה במטרה לעמוד בדרישות הגוברות מצד גוגל והגולשים עצמם.
יחד עם זאת, המעבר לתקן https אינו מסתכם בקניית תעודת SSL והתקנה על גבי השרת, המעבר דורש לבצע שינויים רבים באתר על מנת שכולם יעמדו בתקן https.
למעשה, מספיק שאחד האלמנטים בעמוד לא יהיה מאובטח על מנת שכל העמוד עצמו ייחשב "לא מאובטח".
במדריך זה נסביר לכם כיצד לבצע את המעבר מ-http אל https שלב אחר שלב, מבלי להיפגע בציון הדירוג במנועי החיפוש.
ביצענו התקנה של תעודת SSL מצד השרת וזהו השלב הראשון והחשוב ביותר, כעת נמנה את השלבים שיש לבצע בכדי לשמור על הציון במנועי החיפוש:
1. עדכון הקישורים הדינאמיים (חיפוש והחלפה במסד נתונים)
על מנת שלא ליצור קישורים שבורים בתוך האתר או לקשר לגרסאות לא מאובטחות של העמודים (https), חובה לבצע פעולה של חיפוש והחלפה על כל תכני האתר ולהחליף כל קישור המתחיל ב http בקישור המתחיל ב https.
למרבה המזל, כיום רוב התכנים במערכות ניהול תוכן (למשל וורדפרס) שמורים בתוך מסדי נתונים, כך שאפשר לבצע את פונקצית ההחלפה הזו בעזרת כמה פקודות פשוטות של תוכנת ניהול מסד הנתונים (למשל, PHPMyAdmin).
לקוחות uPress: ישנה אפשרות לבצע חיפוש והחלפה תחת ממשק הניהול. בחירה באתר המבוקש > תחת לשונית פיתוח > כלי אחסון נוספים > חיפוש והחלפה במסד נתונים.
2. עדכון הקישורים הסטטים (בקבצי קוד)
ברוב האתרים אשר פותחו באופן אישי (ולא משתמשים בתבנית עיצוב סטנדרטית) ישנם חלקים קבועים הנמצאים בקבצים כגון functions.php, header.php ו – style.css אשר נערכו על ידי מפתח האתר או בעל האתר.
בהרבה מן הקבצים האלו ישנם חלקי קוד המשתמשים בקישורים לא מאובטחים, ולכן חובה להחליף אותם בגרסאות מאובטחות (למעט חלקים המשתמשים במשתנים הנמצאים במסד הנתונים, אותם כבר החלפנו בסעיף הקודם).
3. בדיקת קוד המקור
וודאו שאין זכר לקישורים לא מאובטחים באתר שלכם על ידי סריקת קבצי קוד המקור של האתר – במיוחד יש לשים לב לתמונות, קבצי CSS וקבצי JavaScript.
בכדי לצפות בקבצי קוד המקור של האתר יש להיכנס לאתר מהדפדפן שאתם רגילים להשתמש > כפתור ימיני על תוכן העמוד > צפיה בקוד מקור.
4. אינדיקציה של הדפדפן
סימן של מנעול ירוק בחלון בשורת הכתובת של הדפדפן מראה שכל הקישורים והאלמנטים השונים בעמוד הנוכחי מאובטחים. אם לא מופיע מנעול ירוק בכל העמודים אותם רצינו לאבטח, סימן שעדיין יש לנו קישורים לא מאובטחים ועלינו לחזור על צעדים 1-3.
5. הפניות מסוג 301
יש להוסיף בקובץ ה – htaccess הפניה מסוג 301 מהגרסה הלא מאובטחת אל הגרסה המאובטחת של כל עמוד.
דבר זה מבטיח שכל קישור חיצוני אל האתר לא יפגע באבטחה של האתר וגם גוגל יעדכן את האינדקס שלו בהתאם.
בסופו של דבר צריכים להגיע למצב שכל כתובות האתר יבצעו הפניה לגרסה המאובטחת של האתר (https), כך שגם אם ננסה לגשת לעמוד מסוים ללא הקידומת https, נופנה אליה באופן אוטומטי – הדבר דומה להפניה קבועה לגרסת האתר www או בלי.
ניתן להוסיף את הקוד הבא בקובץ ה – htaccess אשר ממוקם בתקיית הבית של אתרכם (public_html):
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.co.il/$1 [R,L]
שימו לב כי אתם מחליפים את www.example.co.il בכתובת האתר האמיתית שלכם.
לקוחות uPress: כל שעליכם לעשות הוא להפעיל את האפשרות של הפניית כל התעבורה מhttp אל https > תחת לשונית אבטחה.
6. תגי canonical
באותו אופן יש לשלב תג rel=canonical המצביע על כתובת העמוד האבסולוטית עם https באמצעות קישור מלא (https://www…).
משמעות תג זה הוא למנוע קונפליקט במנועי החיפוש אשר נתקלים בשתי גרסאות, ולומר למנוע החיפוש כי הגרסה המכריעה והשימושית היא גרסת ה-https.
7. סריקה מאופשרת
יש לוודא שכל העמודים בתקן https ניתנים לסריקה ולא חסומים על ידי תג noindex או באמצעות הקובץ robots.txt
בכדי לוודא זאת – ניתן להשתמש בכלי "אחזר כמו Google" אשר ממוקם ב- Google Search Console.
8.שליחת בקשה לעדכון של מפת אתר (sitemap)
יש לעדכן ב – Google Search Console את מפת האתר (sitemap) לכזו שכוללת את קישורי ה – https על מנת ש Google יסרוק את הגרסאות המעודכנות ביתר קלות ובמהירות.
מספר דברים נוספים שחשוב לשים לב אליהם :
1. דפדפנים מסוימים מתייחסים באופן אוטומטי לתכנים בלתי מאובטחים בדפים עם סימון מאובטח כאילו היו מאובטחים (upgrade-insecure-requests), בעוד דפדפנים אחרים כמו למשל Safari אינם תומכים בכך. לכן, עשויות להתקבל תוצאות שונות בדפדפנים שונים.
2. אסור לשכוח שיש לעדכן הן את גרסאות ה – Desktop והן את גרסאות ה – Mobile של האתר (במידה ויש).
3. אם מדובר באתר גדול מאוד בעל ערוצים שונים (ynet הוא דוגמה טובה לכך), רצוי לבצע את המעבר באופן הדרגתי קטגוריה אחר קטגוריה על מנת לראות שהכול עובד כראוי לפני שממשיכים הלאה.
4. שרתים מסוימים תומכים בתכונה בשם HTTP Strict Transport Security, תכונה זו דואגת לכך שהמידע העובר מן האתר אל הגולש ובחזרה תמיד יהיה מאובטח ללא קשר למה שהגולש מקליד בשורת הכתובת, וגם Google יתייחס אליו כאתר מאובטח.
5. כל תעודת SSL צריכה להיות בתוקף ומקושרת לכתובת המלאה של האתר. כלומר, אם האתר כולל WWW, התעודת אבטחה צריכה לכלול WWW בשם הדומיין ואם הוא לא כולל WWW, גם התעודה צריכה להצביע על הגרסה נטולת ה – WWW.
לסיכום
מעבר לשימוש בפרוטוקול מאובטח (https) הוא ככל הנראה צעד מתבקש שעם הזמן יגיע לכלל האתרים באינטרנט,
יחד עם זאת, המעבר לשימוש ב https דורש לבצע מספר התאמות ושינויים בכדי "להישאר בחיים", אני מקווה שהצלחתי להעביר במאמר זה את השלבים שיש לבצע ואת החשיבות של כל אחד מהשלבים.
אם אתם חושבים שפספסתי משהו – אשמח לשמוע על כך בתגובות בתחתית המאמר.
דניאל היקר וצוות UPRESS היקרים. תודה על מדריך מעשי ומפורט היטב
המשיכו בעבודת קודש SEO 🙂
מאמר מעולה ! תודה רבה והמשיכו בעבודתכם המעולה!