Индекация страниц каталога
Индексация каталога происходит по принципу индексации ajax сайтов(https://help.yandex.ru/webmaster/robot-workings/ajax-indexing.xml)
Для начала необходимо в теге head разместить следующий код:
<meta name="fragment" content="!">
После этого вам будет необходимо подготовиться к тому, что поисковики будут запрашивать вашу страницу, передавая в
запросе GET параметр _escaped_fragment_ содержащий URL страницы, который вы будете использовать для получения
контента страницы виджета.
Вы должны будете передать значение этого параметра, запросив страницу
https://deliverywiget.iiko.ru/Seo/Static/#REST_ID#?_escaped_fragment_=#escaped_fragment#, где #escaped_fragment#
тот параметр, что вам передал поисковик в запросе страницы.
Полученный ответ будет содержать JSON объект, который будет содержать следующие переменные:
Название | Тип | Описание |
---|---|---|
content | String | Контент страницы |
title | String | Заголовок раздела меню, либо товара |
imageUrl | String | Url картинки товара/раздела |
description | String | Описание товара/раздела |
seoDescription | String | СЕО описание страницы |
seoText | String | СЕО текст страницы |
seoTitle | String | СЕО заголовок страницы |
seoKeywords | String | СЕО ключевые слова страницы |
Ниже приведен пример реализации на PHP:
<!DOCTYPE html> <html> <head><? $sContent = ''; $sTitle = 'Меню'; if(isset($_REQUEST["_escaped_fragment_"])) { ?> <div id="lsp-block-content" data-render="N"><?php $data = json_decode(file_get_contents('https://deliverywiget.iiko.ru/Seo/Static/#REST_ID#?_escaped_fragment_=' . $_REQUEST['_escaped_fragment_'])); ?> <meta name="fragment" content="!"> <meta name="description" content="<?= $data->seoDescription ?>"> <meta name="keywords" content="<?= $data->seoKeyword ?>"><?php $sContent = $data->content; if($data->seoTitle){ $sTitle = $data->seoTitle; }elseif($data->title) $sTitle = $data->title; ?> <meta property="og:title" content="<?= $data->title; ?>" /> <meta property="og:image" content="<?= $data->imageUrl; ?>" /> <meta property="og:description" content="<?= $data->description; ?>" /><? } ?> <title><?= $sTitle ?></title> ... </head> <body> ... <?php if($sContent){ ?> <div id="lsp-block-content" data-render="N"><?= $sContent ?></div> <?php }else{ ?> <div id="lsp-block-content"></div> <?php } ?> ... </body> </html>