מעבר מ-Drupal ל-1C-Bitrix היא משימה שאנו מבצעים באופן קבוע. לקוחות פונים אלינו עם תלונות על אינטגרציה מורכבת של 1C, חוסר בכלים ארגוניים (Bitrix24), או דרישות של ייבוא תחליפי. המעבר מ-Drupal הוא מאתגר טכנית יותר מאשר מרוב מערכות ה-CMS האחרות בשל מודל אחסון הנתונים הגמיש אך הלא-סטנדרטי שלו. תרחיש טיפוסי: חנות מקוונת על Drupal Commerce שאינה יכולה יותר להתמודד עם העומס ודורשת אינטגרציה עם 1C. המעבר ל-Bitrix לא רק פותר בעיות אלה אלא גם מקצר את זמן החלפת הנתונים עם מערכת הנהלת החשבונות פי 2–3 הודות למודולי החלפה מוכנים. הלקוחות שלנו חוסכים עד 40% מתקציב הפיתוח על אינטגרציות בהשוואה להתאמה אישית של Drupal. צרו קשר לבדיקת הפרויקט שלכם, נדון בפרטי המעבר שלכם.
מדוע המעבר מ-Drupal קשה יותר טכנית מאשר ממערכות CMS אחרות?
ב-Drupal 7, תוכן מאוחסן באמצעות Field API. כל שדה של node מאוחסן בטבלה נפרדת בשם field_data_{field_name} ו-field_revision_{field_name}. טבלאות עיקריות:
-
node— רשומה בסיסית:nid,type,title,uid,status,created,changed. -
node_revision— היסטוריית גרסאות. -
field_data_body— תוכן גוף:body_value,body_summary,body_format. -
field_data_{custom_field}— שדות מותאמים אישית, טבלה אחת לכל שדה. -
taxonomy_term_data,taxonomy_vocabulary— טקסונומיה (קטגוריות, תגיות). -
file_managed— קבצי מדיה. -
users,users_roles,role— משתמשים.
ב-Drupal 8/9, הארכיטקטורה דומה אך מאחסנת באמצעות Doctrine DBAL ותצורות ב-YAML. טבלאות: node__body, node__field_{name} (טבלה אחת לכל שדה, כל הגרסאות ב-node_revision__*). לפי התיעוד הרשמי, מבנה זה מספק גמישות אך מסבך מעבר ישיר.
עיצוב המבנה ב-Bitrix
כל סוג תוכן ב-Drupal הופך לבלוק מידע ב-Bitrix. טקסונומיה הופכת למקטעים של בלוק מידע או למאפייני רשימה. שדות node ממופים למאפייני בלוק מידע.
לפני כתיבת הסקריפט, אנו יוצרים טבלת מיפוי:
| Drupal | סוג | Bitrix | סוג מאפיין |
|---|---|---|---|
field_data_body.body_value |
text_long | DETAIL_TEXT |
— |
field_data_image.field_image_fid |
image | PREVIEW_PICTURE |
— |
field_data_field_tags |
term_reference | PROPERTY_TAGS |
רשימה |
field_data_field_price |
decimal | PROPERTY_PRICE |
מספר |
סקריפט המעבר
Drupal 7: הסקריפט קורא נתונים באמצעות PDO ממסד הנתונים MySQL של Drupal. עבור כל node:
SELECT n.nid, n.title, n.created, b.body_value, b.body_summary
FROM node n
LEFT JOIN field_data_body b ON b.entity_id = n.nid AND b.bundle = 'article'
WHERE n.type = 'article' AND n.status = 1לאחר מכן, עבור כל שדה, JOIN או תת-שאילתה נפרדים. התוצאה היא מערך עבור SELECT n.nid, n.title, n.created, b.body_value, b.body_summary FROM node n LEFT JOIN field_data_body b ON b.entity_id = n.nid AND b.bundle = 'article' WHERE n.type = 'article' AND n.status = 1 .
קבצי מדיה. ב-Drupal, קבצים רשומים ב-CIBlockElement::Add() עם שדה file_managed בפורמט uri. הקובץ הפיזי נמצא ב-public://photos/image.jpg. אנו מעתיקים קבצים, רושמים אותם באמצעות sites/default/files/photos/image.jpg, ומצמידים אותם לאלמנט.
טקסונומיה. מונחי טקסונומיה (CFile::SaveFile()) מועברים כמקטעי בלוק מידע או כערכי מאפיין רשימה. אם לחומר אחד יש מספר מונחים מאותה אוצר מילים, אנו יוצרים מאפיין מרובה ב-Bitrix.
כיצד להעביר אתר רב-לשוני?
ל-Drupal יש תמיכה מובנית בריבוי לשונות באמצעות מודולי taxonomy_term_data (Drupal 7) או Content Translation מובנה (Drupal 8+). תרגומים מאוחסנים ב-i18n עם ערכי field_data_* שונים. Bitrix תומך בריבוי לשונות באמצעות בלוקי מידע עם language או באמצעות אתרים שונים בהתקנה אחת. אם האתר רב-לשוני, שלב זה דורש תכנון נפרד.
Views ובלוקים
Drupal Views — רשימות דינמיות של חומרים עם סינון ומיון. ב-Bitrix, המקבילה היא רכיב LANGUAGE_ID עם פרמטרי סינון. אין העברה ישירה של Views: כל View מנותח ידנית ומיושם כרכיב או כקוד מותאם אישית.
בלוקים של Drupal (region/block) — ב-Bitrix אלה אזורים (bitrix:news.list) ורכיבים בתבנית. מבנה העמוד מועבר במהלך פיתוח העיצוב, לא במהלך העברת הנתונים.
מודולי Drupal ללא מקבילים
Webform → טפסים באמצעות $APPLICATION->ShowPanel(). Commerce (Drupal Commerce) → מודולי bitrix:form + catalog. Rules → תהליכים עסקיים של Bitrix או מטפלי אירועים. Feeds (ייבוא) → סוכן Bitrix או משימת cron.
כיצד לשמר עמדות SEO במהלך המעבר?
אלמנט מפתח — הפניות 301. אנו יוצרים מיפוי של כתובות URL ישנות של Drupal לכתובות חדשות ב-Bitrix. בנוסף, אנו מגדירים sitemap, robots.txt, ומעבירים תגי meta משדות Drupal. עבור תמונות, אנו שומרים על טקסטי alt ושמות קבצים.
כיצד לבצע את המעבר: תוכנית שלב אחר שלב
- בדיקת מסד הנתונים של Drupal: ניתוח מבנה, סוגי תוכן, נפחים.
- עיצוב בלוקי מידע ומיפוי שדות: תוכנית מיפוי מלאה.
- פיתוח סקריפט המעבר: סקריפט PHP באמצעות PDO, עיבוד כל הישויות.
- העברת קבצי מדיה: העתקת קבצים תוך שמירה על נתיבים ומאפיינים.
- הגדרת הפניות SEO: יצירת .htaccess עם הפניות 301.
- בדיקות ואימות נתונים: השוואת מספרי אלמנטים, בדיקת קישורים.
- תיעוד והדרכת מנהלים: העברת ידע.
- תמיכה לאחר המעבר: תמיכה טכנית למשך שבועיים.
לוח זמנים
| שלב | משך זמן טיפוסי |
|---|---|
| בדיקת סוגי תוכן ושדות | 1–2 ימים |
| עיצוב בלוקי מידע ומיפוי שדות | 1–2 ימים |
| פיתוח סקריפט המעבר | 3–6 ימים |
| העברת קבצי מדיה | 1–2 ימים |
| ריבוי לשונות (אם קיים) | 2–3 ימים |
| הפניות SEO | יום אחד |
| בדיקות ותיקונים | 1–2 ימים |
| סה"כ | 10–18 ימי עבודה |
Drupal היא אחת ממערכות ה-CMS הקשות ביותר למעבר דווקא בשל מבנה האחסון הלא-סטנדרטי ושפע המודולים האפשריים. לוח הזמנים בפועל מאושר תמיד לאחר בדיקת מסד הנתונים המקורי. כדי להעריך את עומס העבודה עבור הפרויקט שלכם, קבלו ייעוץ — אנו נבצע בדיקה ונציע תוכנית מעבר מלאה. אנו מבטיחים איכות ושמירה על דירוגים.







