מיפוי URL והגדרת הפניות 301 במהלך העברת אתר
כאשר מעבירים אתר למנוע או דומיין חדש, כל כתובת URL ישנה שנותרה ללא הפניה 301 היא תנועה אבודה. שגיאת מיפוי עלולה להפיל דירוגים בין לילה. עבור חנות מסחר אלקטרוני עם 10,000 עמודים, חוסר של 5% בלבד מההפניות מפחית את התנועה האורגנית ב-15–25% בשבועות הראשונים. אנו יוצרים מפת הפניות מדויקת ומבצעים אוטומציה של ההתקנה עבור התשתית שלך—בין אם Nginx, Apache או Cloudflare. זה חוסך עד 40% מתקציב שיקום ה-SEO ומונע זמן השבתה ממושך.
אילו בעיות פותר מיפוי URL?
ללא הפניות מוגדרות כראוי, אתר מאבד עד 30% מהתנועה האורגנית בשבועות הראשונים לאחר ההעברה. משתמשים ובוטים של מנועי חיפוש נתקלים בשגיאות 404, מה שמגביר את שיעור הנטישה ומחמיר את מדדי Core Web Vitals. הון הקישורים של כתובות URL ישנות אינו מועבר לכתובות חדשות, מה שגורם לירידה בדירוגים. Google Search Console מציג אלפי שגיאות "זחילה – לא באינדקס כרגע". אפילו הפניה אחת שהוחמצה בעמוד עם תנועה גבוהה יכולה לעלות במאות מבקרים ביום.
Google Search Central ממליצה לשמור על הפניות לפחות 6 חודשים. אנו הולכים רחוק יותר: לאחר ההשקה, אנו עוקבים אחר לוגים ו-GSC למשך 2–4 שבועות נוספים כדי לתפוס חריגות מוקדם. עם ניסיון של למעלה מ-5 שנים ויותר מ-50 העברות שהושלמו, אנו מבטיחים שאף כתובת URL ישנה עם תנועה לא תישאר ללא הפניה.
כיצד אנו יוצרים את מפת ההפניות
התהליך מתחיל בסריקה מלאה של האתר הישן. אנו משתמשים ב-Screaming Frog או wget כדי לאסוף את כל כתובות ה-URL. לאחר מכן אנו ממפים אותן למבנה החדש באמצעות מספר אסטרטגיות:
- כללי טרנספורמציה של slugs: אם רק הקידומת השתנתה (לדוגמה, /2020/01/ → /articles/), אנו מיישמים ביטויים רגולריים.
- מיפוי ידני עבור עמודים שהשתנו: עבור קטגוריות, מוצרים ועמודי קשר ששמם שונה.
- יצירה אוטומטית מ-sitemap או ממסד נתונים: ייבוא כתובות URL ישנות מה-CMS.
כל ההפניות מאוחדות לטבלה אחת—מקור אמת יחיד:
| כתובת URL ישנה | כתובת URL חדשה | סטטוס | עדיפות |
|---|---|---|---|
| /blog/2020/01/old-slug | /articles/old-slug | 301 | גבוהה |
| /category/news | /blog/news | 301 | גבוהה |
| /wp-content/uploads/img.jpg | /media/img.jpg | 301 | בינונית |
| /contact-us | /contacts | 301 | גבוהה |
| /product/old-name | /shop/new-name | 301 | גבוהה |
| /old-promo-page | (ריק) | 410 | נמוכה |
סטטוס 410 (Gone) עבור עמודים שנמחקו עדיף על 404, מכיוון שהוא מאותת על הסרה קבועה.
כיצד להגדיר הפניות 301 ב-Nginx?
עבור שרתים על Nginx, אנו יוצרים קובץ תצורה באמצעות ה-directive map. זהו פתרון בעל ביצועים גבוהים—ה-directive map עובד פי 3 מהר יותר משרשרת של ifs או שימוש ב-rewrite עם ביטויים רגולריים. דוגמה ליצירה אוטומטית:
import csv, re
def generate_nginx_map(mapping_csv, output_file):
lines = ['# Auto-generated redirects', 'map $request_uri $redirect_target {', ' default "";', ' hostnames;']
with open(mapping_csv) as f:
for row in csv.DictReader(f):
old = row['old_url'].rstrip('/')
new = row['new_url']
code = row.get('status_code', '301')
if code == '410':
continue
lines.append(f' "~^{re.escape(old)}$" "{new}";')
if old != '/':
lines.append(f' "~^{re.escape(old)}/$" "{new}";')
lines.append('}')
with open(output_file, 'w') as f:
f.write('\n'.join(lines))בקובץ התצורה של Nginx, אנו כוללים את ה-map ומטפלים בהפניות:
include /etc/nginx/redirect_map.conf;
server {
listen 80;
server_name site.com www.site.com;
if ($redirect_target != "") {
return 301 $redirect_target;
}
location ~* ^/(old-promo|deleted-category) {
return 410;
}
} מדוע אימות הפניות חשוב?
לאחר פריסת התצורה, כל כתובת URL חייבת להפנות כראוי. לפי הפנית 301, כל הפניה צריכה להחזיר את הסטטוס וה-Location הנכונים. אנו משתמשים בסקריפט שעובר על מיפוי ה-CSV ובודק קודי סטטוס וכותרים.
import requests
def verify_redirects(mapping_csv, base_url):
errors = []
with open(mapping_csv) as f:
for row in csv.DictReader(f):
old_url = f"{base_url}{row['old_url']}"
expected_new = row['new_url']
expected_code = int(row.get('status_code', 301))
resp = requests.get(old_url, allow_redirects=False)
if expected_code in (301, 302):
if resp.status_code != expected_code:
errors.append(f"Expected {expected_code}, got {resp.status_code}: {old_url}")
elif not resp.headers.get('Location', '').endswith(expected_new):
errors.append(f"Wrong target: {old_url} → {resp.headers.get('Location')}, expected {expected_new}")
elif expected_code == 410 and resp.status_code != 410:
errors.append(f"Expected 410, got {resp.status_code}: {old_url}")
return errorsטעות נפוצה היא שכחת לוכסן בסוף. הסקריפט בודק אוטומטית את שתי הגרסאות (עם ובלי /), כך שאנו תופסים בעיות כאלה לפני הפריסה.
השוואת ביצועי הפניות
| שיטה | תפוקה (בקשות/שנייה) | מורכבות תחזוקה | גמישות |
|---|---|---|---|
| Nginx map directive | 15,000+ | נמוכה | בינונית |
| Apache RewriteRule | 5,000–7,000 | בינונית | גבוהה |
| Cloudflare Page Rules | 10,000+ | נמוכה | מוגבלת |
כיצד להבטיח הצלחת העברה?
אנו משתמשים בניטור נוסף של Google Search Console למשך 2–4 שבועות לאחר ההשקה. אנו עוקבים אחר עליות בשגיאות 404 ועמודים שהוחרגו מהאינדקס. אם מופיעות שגיאות 404 חדשות, אנו מוסיפים במהירות הפניות חסרות. אנו גם ממליצים לשמור על ה-sitemap הישן ולבדוק את הכיסוי המלא שלו עם הפניות.
כמה זמן לוקחת ההתקנה?
עבור אתר עם עד 1,000 כתובות URL, יצירת המיפוי, הפקת התצורה והאימות אורכים 2 עד 5 ימי עסקים. העלות מחושבת באופן אישי—בהתאם למורכבות המבנה ולצורך במיפוי ידני. ההשקעה מחזירה את עצמה תוך 2–3 חודשים באמצעות תנועה שנשמרה.
מדוע להזמין שירות זה מאיתנו?
השלמנו למעלה מ-50 העברות אתרים במערכות CMS שונות—WordPress, Laravel, Django, 1C-Bitrix. למהנדסים שלנו יש ניסיון של למעלה מ-5 שנים עם הפניות בפרויקטים בעלי עומס גבוה. אנו מספקים אחריות: אם נמצאות הפניות שהוחמצו לאחר הפריסה, אנו מתקנים אותן ללא עלות תוך חודש.
צור קשר להערכת היקף חינמית. קבל ייעוץ להעברה, ואנו נכין מיפוי ראשוני לפרויקט שלך.







