כיצד להגדיר דפי Yandex.Turbo עבור חנות מקוונת 1C-Bitrix

כאשר לקוחות פותחים כרטיס מוצר דרך Yandex.Turbo ורואים ריק במקום מחיר וכפתור רכישה, זה אובדן מכירות ישיר. אנו מגדירים דפי Turbo עבור חנויות על 1C-Bitrix כך שהקטלוג יוצג כראוי בחיפוש וימשוך לקוחות. הצוות שלנו מספק פרויקטים סוהר—מיצירת עדכון RSS ועד תמיכה מתמשכת—ובכך מבטיח פעילות יציבה והמרות גבוהות יותר.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
כיצד להגדיר דפי Yandex.Turbo עבור חנות מקוונת 1C-Bitrix
פשוט
~1 יום

הכישורים שלנו:

שאלות נפוצות

כאשר לקוח פותח כרטיס מוצר דרך דף Turbo ורואה בלוק ריק במקום מחיר – זה הורג המרות

לפי הנתונים שלנו, עד 40% מהמשתמשים עוזבים את הדף אם הם לא רואים את המחיר. בפרויקטים עם קטלוגים של 10,000+ פריטים, נתקלנו במצב הזה פעמים רבות. הסיבה כמעט תמיד זהה: עדכון ה-RSS נוצר ללא התחשבות בדרישות סימון ה-Turbo של Yandex. בואו נפרק כיצד להגדיר פלט נכון של דפי Turbo עבור קטלוג מוצרים ב-Bitrix.

בעיות שאנחנו פותרים

תמונות לא מוצגות: Yandex דורש כתובות URL מוחלטות (עם https://) בתוך <img src>. אם תמונת בלוק המידע נשמרת עם נתיב יחסי, לדף ה-Turbo לא תהיה תמונה. בפרויקט אחד, זה הפחית את שיעור הקליקים ב-30%.

אין כפתור קנייה: לכפתור, אתה צריך <a data-block="button" href="...">. בלעדיו, המוצר הופך ללא אינטראקטיבי.

שגיאות ניתוח: בעיות נפוצות כוללות קינון HTML שגוי בתוך CDATA או היעדר תכונות data-block חובה. Yandex מציג את הדף ללא עיצוב או מסרב לאינדוקס אותו.

למה Yandex מסרב לאינדוקס RSS

הסיבה העיקרית היא אי-עמידה בפורמט. Yandex דורש RSS 2.0 עם תוסף turbo:. כפי שנאמר בתיעוד הרשמי של Yandex.Webmaster, קבוצת השדות המינימלית לכרטיס מוצר:

<item turbo="true">
  <link>https://example.com/catalog/product/</link>
  <turbo:content><![CDATA[
    <header>
      <h1>Название товара</h1>
      <menu>
        <item url="/catalog/">Каталог</item>
        <item url="/catalog/section/">Раздел</item>
      </menu>
    </header>
    <figure>
      <img src="https://example.com/upload/iblock/xxx/photo.jpg" alt="Турбо-страница товара">
    </figure>
    <p>Описание товара</p>
    <div data-block="price">
      <span data-value="price">5990</span>
      <span data-value="currency">RUB</span>
      <a data-block="button" href="/cart/?add=ID">Купить</a>
    </div>
  ]]></turbo:content>
</item>

בלוק turbo: הוא חובה – זה הניווט של דף ה-Turbo. ה-<item turbo="true"> <link>https://example.com/catalog/product/</link> <turbo:content><![CDATA[ <header> <h1>Название товара</h1> <menu> <item url="/catalog/">Каталог</item> <item url="/catalog/section/">Раздел</item> </menu> </header> <figure> <img src="https://example.com/upload/iblock/xxx/photo.jpg" alt="Турбо-страница товара"> </figure> <p>Описание товара</p> <div data-block="price"> <span data-value="price">5990</span> <span data-value="currency">RUB</span> <a data-block="button" href="/cart/?add=ID">Купить</a> </div> ]]></turbo:content> </item> עם תמונה נשכח לעתים קרובות, ו-Yandex לא מציג את התמונה. המהנדסים שלנו בודקים כל תג דרך המאמת של Yandex לפני ההשקה.

איך אנחנו מגדירים יצירת RSS

אנחנו יוצרים סקריפט PHP ייעודי (לדוגמה, <menu>) שבוחר פריטי קטלוג מסחר פעילים ויוצר עדכון XML. קוד המקור משתמש ברכיבי Bitrix עם <figure> ו-/turbo-feed.xml. עבור קטלוג של 200 פריטים, ללא מטמון, כל בקשה יוצרת 200 שאילתות SQL; עם מטמון של שעה, נדרשת רק שאילתה אחת.

// /turbo-feed.xml
define('NO_KEEP_STATISTIC', true);
define('NOT_CHECK_PERMISSIONS', false);
header('Content-Type: application/rss+xml; charset=utf-8');
$res = \CIBlockElement::GetList(
    ['TIMESTAMP_X' => 'DESC'],
    ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'ACTIVE' => 'Y'],
    false,
    ['nTopCount' => 200],
    ['ID', 'NAME', 'DETAIL_PAGE_URL', 'DETAIL_TEXT', 'DETAIL_PICTURE', 'PREVIEW_TEXT', 'TIMESTAMP_X', 'IBLOCK_SECTION_ID']
);
echo '<?xml version="1.0" encoding="utf-8"?>';
echo '<rss xmlns:yandex="http://news.yandex.ru" xmlns:turbo="http://turbo.yandex.ru" version="2.0">';
echo '<channel>';
echo '<title>Каталог товаров</title>';
echo '<link>' . SITE_SERVER_NAME . '</link>';
while ($el = $res->GetNextElement()) {
    $fields = $el->GetFields();
    $price = \CCatalogProduct::GetOptimalPrice($fields['ID']);
    $imgSrc = '';
    if ($fields['DETAIL_PICTURE']) {
        $img = \CFile::GetFileArray($fields['DETAIL_PICTURE']);
        $imgSrc = 'https://' . SITE_SERVER_NAME . $img['SRC'];
    }
    // ... формирование item
}

תמונות: כתובות URL מוחלטות חובה

Yandex לא מקבל נתיבים יחסיים. פונקציית עזר:

function absoluteImageUrl(string $src): string {
    if (strpos($src, 'http') === 0) {
        return $src;
    }
    return 'https://' . SITE_SERVER_NAME . $src;
}

החל אותה על כל CIBlockElement::GetList(), CCatalogProduct::GetOptimalPrice(), ותמונות מתיאור מפורט.

איך להאיץ עדכוני דפי Turbo

השתמש במטמון RSS מתויג. ללא מטמון, כל בקשה מייצרת מחדש את העדכון, מה שגורם ל-200 שאילתות SQL עבור 200 פריטים. מטמון של שעה מפחית את העומס פי 3600. יישם סוכן לניקוי המטמון בעדכון מוצר דרך אירועי // /turbo-feed.xml define('NO_KEEP_STATISTIC', true); define('NOT_CHECK_PERMISSIONS', false); header('Content-Type: application/rss+xml; charset=utf-8'); $res = \CIBlockElement::GetList( ['TIMESTAMP_X' => 'DESC'], ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'ACTIVE' => 'Y'], false, ['nTopCount' => 200], ['ID', 'NAME', 'DETAIL_PAGE_URL', 'DETAIL_TEXT', 'DETAIL_PICTURE', 'PREVIEW_TEXT', 'TIMESTAMP_X', 'IBLOCK_SECTION_ID'] ); echo '<?xml version="1.0" encoding="utf-8"?>'; echo '<rss xmlns:yandex="http://news.yandex.ru" xmlns:turbo="http://turbo.yandex.ru" version="2.0">'; echo '<channel>'; echo '<title>Каталог товаров</title>'; echo '<link>' . SITE_SERVER_NAME . '</link>'; while ($el = $res->GetNextElement()) { $fields = $el->GetFields(); $price = \CCatalogProduct::GetOptimalPrice($fields['ID']); $imgSrc = ''; if ($fields['DETAIL_PICTURE']) { $img = \CFile::GetFileArray($fields['DETAIL_PICTURE']); $imgSrc = 'https://' . SITE_SERVER_NAME . $img['SRC']; } // ... формирование item } . הפרויקטים שלנו מראים שגישה זו משתלמת בקטלוגים מ-500 פריטים.

$cache = \Bitrix\Main\Data\Cache::createInstance();
if ($cache->startDataCache(3600, 'turbo_feed', '/turbo')) {
    // генерация RSS
    $xmlContent = generateFeed();
    $cache->endDataCache(['xml' => $xmlContent]);
} else {
    $xmlContent = $cache->getVars()['xml'];
}
echo $xmlContent;
מידע נוסף על יצירת פריטיםעבור כל מוצר, נוצר בלוק פריט עם אלמנטים חובה. חשוב להגדיר מטבע וסוג מחיר נכון. אנו משתמשים ב-`CCatalogProduct::GetOptimalPrice` למחיר עדכני עם הנחות. אם לא מוגדר סוג מחיר, מחיר הבסיס נלקח כברירת מחדל.

השוואה: דפי Turbo מול גרסה ניידת רגילה

פרמטר דף Turbo גרסה ניידת רגילה
מהירות טעינה < 1 שנייה 2-5 שניות
עומס שרת מינימלי (מטמון + שרתי Yandex) בינוני (תלוי באחסון)
סימון קבוצת תגים מוגבלת HTML+CSS מלא
אינדוקס תוצאות חיפוש נפרדות של Yandex חיפוש סטנדרטי
קלות יישום RSS + Webmaster תבנית רספונסיבית

דפי Turbo מהירים פי 2–5 ומשיגים עד פי 3 יותר המרות מאשר דפים ניידים רגילים. עבור חנות מסחר אלקטרוני עם תנועה ניידת כבדה, זה חובה.

שגיאות נפוצות ופתרונות

שגיאה סיבה פתרון
אין תמונה כתובת URL יחסית ב-function absoluteImageUrl(string $src): string { if (strpos($src, 'http') === 0) return $src; return 'https://' . SITE_SERVER_NAME . $src; } המר למוחלט עם פונקציית עזר
אין כפתור קנייה חסר DETAIL_PICTURE הוסף אלמנט עם תכונה
שגיאת אימות קינון CDATA שגוי בדוק דרך תיעוד Yandex.Turbo

תהליך ואחריות

התהליך שלנו כולל: ביקורת קטלוג Turbo – בדיקת מבנה בלוק מידע, סוגי מחירים, תמונות, תכונות alt; עיצוב מחולל RSS – בחירת שדות, פורמט, מטמון; פיתוח – כתיבת רכיב, טיפול בתמונות, מחירים, כפתורים; בדיקות – אימות דרך Yandex.Webmaster, בדיקת כל סוגי המוצרים; השקה וניטור – הוספת RSS, סקירת אנליטיקת דפי Turbo ב-Webmaster. אנחנו מפתחים על Bitrix מעל 7 שנים, ביצענו 50+ פרויקטים עם דפי Turbo. אנו מבטיחים פעולה תקינה של עדכון RSS ומעבר אימות Yandex במהלך תקופת האחריות. ההתקנה משתלמת דרך הפחתת עומס שרת ועלייה של 10-15% בהמרות. התקנה בסיסית מתחילה ב-$350 ואורכת 2 עד 5 ימים. אם נדרשות שינויים בבלוק מידע או אינטגרציה עם 1C, הזמן גדל. הזמינו התקנת דפי Turbo וקבלו עדכון RSS מוכן תוך יומיים. צרו קשר להערכת פרויקט.