Google Sitemap

Публикации карты сайта Google Sitemap позволяет добиться оптимальной индексации сайта поисковой системой Google.

Карта сайта доступна по адресу http://www.адрес_сайта.ru/sitemap.xml (до версии 6.5.6 по адресу http://www.адрес_сайта.ru/sitemap.php).

Используя Google Sitemap владелец сайта получает следующие преимущества:

Файл может содержать не более 50 000 ссылок, а его размер в несжатом виде не должен превышать 10 Мб. Если ваш sitemap не удовлетворяет этим требованиям, в структуре сайта включите опцию "Создать индекс Sitemap". Более подробно см. Яндекс, Google и sitemaps.org

Добавление обработчика Google Sitemap

В левом меню выберите раздел Структура сайтаСтруктура сайта. В структуре сайта должен быть создан раздел sitemap с опубликованной типовой динамической страницей:

Режим генерации карты сайта

Карта сайта может генерироваться с использованием файлов индекса Sitemap (для создания группы из нескольких файлов Sitemap). Включение или отключение осуществляется в коде настроек типовой динамической страницы Google Sitemap:

// Создавать индекс
$createIndex = Core_Array::get(Core_Page::instance()->libParams, 'createIndex', FALSE);

// Количество страниц в каждый файл
$perFile = 50000;

Добавление ссылок на страницы производителей в Google Sitemap

В карту сайта добавляются те страницы, пути к которым однозначно известны и заданы. В магазине производители могут публиковать в узлах с разными названиями, которые однозначно неизвестны. Поэтому для добавления выгрузки производителей в коде настроек типовой динамической страницы Google Sitemap внесите следующие изменения:

...
// Добавление экспорта производителей в Google Sitemap
class My_Core_Sitemap extends Core_Sitemap
{
	protected function _fillShop(Structure_Model $oStructure, Shop_Model $oShop)
	{
		parent::_fillShop($oStructure, $oShop);
		
		$sProtocol = $this->getProtocol($oStructure);
		
		$path = $sProtocol . $this->_siteAlias . $oShop->Structure->getPath();

		$aShop_Producers = $oShop->Shop_Producers->findAll(FALSE);
		foreach ($aShop_Producers as $oShop_Producer)
		{
			$this->addNode($path . 'producers/' . $oShop_Producer->path . '/', $oStructure->changefreq, $oStructure->priority);
		}
	}
}

try
{
	//$oCore_Sitemap = new Core_Sitemap($oSite);
	$oCore_Sitemap = new My_Core_Sitemap($oSite);
	$oCore_Sitemap
		->createIndex($createIndex)
		->perFile($perFile)
		// Перегенерировать раз в 3 дня
		->rebuildTime(60*60*24 * 3);

...

}
catch (Exception $e) {
	echo "\nSitemap error. See Log.";
}

exit();

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.