Задать вопрос
@webdefvika
SMM специалист

Как создать xml карту сайта для изображений?

Подскажите каким образом для сайта на CMS 1C-Битрикс можно сделать карту сайта для изображений?

Карта сайта для изображений должна быть такого формата: https://support.google.com/webmasters/answer/17863...

В Битрикс есть возможность создать обычную карту сайта такой возможности вроде нет, но xml карту для изображени вроде там создать нельзя. Онлайн генераторы тоже не создают xml карту для сайта на Битрикс.

Может быть посоветуете модуль c маркетплейс?
  • Вопрос задан
  • 1948 просмотров
Подписаться 2 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
  • Skillbox
    Профессия Графический дизайнер PRO
    15 месяцев
    Далее
  • ProductStar
    Профессия Product Manager
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@anton99zel Куратор тега 1С-Битрикс
29а класс средней школы №7
Набросал код для вас.
<?
require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("iblock");
$dom = new domDocument("1.0", 'utf-8');
$xml = $dom->createElement("xml");
$xml ->setAttributeNS(null, 'version', '1.0');
$xml ->setAttributeNS(null, 'encoding', 'utf-8');
$dom->appendChild($xml); 
$urlset = $dom->createElement("urlset"); 
$urlset->setAttributeNS('http://www.w3.org/2000/xmlns/','xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9');
$urlset->setAttributeNS('http://www.w3.org/2000/xmlns/','xmlns:image','http://www.google.com/schemas/sitemap-image/1.1');

$arSelect = Array("ID", "NAME", "DETAIL_PAGE_URL", "PREVIEW_PICTURE");
$arFilter = Array("IBLOCK_ID"=>8, "SECTION_ID"=>100, "INCLUDE_SUBSECTIONS" => "Y"); //ID Инфоблока и ID раздела с элементами
$rsElement = CIBlockElement::GetList(Array("NAME" => "ASC"), $arFilter, false, Array("nPageSize"=>5), $arSelect);
$arResult["ITEMS"] = array();
while($obElement = $rsElement->GetNextElement())
{
$arItem = $obElement->GetFields();
$arItem["PROPERTIES"] = $obElement->GetProperties();
$google_link =  'https://site.ru'.$arItem[DETAIL_PAGE_URL];
$google_img =  'https://site.ru'.CFile::GetPath($arItem[PREVIEW_PICTURE]);

    $url = $dom->createElement("url"); 
    $login = $dom->createElement("loc", $google_link);
    $url->appendChild($login);
    $image = $dom->createElement("image:image");
    $image2 = $dom->createElement("image:loc", $google_img);
    $image->appendChild($image2);
    $url->appendChild($image);

$urlset->appendChild($url);
};
$xml->appendChild($urlset);
$dom->save("img.xml"); //в корне директории откуда запускаем скрипт
echo 'Готово';
?>

5eecf8d3c0a8c845561753.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы