חשיבות ה Trailing Slash בכתובות URL

מספר מילים על החשיבות של הקו הנטוי בסופה של כתובת URL.

כבר נתקלתי בשאלה ״מדוע בחלק מהקישורים ישנו קו נטוי (trailing slash) בסוף ה URL ובחלקם לא?״. אם התשובה של המפתח אותו אתם שואלים היא בסגנון: ״זה לא משנה שניהם עובדים״, אולי תשקלו להחליף מפתח מכיוון ותשובה זו אינה נכונה…

כשאנו מדברים על כתובות URL, כל סימן רלוונטי. שינוי מינורי, גם אם מדובר על תו אחד יכול להתפרש בצורה שונה על ידי השרת ובוודאות ככתובת אחרת מבחינת מנועי חיפוש (גוגל ליתר דיוק). כפי שגוגל מציינים במאמר To Slash or not to Slash, אלו שתי כתובות שונות ואף יכולות להכיל תוכן שונה:

Google treats each URL above separately (and equally) regardless of whether it’s a file or a directory, or it contains a trailing slash or it doesn’t contain a trailing slash.

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

 

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

אז פוסט קצר זה נכתב בהקשר של קידום אתרי וורדפרס ומבנה קישורים נכון, ובגדול מה שאני בא לומר הוא שכאשר אתם בונים קישור או יוצרים כתובת קנונית (canonical url), וודאו כי גירסת הכתובת בה אתם משתמשים תואמת לגירסת האתר אותו אתם מקדמים / מפתחים – בין אם אתם משתמשים בקו נטוי בסוף הכתובת ובין אם לא.

מדוע חשוב לשמור על קונסיסטנטיות ב URL?

התשובה היא בכדי להשאר בטוחים מכיוון ושרתים נוטים לפרש שתי כתובות אלו בצורה שונה:

  • לפעמים (ואין זה משפיע על דירוג האתר שלכם), שרתים פשוט יבצעו הפניית 301 לכתובת ברירת המחדל.
  • שרתים מסויימים יכולים להחזיר שגיאת 404 על URL ללא הקו הנטוי ומכאן מאמצים ו link juice מבוזבזים.
  • שרתים מסויימים עשויים לבצע הפניית 302 לגירסה הנכונה ומכאן מאמצים ו link juice מבוזבזים.
  • שרתים אחרים יכולים להחזיר סטטוס 200 לשתי הגירסאות ומכאן, link juice ומאמצים מבוזבזים ואף פוטנציאל לבעיות הקשורות לתוכן כפול.

אגב, בבלוג זה אם שמתם לב, אני משתמש ב trailing slash לכל הכתובות בבלוג.

אז רצוי שתוודאו כי באתר וורדפרס שלכם כל הקישורים הפנימיים,  הכתובות קנוניות (canonical url's), הקישור בלוגו ובמידת האפשר אף קישורים חיצוניים לאתר שלכם (backlinks) יהיה זהים, בין עם קו נטוי זה ובין אם לא ולו רק לטובת סטנדרטיזציה.

הצטרפו לרשימת התפוצה!

הפונקציות שוורדפרס מציעה לטיפול ב Trailing Slash

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

הפונקציות הינן הפונקציות הבאות בהתאמה:

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

מספר דוגמאות לעבודה עם Trailing Slash

בהנחה וההחלטה היא להשתמש ב trailing slash, ובמידה ואתם בונים את התבנית ומציגים את הלוגו שלכם עם קישור לעמוד הבית לדוגמא, נכון יהיה לעשות זאת בצורה הזו:

<a href="<?php echo trailingslashit( esc_url( home_url() ) ); ?>">

הוספת trailing slash לכתובת הקנונית ב Yoast SEO

אם אתם משתמשים בתוסף WordPress SEO by Yoast לדוגמא, ואתם רוצים שהכתובות הקנוניות תמיד יכילו trailing slash, השתמשו בפילטר הבא:

/**** adds trailing slash at the end of rel-canonical tag ***/
function wpseo_canonical_url_slash( $canonical_url ) {
	return trailingslashit( $canonical_url );
}
add_filter( 'wpseo_canonical', 'wpseo_canonical_url_slash' );

ביצוע הפנייה לכתובת הנכונה באמצעות htaccess

יש לוודא כי מבוצעת הפנייה נכונה לכתובת אותה הגדרתם לאתר וורדפרס שלכם. במידה ואתם רוצים לבצע הפניה לכתובת עם trailing slash מכתובת ללא, הוסיפו את הקוד הבא לקובץ .htaccess:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R] # <- for test, for prod use [L,R=301]

לפעולה ההפוכה השתמשו בקוד הבא:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R] # <- for test, for prod use [L,R=301]

לסיכום

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

אני מניח, שאם אתם כמפתחי האתר או כמשתמשים לא תהיו מבולבלים לגבי השאלה האם כתובות האתר שלכם הינה עם trailing slash או ללא, גם מנועי החיפוש אינם יתבלבלו…. כתמיד, אשמח אם תעירו / תגיבו ותתנו את חוות דעתכם על הנושא  🙂

 

רועי יוסף
רועי יוסף

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

{ 2 תגובות… הוסף אחת }
  • רבין 3 בינואר 2018, 11:37

    מעניין אותי להבין למה בחרת כן ללכת על "/" בסוף ה-URL אצלך באתר.
    דווקא לי נראה שההפך יותר הגיוני.

    • רועי יוסף 3 בינואר 2018, 12:25

      אני לא חושב שהייתה מחשבה מעמיקה מאחורי זה, הבלוג נפתח לפני כשלוש שנים ולא נתתי ערך מיוחד לאותו Trailing Slash בזמנו. מה גם שאיני מאמין שזה כזה משנה (במקרה של אתרי וורדפרס), העיקר הוא לשמור על עקביות.

      בבסיס, ההחלטה צריכה להיות שאם זה קובץ – אין להשתמש ב Trailing Slash, ואם זו ספרייה אז כן..

השאירו תגובה

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

מהרגע שגיליתי את התוסף Advanced Custom Field Pro, במקום לכתוב קוד סטטי להשתמש במספר גדול...