חיפוש ]

חשיבות ה Trailing Slash בכתובות 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 / inbound links) יהיה זהים, בין עם קו נטוי זה ובין אם לא ולו רק לטובת סטנדרטיזציה.

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

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

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

  • trailingslashit() – מוסיפה קו נטוי לסוף מחרוזת.
  • untrailingslashit() – מסירה קווים נטויים מסוף מחרוזת אם קיימים.
  • user_trailingslashit() – מחזירה את הכתובת עם או ללא קו נטוי בהתאם להגדרות הקישורים הקבועים בוורדפרס.

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

מספר דוגמאות לעבודה עם 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 באופן אוטומטי כשמשתמשים בקישורים קבועים יפים (/%postname%/). הכללים הבאים שימושיים כשההתנהגות ברירת המחדל לא מכסה את ההגדרה שלכם או כשצריך לאכוף דפוס ספציפי לכתובות מותאמות אישית.

אם אתם רוצים לבצע הפנייה לכתובת עם 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]

הדוגמאות לעיל משתמשות ב-[L,R] שברירת מחדל מבצע הפניית 302 (זמנית). זה מכוון לצורכי בדיקה – ודאו שההפניות עובדות נכון קודם, ואז שנו ל-[L,R=301] עבור הפנייה קבועה. שימוש בהפניית 301 בפרודקשן מבטיח שמנועי החיפוש יעבירו את ערך הקישור (link equity) לכתובת הנכונה.

שאלות נפוצות

האם trailing slash בכתובת URL משפיע על SEO?
ה-trailing slash עצמו לא משפיע ישירות על דירוגים. עם זאת, שימוש לא עקבי עלול לגרום לבעיות תוכן כפול, אובדן ערך קישורים דרך הפניות מיותרות, או אפילו שגיאות 404 בשרתים מסוימים. המפתח הוא עקביות - בחרו פורמט אחד ושמרו עליו בכל האתר.
האם וורדפרס מוסיפה trailing slash באופן אוטומטי?
כן. כשמשתמשים בקישורים קבועים יפים (כמו /%postname%/), וורדפרס כוללת trailing slash כברירת מחדל ומפנה כתובות ללא קו נטוי לגרסה עם קו נטוי. התנהגות זו מובנית בכללי השכתוב של וורדפרס ועובדת מהקופסה ברוב ההגדרות.
האם כדאי להשתמש ב-trailing slash או לא?
עבור אתרי וורדפרס, שימוש ב-trailing slash הוא הסטנדרט והגישה המומלצת, מכיוון שוורדפרס מוסיפה אותו כברירת מחדל עם קישורים קבועים יפים. שינוי המוסכמה הזו באתר קיים ידרוש הגדרת הפניות לכל כתובת URL. עבור אתרים חדשים, ברירת המחדל של וורדפרס (עם trailing slash) היא הבחירה הבטוחה ביותר.
מה ההבדל בין example.com/page לבין example.com/page/?
מבחינה טכנית, אלו שתי כתובות URL שונות. כתובת ללא trailing slash (/page) מצביעה באופן מסורתי על קובץ, בעוד כתובת עם trailing slash (/page/) מצביעה על תיקייה. בפועל, רוב שרתי האינטרנט ומערכות ניהול התוכן מטפלים בשתיהן, אך מנועי חיפוש עשויים להתייחס אליהן כעמודים נפרדים אם אין הפנייה או תג canonical במקום.
איך מתקנים trailing slash לא עקבי באתר וורדפרס?
ראשית, בדקו את הגדרות הקישורים הקבועים תחת הגדרות > קישורים קבועים בוורדפרס. וורדפרס מטפלת בהפניות trailing slash באופן אוטומטי עבור כתובות סטנדרטיות. עבור כתובות מותאמות או מקרי קצה, הוסיפו כללי הפנייה בקובץ .htaccess. כמו כן, ודאו שתגי canonical, מפת האתר והקישורים הפנימיים כולם משתמשים באותו פורמט.

לסיכום

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

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

דיון ותגובות
2 תגובות  ]
  • רבין 3 ינואר 2018, 11:37

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

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

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

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

השאירו תגובה

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

Savvy WordPress Development official logo