С каждым годом больше и больше увеличивается доля мобильного трафика в общем количестве заходов в интернет-магазины. Очевидно, что для решения проблемы «отказов» и повышения конверсии, следует смотреть в сторону ускорения загрузки товарных страниц сайта для мобильных пользователей. Одним из возможных решений является технология AMP (Ускоренных мобильных страниц) от Google. В данной статье рассматривается внедрение их для сайта на битриксе.
Ускоренные мобильные страницы для Битрикса. С чего начать?
Сразу стоит оговориться, что автор данной статьи, в целях экономии времени, использовал для интеграции AMP на сайт готовое решение, которое нашел в маркетплейсе битрикса. Но, если вы решите проделать весь путь самостоятельно, то ниже приведен примерный алгоритм действий для разработки AMP под битрикс.
Итак, с чего же, всё-таки начать?
Прежде всего, стоит понимать, что AMP для интернет-магазина на битриксе — это, в первую очередь, отдельный шаблон, который соответствует требованиям к AMP-разметки от гугл: https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/?referrer=ampproject.org
Соответственно, нужно будет разработать полноценный AMP-френдли шаблон, в т.ч. с шаблонами компонентов каталога. Помочь с решение данной задачи может валидатор AMP от Google: https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/?referrer=ampproject.org
Предположим, что шаблон разработан. Всё удачно, он проходит валидацию «на ура». Следующим шагом будет создание папки, в которой будет вызван каталог с AMP-шаблоном. Например, эту папку можно назвать «amp». Вызов каталога в этой папке будет примерно следующим (т.е., по факту, просто вызов компонента с нужным шаблоном):
<?$APPLICATION->IncludeComponent( "bitrix:catalog", "amp", Array( "ACTION_VARIABLE" => "action", "ADD_ELEMENT_CHAIN" => "N", "ADD_PICT_PROP" => "MORE_PHOTO", "ADD_PROPERTIES_TO_BASKET" => "Y", "ADD_SECTIONS_CHAIN" => "Y", "AJAX_MODE" => "N", "AJAX_OPTION_ADDITIONAL" => "", "AJAX_OPTION_HISTORY" => "N", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "N", "BASKET_URL" => "/personal/", "BIG_DATA_RCM_TYPE" => "personal", "CACHE_FILTER" => "Y", "CACHE_GROUPS" => "Y", "CACHE_TIME" => "36000000", "CACHE_TYPE" => "A", "COMMON_ADD_TO_BASKET_ACTION" => "ADD", "COMMON_SHOW_CLOSE_POPUP" => "N", "COMPATIBLE_MODE" => "Y", "CONVERT_CURRENCY" => "Y", "CURRENCY_ID" => "RUB", "DETAIL_ADD_DETAIL_TO_SLIDER" => "N", "DETAIL_ADD_TO_BASKET_ACTION" => array("BUY"), "DETAIL_ADD_TO_BASKET_ACTION_PRIMARY" => array("BUY"), "DETAIL_BACKGROUND_IMAGE" => "-", "DETAIL_BRAND_USE" => "N", "DETAIL_BROWSER_TITLE" => "-", "DETAIL_CHECK_SECTION_ID_VARIABLE" => "N", "DETAIL_DETAIL_PICTURE_MODE" => array("POPUP","MAGNIFIER"), "DETAIL_DISPLAY_NAME" => "Y", "DETAIL_DISPLAY_PREVIEW_TEXT_MODE" => "E", "DETAIL_IMAGE_RESOLUTION" => "16by9", "DETAIL_MAIN_BLOCK_PROPERTY_CODE" => array(), "DETAIL_META_DESCRIPTION" => "-", "DETAIL_META_KEYWORDS" => "-", "DETAIL_PROPERTY_CODE" => array("",""), "DETAIL_SET_CANONICAL_URL" => "N", "DETAIL_SET_VIEWED_IN_COMPONENT" => "N", "DETAIL_SHOW_POPULAR" => "Y", "DETAIL_SHOW_SLIDER" => "N", "DETAIL_SHOW_VIEWED" => "Y", "DETAIL_STRICT_SECTION_CHECK" => "Y", "DETAIL_USE_COMMENTS" => "N", "DETAIL_USE_VOTE_RATING" => "N", "DISABLE_INIT_JS_IN_COMPONENT" => "Y", "DISPLAY_BOTTOM_PAGER" => "Y", "DISPLAY_TOP_PAGER" => "Y", "ELEMENT_SORT_FIELD" => "sort", "ELEMENT_SORT_FIELD2" => "id", "ELEMENT_SORT_ORDER" => "asc", "ELEMENT_SORT_ORDER2" => "desc", "FILTER_FIELD_CODE" => array("",""), "FILTER_HIDE_ON_MOBILE" => "N", "FILTER_NAME" => "", "FILTER_PRICE_CODE" => array("BASE"), "FILTER_PROPERTY_CODE" => array(), "FILTER_VIEW_MODE" => "VERTICAL", "GIFTS_DETAIL_BLOCK_TITLE" => "Выберите один из подарков", "GIFTS_DETAIL_HIDE_BLOCK_TITLE" => "N", "GIFTS_DETAIL_PAGE_ELEMENT_COUNT" => "4", "GIFTS_DETAIL_TEXT_LABEL_GIFT" => "Подарок", "GIFTS_MAIN_PRODUCT_DETAIL_BLOCK_TITLE" => "Выберите один из товаров, чтобы получить подарок", "GIFTS_MAIN_PRODUCT_DETAIL_HIDE_BLOCK_TITLE" => "N", "GIFTS_MAIN_PRODUCT_DETAIL_PAGE_ELEMENT_COUNT" => "4", "GIFTS_MESS_BTN_BUY" => "Выбрать", "GIFTS_SECTION_LIST_BLOCK_TITLE" => "Подарки к товарам этого раздела", "GIFTS_SECTION_LIST_HIDE_BLOCK_TITLE" => "N", "GIFTS_SECTION_LIST_PAGE_ELEMENT_COUNT" => "4", "GIFTS_SECTION_LIST_TEXT_LABEL_GIFT" => "Подарок", "GIFTS_SHOW_DISCOUNT_PERCENT" => "Y", "GIFTS_SHOW_IMAGE" => "Y", "GIFTS_SHOW_NAME" => "Y", "GIFTS_SHOW_OLD_PRICE" => "Y", "HIDE_NOT_AVAILABLE" => "N", "HIDE_NOT_AVAILABLE_OFFERS" => "N", "IBLOCK_ID" => "228", "IBLOCK_TYPE" => "catalog", "INCLUDE_SUBSECTIONS" => "Y", "INSTANT_RELOAD" => "N", "LABEL_PROP" => array(), "LAZY_LOAD" => "N", "LINE_ELEMENT_COUNT" => "3", "LINK_ELEMENTS_URL" => "link.php?PARENT_ELEMENT_ID=#ELEMENT_ID#", "LINK_IBLOCK_ID" => "", "LINK_IBLOCK_TYPE" => "", "LINK_PROPERTY_SID" => "", "LIST_BROWSER_TITLE" => "-", "LIST_ENLARGE_PRODUCT" => "STRICT", "LIST_META_DESCRIPTION" => "-", "LIST_META_KEYWORDS" => "-", "LIST_PRODUCT_BLOCKS_ORDER" => "", "LIST_PRODUCT_ROW_VARIANTS" => "[{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false}]", "LIST_PROPERTY_CODE" => array("",""), "LIST_PROPERTY_CODE_MOBILE" => array(), "LIST_SHOW_SLIDER" => "N", "LIST_SLIDER_INTERVAL" => "3000", "LIST_SLIDER_PROGRESS" => "N", "LOAD_ON_SCROLL" => "N", "MESSAGE_404" => "", "MESS_BTN_ADD_TO_BASKET" => "В корзину", "MESS_BTN_BUY" => "Купить", "MESS_BTN_COMPARE" => "Сравнение", "MESS_BTN_DETAIL" => "Подробнее", "MESS_BTN_SUBSCRIBE" => "Подписаться", "MESS_COMMENTS_TAB" => "Комментарии", "MESS_DESCRIPTION_TAB" => "Описание", "MESS_NOT_AVAILABLE" => "Нет в наличии", "MESS_PRICE_RANGES_TITLE" => "Цены", "MESS_PROPERTIES_TAB" => "Характеристики", "PAGER_BASE_LINK_ENABLE" => "N", "PAGER_DESC_NUMBERING" => "N", "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000", "PAGER_SHOW_ALL" => "N", "PAGER_SHOW_ALWAYS" => "N", "PAGER_TEMPLATE" => "pager", "PAGER_TITLE" => "Товары", "PAGE_ELEMENT_COUNT" => "30", "PARTIAL_PRODUCT_PROPERTIES" => "N", "PRICE_CODE" => array("BASE"), "PRICE_VAT_INCLUDE" => "Y", "PRICE_VAT_SHOW_VALUE" => "N", "PRODUCT_ID_VARIABLE" => "id", "PRODUCT_PROPERTIES" => array(), "PRODUCT_PROPS_VARIABLE" => "prop", "PRODUCT_QUANTITY_VARIABLE" => "quantity", "PRODUCT_SUBSCRIPTION" => "Y", "SEARCH_CHECK_DATES" => "Y", "SEARCH_NO_WORD_LOGIC" => "Y", "SEARCH_PAGE_RESULT_COUNT" => "50", "SEARCH_RESTART" => "N", "SEARCH_USE_LANGUAGE_GUESS" => "Y", "SECTIONS_SHOW_PARENT_NAME" => "Y", "SECTIONS_VIEW_MODE" => "LIST", "SECTION_ADD_TO_BASKET_ACTION" => "ADD", "SECTION_BACKGROUND_IMAGE" => "-", "SECTION_COUNT_ELEMENTS" => "N", "SECTION_ID_VARIABLE" => "SECTION_ID", "SECTION_TOP_DEPTH" => "2", "SEF_FOLDER" => "/amp/", "SEF_MODE" => "Y", "SEF_URL_TEMPLATES" => Array("compare"=>"","element"=>"catalog/#ELEMENT_ID#/","section"=>"sections/#SECTION_ID#/","sections"=>"sections/","smart_filter"=>"sections/#SECTION_ID#/filter/#SMART_FILTER_PATH#/"), "SET_LAST_MODIFIED" => "N", "SET_STATUS_404" => "Y", "SET_TITLE" => "Y", "SHOW_404" => "N", "SHOW_DEACTIVATED" => "N", "SHOW_DISCOUNT_PERCENT" => "N", "SHOW_MAX_QUANTITY" => "N", "SHOW_OLD_PRICE" => "N", "SHOW_PRICE_COUNT" => "1", "SHOW_TOP_ELEMENTS" => "N", "SIDEBAR_DETAIL_SHOW" => "N", "SIDEBAR_PATH" => "", "SIDEBAR_SECTION_SHOW" => "N", "TEMPLATE_THEME" => "blue", "TOP_ADD_TO_BASKET_ACTION" => "ADD", "TOP_ELEMENT_COUNT" => "9", "TOP_ELEMENT_SORT_FIELD" => "sort", "TOP_ELEMENT_SORT_FIELD2" => "id", "TOP_ELEMENT_SORT_ORDER" => "asc", "TOP_ELEMENT_SORT_ORDER2" => "desc", "TOP_ENLARGE_PRODUCT" => "STRICT", "TOP_LINE_ELEMENT_COUNT" => "3", "TOP_PRODUCT_BLOCKS_ORDER" => "", "TOP_PRODUCT_ROW_VARIANTS" => "[{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false},{'VARIANT':'2','BIG_DATA':false}]", "TOP_PROPERTY_CODE" => array("",""), "TOP_PROPERTY_CODE_MOBILE" => array(), "TOP_SHOW_SLIDER" => "Y", "TOP_SLIDER_INTERVAL" => "3000", "TOP_SLIDER_PROGRESS" => "N", "TOP_VIEW_MODE" => "SECTION", "USE_BIG_DATA" => "N", "USE_COMMON_SETTINGS_BASKET_POPUP" => "N", "USE_COMPARE" => "N", "USE_ELEMENT_COUNTER" => "Y", "USE_ENHANCED_ECOMMERCE" => "N", "USE_FILTER" => "Y", "USE_GIFTS_DETAIL" => "N", "USE_GIFTS_MAIN_PR_SECTION_LIST" => "N", "USE_GIFTS_SECTION" => "N", "USE_MAIN_ELEMENT_SECTION" => "Y", "USE_PRICE_COUNT" => "N", "USE_PRODUCT_QUANTITY" => "N", "USE_REVIEW" => "N", "USE_SALE_BESTSELLERS" => "Y", "USE_STORE" => "N", "DISPLAY_CODES" => "", "SECTIONS_CANONICAL" => "/catalog/" ) );?>
Далее, нам нужно будет закрыть папку AMP от ботов Яндекса. Например, так:
User-Agent: Yandex Disallow: /amp/ User-Agent: YandexBot Disallow: /amp/ User-Agent: YandexMedia Disallow: /amp/ User-Agent: YandexImages Disallow: /amp/ User-Agent: YandexBlogs Disallow: /amp/ User-Agent: YandexNews Disallow: /amp/ User-Agent: YandexMetrika Disallow: /amp/ User-Agent: YandexMarket Disallow: /amp/
После этого нужно отправить папку /amp/ на индексацию гуглом (Удобнее всего сделать это через search console).
В целом, на этом всё. Через какое-то время AMP-страницы начнут появляться поиске (Гугл сам будет выдавать их пользователю вместо обычных страниц). Однако, если вы хотите принудительно перенаправлять мобильных пользователей на AMP-версию страниц, то вы можете попробовать настроить следующий редирект в .htaccess:
<IfModule mod_rewrite.c> RewriteBase / RewriteCond %{REQUEST_URI} !/amp/$ [NC] RewriteCond %{HTTP_USER_AGENT} (android|blackberry|googlebot\- mobile|iemobile|iphone|ipod|\#opera\ mobile|palmos|webos) [NC] RewriteRule ^([a-zA-Z0-9-]+)([\/]*)$ https://www.yoursite.com/$1/amp/ [L,R=302] </IfModule>
Очень вероятно, что конверсия на amp-версии будет выше, чем на обычной версии. Но, конечно, для каждого бизнеса это индивидуально и нужно тестировать этот момент.