1. В htaccess вставить редиректы:
# HTTPS
xa0xa0 RewriteCond %{REQUEST_FILENAME} !-f
xa0xa0 RewriteCond %{SERVER_PORT} !^443$
xa0xa0 RewriteRule ^(.*?)(index\.php|$) https://prod.ru/$1 [R=301,L]
# WWW
xa0xa0RewriteCond %{REQUEST_FILENAME} !-f
xa0xa0RewriteCond %{HTTP_HOST}xa0xa0 ^www\.xa0xa0xa0xa0xa0xa0[NC]
xa0xa0RewriteRule ^(.*?)(index\.php|$) https://prod.ru/$1 [R=301,L]
# Лишние /
xa0xa0RewriteCond %{REQUEST_FILENAME} !-f
xa0xa0RewriteCond %{THE_REQUEST} ([^\s]*)\/{2,}(\?[^\s]*)?
xa0xa0RewriteRule ^(.*?)(index\.php|$) https://prod.ru/$1 [L,R=301]
# index.php с учетом страницы сравнения и get-параметров
xa0RewriteCond %{REQUEST_FILENAME} !-f
xa0 RewriteCond %{REQUEST_FILENAME} !-l
xa0 RewriteCond %{REQUEST_FILENAME} !-d
xa0 RewriteCond %{REQUEST_URI} !(.*)/$
xa0 RewriteCond %{QUERY_STRING} ^\z
xa0 RewriteCond %{REQUEST_FILENAME} !(\/compare.php)$
xa0 RewriteRule ^(.*?)(index\.php|$) http://dev.dsm.by/$1/ [R=301,L]
|
Важный нюанс - при переносе вписать домен прод-версии.
2.1 Schema website:
<script type="application/ld+json">
{
xa0xa0"@context": "https://schema.org/",
xa0xa0"@type": "WebSite",
xa0xa0"name": "prod.ru",
xa0xa0"url": "https://prod.ru/",
xa0xa0"potentialAction": {
xa0xa0xa0xa0"@type": "SearchAction",
xa0xa0xa0xa0"target": "https://prod.ru/?q={query}{search_term_string}",
xa0xa0xa0xa0"query-input": "required name=search_term_string"
xa0xa0}
}
</script>
|
2.2 Schema organization:
<script type='application/ld+json'>
{
xa0xa0"@context": "http://www.schema.org",
xa0xa0"@type": "Organization",
xa0xa0"name": "Дискаунтер строительных материалов prod.ru",
xa0xa0"url": "https://prod.ru",
xa0xa0"address": {
xa0xa0xa0xa0"@type": "PostalAddress",
xa0xa0xa0xa0"streetAddress": "Минская область, Минский р-н, Папернянский с/с, 22",
xa0xa0xa0xa0"addressLocality": "аг. Большевик",
xa0xa0xa0xa0"addressCountry": "Беларусь"
xa0xa0},
xa0xa0"contactPoint": {
xa0xa0xa0xa0"@type": "ContactPoint",
xa0xa0xa0xa0"telephone": "+375171111111"
xa0xa0}
}
</script>
|
2.3 Schema LocalBusiness:
<script type="application/ld+json">{
xa0xa0xa0xa0"@context": "http://schema.org",
xa0xa0xa0xa0"@type": "LocalBusiness",
xa0xa0xa0xa0"name": "Дискаунтер строительных материалов dsm.by",
xa0xa0xa0xa0"image": "http://prod.ru/upload/CMax/423/rj0itth33ofjtox2wllp04eipmewtdgl.png",
xa0xa0xa0xa0"url": "https://prod.ru/",
xa0xa0xa0xa0"telephone": "+375171111111",
xa0xa0xa0xa0"address": {
xa0xa0xa0xa0xa0xa0xa0xa0"@type": "PostalAddress",
xa0xa0xa0xa0xa0xa0xa0xa0"streetAddress": "здание АБК",
xa0xa0xa0xa0xa0xa0xa0xa0"addressLocality": "аг. Большевик",
xa0xa0xa0xa0xa0xa0xa0xa0"postalCode": "223043",
xa0xa0xa0xa0xa0xa0xa0xa0"addressCountry": "Беларусь",
xa0xa0xa0xa0xa0xa0xa0xa0"addressRegion": " Папернянский с/с"
xa0xa0xa0xa0xa0xa0xa0xa0 }
xa0xa0xa0xa0},
</script>
|
Устанавливается в футере, или файле /include/footer_include/bottom_footer_custom.php. В пункте target указать вместо q= другой поисковый параметр, если он менялся при настройке поиска.
2.4 Schema BreadcrumbList уже присутствует на Аспро Max.
Так же , как canonical на детальной карточке
2.5 Schems CollectionPage и Product для разделов
а. Кастомится шаблон каталога в папке /bitrix/templates/aspro_max/components/bitrix/catalog/
б. В файле /bitrix/templates/aspro_max/components/bitrix/catalog/main_c
в. Создается файл /include/schema-section.php
г. Создаются дубли отображений в /bitrix/templates/aspro_max/components/bitrix/catalog.section
д. Редактируется result_modifier и template в созданных папках.
3.1 Канонический url на всех страницах, кроме каталога:
<?
xa0xa0xa0$catalog = strpos($APPLICATION->GetCurPage(true), 'catalog');xa0xa0xa0
xa0xa0xa0if($catalog === false){
xa0xa0xa0xa0xa0xa0$canonicalLine =str_replace('index.php', '', $APPLICATION->GetCurPage(true));
xa0xa0xa0xa0xa0xa0$APPLICATION->AddHeadString('<li nk rel="canonical" href="http://' . $_SERVER['HTTP_HOST'] . $canonicalLine . '" />');
xa0xa0xa0};
?>
|
Прописывается в файле /bitrix/templates/aspro_max/header.php сразу после </head> . Исключение устанавливается для каталога. В некоторых магазинах также надо установить ограничение для бренда.
3.2 xa0Канонический url на всех разделах каталога и фильтра:
Добавить код в конце component_epilog.php шаблонов, созданных комментом выше
xa0xa0xa0$sectionRes = CIBlockSection::GetByID($arResult['ID']);
xa0xa0xa0if($ar_res = $sectionRes->Fetch())
xa0xa0xa0xa0xa0xa0$sectionCode = $ar_res['CODE'];
xa0xa0xa0$filter = strpos($APPLICATION->GetCurPage(true), 'apply');
xa0xa0xa0$catalogSection = strpos($APPLICATION->GetCurPage(true), $sectionCode.'/');
xa0xa0xa0if($filter !== false){
xa0xa0xa0xa0xa0xa0$canonicalLine = str_replace('index.php', '', $APPLICATION->GetCurPage(true));
xa0xa0xa0xa0xa0xa0$canonicalLine = substr($canonicalLine, 0, $catalogSection).$sectionCode.'/';
xa0xa0xa0xa0xa0xa0$APPLICATION->AddHeadString('<li nk rel="canonical" href="http://' . $_SERVER['HTTP_HOST'] . $canonicalLine . '" />');
xa0xa0xa0} else {
xa0xa0xa0xa0xa0xa0$canonicalLine = str_replace('index.php', '', $APPLICATION->GetCurPage(true));
xa0xa0xa0xa0xa0xa0$APPLICATION->AddHeadString('<li nk rel="canonical" href="http://' . $_SERVER['HTTP_HOST'] . $canonicalLine . '" />');
xa0xa0xa0}
|
Больше полезных материалов в нашем Telegram канале. Вступайте и будем на связи! https://t.me/bf_conversion

