С каждым годом больше и больше увеличивается доля мобильного трафика в общем количестве заходов в интернет-магазины. Очевидно, что для решения проблемы «отказов» и повышения конверсии, следует смотреть в сторону ускорения загрузки товарных страниц сайта для мобильных пользователей. Одним из возможных решений является технология 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-версии будет выше, чем на обычной версии. Но, конечно, для каждого бизнеса это индивидуально и нужно тестировать этот момент.