Trailing Slash: עקביות URL שמונעת duplicate content

סלאש בסוף URL חייב להיות עקבי. אחרת גוגל רואה /page/ ו-/page כשני URLs נפרדים עם תוכן זהה.

הסלאש בסוף ה-URL חייב להיות עקבי בכל האתר - או שכל הכתובות נגמרות ב-/ (כמו /page/) או שאף אחת לא (/page). חוסר עקביות יוצר duplicate content - כל URL נחשב לדף נפרד בעיני גוגל.

למה זה משנה

כשגוגל סורק /about/ ו-/about ושניהם מחזירים אותו תוכן, הוא רואה שני דפים שונים עם תוכן זהה - duplicate content. ה-link equity מתפצל בין הגרסאות, גוגל לא יודע איזה לאינדקס, וייתכן שיבחר את הגרסה הלא נכונה ויאבד backlinks.

השפעה נוספת על ביצועים: שרתי CDN ו-cache (Cloudflare, Varnish) מטפלים בכל גרסה כעמוד נפרד. כשאתה משלם על cache, אתה משלם פעמיים - פעם לכל גרסה. גם hit ratio של cache יורד כי הוא לא יכול לאחד את הבקשות.

השפעה על אנליטיקס: Google Analytics רואה את שתי הגרסאות כדפים שונים. הסטטיסטיקות מתפצלות - דף עם 100 ביקורים מופיע כשני דפים עם 50 ו-50, ואתה לא רואה את התמונה האמיתית.

השפעה על שיתופים: אם משתמש שיתף /page ב-Facebook ואחר שיתף /page/, פייסבוק מטפל בכל אחד כדף נפרד עם counter שיתופים נפרד. במקום לראות 100 שיתופים, אתה רואה 2 דפים עם 50 כל אחד.

איך לזהות

גלוש לדף בדפדפן עם trailing slash (https://example.com/page/) ובלי (https://example.com/page). אם שניהם טוענים תוכן זהה ושניהם מחזירים סטטוס 200, יש בעיה.

בדיקה משלימה: השתמש ב-curl -I https://example.com/page בטרמינל. אם מחזיר 200, גם הגרסה ללא slash זמינה ישירות. אמור להחזיר 301 לגרסה עם slash (אם בחרת ב-trailing slash).

בדיקה שלישית: ב-Google Search Console > Coverage > "Duplicate, submitted URL not selected as canonical" - אם רואים שם הרבה URLs בדואיות זוגות (עם וללא slash), יש בעיה.

בדיקה רביעית: השתמש ב-Screaming Frog SEO Spider עם הגדרת "Respect canonical" כבויה - הוא מציג כל URL שמוחזר עם 200, כולל זוגות slashed/unslashed.

איך לתקן

וורדפרס מאז גרסה 2.5 (2008) מטפל בזה אוטומטית - בחירת מבנה ב-Permalinks קובעת. אם המבנה הוא /%postname%/, יש trailing slash. אם /%postname% בלי slash, אין.

שלבי התיקון:

  1. גש להגדרות > קישורים קבועים (Settings > Permalinks).
  2. וודא שהמבנה הנבחר תואם להעדפה. ברירת המחדל של WP היא עם trailing slash - /%postname%/.
  3. שמור את ההגדרות (גם בלי שינוי). זה יוצר את כללי ה-rewrite ב-.htaccess.
  4. בדוק עם curl -I https://example.com/some-page (ללא slash) שמתקבל 301 לגרסה עם slash.

בשרתי nginx אין .htaccess - תצטרך להוסיף ל-server block כלל rewrite:

rewrite ^([^.]*[^/])$ $1/ permanent;

אם אתה תחת Cloudflare, תוכל להגדיר Page Rule שכופה trailing slash ב-edge - מהיר יותר ופחות עומס על השרת.

ודא שה-canonical URLs בכל דף תואמים למבנה. אם בחרת with-slash, canonical חייב להיות עם slash. תוסף SEO צריך לטפל בזה אוטומטית.

אחרי השינוי, הגש מחדש את ה-sitemap ב-Google Search Console - ייקח לגוגל כמה שבועות להתעדכן.

טעויות נפוצות

הטעות הראשונה: שינוי מבנה באתר קיים בלי redirects. אם המבנה היה /page והפכת ל-/page/, כל ה-backlinks הישנים מצביעים על /page. בלי 301, יחזירו 404. וורדפרס לרוב יוצר את ה-redirects אוטומטית, אבל בדוק.

הטעות השנייה: trailing slash על קבצים. /image.jpg/ אינו תקין - קבצים עם סיומת לא מקבלים slash. הכלל הוא רק לדפים, לא לקבצים.

הטעות השלישית: trailing slash על parameters. /?page_id=2/ אינו תקין. השתמש ב-slash רק לפני ה-?, לא אחריו.

הטעות הרביעית: שכחת CDN/cache. אחרי שינוי בהגדרות הליבה, נקה את הקאש של CDN (Cloudflare, KeyCDN). אחרת CDN מציג את הגרסה הישנה.

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

בדיקה לאחר תיקון

הרץ curl -I https://example.com/some-page ו-curl -I https://example.com/some-page/. אחת אמורה להחזיר 200, השנייה 301 לראשונה. ב-Search Console > Coverage, מספר URLs תחת "Duplicate" אמור לרדת תוך 4-6 שבועות. ב-Performance, ה-clicks ו-impressions של הדפים אמורים להתאחד למספרים גבוהים יותר.

טיפ: אחרי שינוי trailing slash, בדוק את כל הקישורים הפנימיים באתר. אם פוסטים ישנים מקושרים לגרסה הלא-נכונה (לדוגמה, /page כשהמבנה החדש הוא /page/), הם יעברו דרך 301 - מה שמאט את הטעינה ומדלל קצת link equity. השתמש ב-Better Search Replace לעדכן את הקישורים בDB.