העברה מ-Joomla ל-1C-Bitrix: מדריך שלב-אחר-שלב ולוחות זמנים
Joomla היא מערכת ניהול תוכן (CMS) רב-תכליתית עם מבנה הרחבות גמיש. רוב האתרים עליה הם פורטלים ארגוניים, אתרי חדשות או קטלוגים ללא מסחר מלא. כאשר עסק גדל וזקוק לחנות מקוונת אמיתית עם אינטגרציה ל-1C, CRM ו-ERP, הם מתחילים לחפש לכיוון Bitrix. משימת ההעברה אינה טריוויאלית: ל-Joomla אין מודל נתונים אחיד—הכל תלוי בהרחבות המותקנות. אנו מטפלים במחזור ההעברה המלא: מבדיקת היתכנות (audit) ועד לבדיקות סופיות. אנו משחזרים מבנה, SEO ופונקציונליות במפתח מלא.
מדוע העברה מ-Joomla ל-Bitrix היא מורכבת
האתגר המרכזי הוא סכמת הנתונים הלא-מתוקננת של Joomla. מסד הנתונים כמעט תמיד מכיל הרחבות מותאמות אישית—VirtueMart, HikaShop, JEvents, Phoca Gallery. כל אחת מאחסנת נתונים בטבלאות משלה. לדוגמה, VirtueMart משתמשת ב-jos_virtuemart_products, בעוד HikaShop משתמשת ב-jos_hikashop_product. בשלב הבדיקה, אנו ממפים את ההרחבות וקובעים אילו נתונים קריטיים להעברה.
בדיקת האתר המקורי
לפני כתיבת סקריפט ההעברה, אנו עורכים מלאי של הנתונים. ב-Joomla, נתונים מאוחסנים בטבלאות עם קידומת (בדרך כלל jos_ או מותאמת אישית):
- מאמרים —
jos_content, שדות:title,alias,introtext,fulltext,catid,created,modified,metadesc,metakey,images(JSON). - קטגוריות —
jos_categories(טבלה משותפת לכל סוגי התוכן, סינון לפיextension = 'com_content'). - משתמשים —
jos_users,jos_user_profiles,jos_usergroups. - תפריט —
jos_menu,jos_menu_types. -
תגיות —
jos_tags,jos_contentitem_tag_map.
אם קיימת VirtueMart—טבלאות נפרדות jos_virtuemart_products, jos_virtuemart_product_prices, jos_virtuemart_categories. אם HikaShop—טבלאות משלה jos_hikashop_product. אנו קובעים זאת במהלך הבדיקה ובונים תוכנית העברה עבור התצורה הספציפית.
מבנה הנתונים ב-Bitrix
מאמרי חדשות ודפים סטטיים של Joomla מועברים לבלוקי מידע (b_iblock_element). עבור אתר ארגוני, אנו בדרך כלל יוצרים בלוקי מידע "חדשות", "מאמרים", "בלוג" עם המאפיינים הנדרשים. קטגוריות Joomla → סעיפי בלוק מידע (b_iblock_section).
אם Joomla הריצה VirtueMart ואתם צריכים להעביר לחנות מקוונת של Bitrix, הגישה דומה להעברה מ-OpenCart: מוצרים עוברים לבלוק מידע הקטלוג, מחירים ל-b_catalog_price.
פריטי תפריט Joomla מומרים לפריטי תפריט Bitrix באמצעות רכיב bitrix:menu—המבנה מאוחסן בקבצי .menu.php בתיקיות האתר.
כיצד להעביר תוכן ללא אובדן
עיקר הנתונים הם מאמרים. סכמת ההעברה:
- קריאה מ-
jos_contentJOINjos_categories— קבלת המאמר עם נתיב הקטגוריה. - יצירת סעיף בלוק מידע באמצעות
CIBlockSection::Add()אם עדיין לא נוצר (שמירת מיפוי שלcatid → SECTION_ID). - יצירת אלמנט בלוק מידע באמצעות
CIBlockElement::Add():NAME = title,PREVIEW_TEXT = introtext,DETAIL_TEXT = fulltext,CODE = alias,ACTIVE_FROM = created. - תגיות מטא נכתבות למאפייני האלמנט או דרך מודול
mainלטבלהb_iblock_element_property.
תמונות ב-Joomla מאוחסנות בשדה images כ-JSON: {"image_intro":"images/catalog/photo.jpg","image_fulltext":""}. יש לנתח את ה-JSON, להוריד קבצים, ולרשום אותם באמצעות CFile::SaveFile().
תוכן HTML. עורכי Joomla מרבים להכניס קודי קיצור לא-תקניים של הרחבות—{loadmodule mod_name}, {phocagallery ...} וכו'. לפני ההעברה, אנו מריצים את התוכן דרך regex, מסירים תגיות לא-מזהות או מחליפים אותן באנלוגים של Bitrix (הטמעת רכיבים בתוך טקסט באמצעות <?$APPLICATION->IncludeComponent(...)?> אינה רצויה—עדיף להסיר ולטפל בלוגיקה בנפרד).
משתמשים
jos_users מאחסנת סיסמאות ב-bcrypt—אלגוריתם תואם ל-PHP password_hash(). Bitrix יכולה לעבוד עם bcrypt אם BX_SECURITY_SESSION_CACHE_MODE מוגדר. עם זאת, הנתיב הסטנדרטי הוא יצירת משתמשים באמצעות CUser::Add() עם סיסמה זמנית ושליחת מיילים לאיפוס סיסמה. קבוצות Joomla (jos_usergroups) ממופות לקבוצות Bitrix.
SEO והפניות
Joomla בונה כתובות URL על בסיס תבניות רכיבים. עם SEF מופעל, כתובת ה-URL נראית כמו /news/category-alias/article-alias.html או /news/article-alias. ללא SEF: /index.php?option=com_content&view=article&id=42&catid=5.
אנו יוצרים טבלת מיפוי של כתובות URL ישנות וחדשות. עבור כל מאמר, כתובת ה-URL הישנה נקבעת לפי alias ונתיב הקטגוריה. כתובת ה-URL החדשה ב-Bitrix תלויה בהגדרות SEF של הרכיב. הפניות מוגדרות באמצעות UrlRewriter::add() או בקובץ התצורה של שרת האינטרנט.
תשומת לב מיוחדת מוקדשת ל-sitemap.xml ול-robots.txt. אם האתר צבר משקל SEO, איננו משנים את מבנה כתובות ה-URL ללא הפניות 301.
הרחבות ללא אנלוגים ישירים
| הרחבת Joomla | אנלוג Bitrix |
|---|---|
| JComments / K2 Comments | מודול forum או רכיב מותאם אישית |
| AcySailing (תפוצות) | מודול subscribe |
| Akeeba Subscriptions | פיתוח מותאם אישית או מודול sale |
| JEvents | בלוק מידע עם מאפיין "תאריך" |
| Phoca Gallery | רכיב bitrix:photogallery |
מה כולל שירות ההעברה
אנו מספקים חבילה מלאה:
- בדיקה מפורטת של ה-CMS הנוכחי וההרחבות.
- סכמת העברת נתונים: אילו טבלאות ממופות, אילו דורשות טיפול מותאם אישית.
- סקריפטים להעברה (פקודות PHP בקונסולה) שנבדקו על עותק של האתר.
- העברת תמונות, קבצי מדיה והצמדתם לאלמנטים.
- הגדרת הפניות SEO (301) לכל הדפים.
- העברת משתמשים עם קבוצות גישה.
- בדיקות סופיות והדרכה לצוות שלכם על עבודה עם Bitrix.
לוחות זמנים
| שלב | משך זמן אופייני |
|---|---|
| בדיקת הרחבות ומבנה נתונים | 1–2 ימים |
| עיצוב בלוקי מידע ומאפיינים | יום אחד |
| כתיבה וניפוי סקריפטים להעברה | 2–4 ימים |
| העברת תמונות וקבצי מדיה | 1–2 ימים |
| העברת משתמשים | חצי יום |
| הגדרת הפניות SEO | יום אחד |
| בדיקות סופיות | יום אחד |
| סה"כ | 7–11 ימי עבודה |
לוח הזמנים מתארך אם ל-Joomla הייתה VirtueMart עם קטלוג גדול (מעל 5000 מוצרים) או הרחבות לא-סטנדרטיות רבות עם טבלאות משלהן.
אנו מבטיחים שלמות נתונים ותהליך שקוף. אנו יכולים להעריך את הפרויקט שלכם—צרו קשר, והמהנדס שלנו יבצע בדיקה תוך יום אחד.
לפי התיעוד הרשמי של Bitrix, בלוקי מידע v2.0 תומכים בעד 16 מיליון אלמנטים—מספיק לקטלוגים גדולים. הניסיון שלנו מאשר יציבות בעומסים של עד 100,000 מוצרים עם קטלוג מסחר מופעל.

