Битрикс — обновление SEO (title, description и keywords)

15.01.2019  15:31

Задача: сайт на Yii (вроде как этот фреймворк) переделывался на 1С-Битрикс и потребовалось перенести все настройки разделов каталога, вбитые на старом сайте в title, description и keywords.

Таблица в базе старого сайта — tbl_core. Её я импортировал в базу нового сайта.

Скрипт обновления:
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
set_time_limit(0);
ini_set('max_execution_time', '3600');
ini_set('memory_limit', '512M');
$IBLOCK_ID = 1;
$c = 0;
$c_empty = 0;
CModule::IncludeModule('iblock');
CModule::IncludeModule('blog');
CModule::IncludeModule('user');
global $USER;
if (!$USER->IsAdmin()){
exit;
}
// AND `id`='23'//для проверки на одном разделе
$strSql = "SELECT * FROM `tbl_core` WHERE `model`='ProductGroup' ORDER BY `id`";// LIMIT 1
$res = $DB->Query($strSql, false, $err_mess.__LINE__);
$array=array();
while ($row = $res->Fetch())
{
$url = $row['url'];
$name = $row['name'];
$title = $row['title'];
$description = $row['description'];
$keywords = $row['keywords'];
// echo $url.' - '.$name.' - '.$title.' - '.$description.' - '.$keywords;
$urlLinks = explode("/",$url);
$countUrls = count($urlLinks);
$sectionCode = $urlLinks[$countUrls-1];
if(!empty($sectionCode)) {
	$arFilter = Array('IBLOCK_ID'=>$IBLOCK_ID, 'GLOBAL_ACTIVE'=>'Y', 'CODE'=>$sectionCode);
	$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter, true);
	if($ar_result = $db_list->GetNext())
	{
		// echo '
';
		// print_r($ar_result);
		$ID = $ar_result["ID"];
		// echo '
'; $arFields["IPROPERTY_TEMPLATES"] = array( "SECTION_META_TITLE" => $title, "SECTION_META_KEYWORDS" => $keywords, "SECTION_META_DESCRIPTION" =>$description, ); $bs = new CIBlockSection; $resSect = $bs->Update($ID, $arFields); $c++; } } } echo 'fin:'.$c;


Таким образом можно переносить любые мета-данные из любой базы MySQL в базу Битрикса. Скрипт по API обновляет нужные мета-теги по базе старого сайта.
Андрей Панёвин
Здравствуйте! Я — Андрей Панёвин и занимаюсь профессиональной разработкой сайтов на платформе 1С-Битрикс (исключительно программирование). Есть вопросы по статье? Могу подсказать и помочь по скайпу (andrey.panevin.ru), WhatsApp (+7-911-091-0670) или перепиской в ВК.
1000 р./час.



перейти в Блог

Ударим лайками по бездорожью, разгильдяйству и бюрократизму!


Ключевые слова (тэги): 1С-Битрикс 54  PHP 68  web-программирование 92  

Вам есть что сказать — ну я же чую.
Высказаться о наболевшем, я выслушаю-:
Имя


email (не публикуется)