Генерируем короткие ссылки на страницы сайта

Генерируем короткие ссылки на страницы сайта
Задать вопрос
Наши специалисты ответят на любой интересующий вопрос по услуге

Доброго времени суток!

Сегодня поговорим о том, как автоматизировать создание коротких ссылок на страницы Вашего сайта при использовании 1С-Битрикс.

Конечно есть много бесплатных сервисов для генерации коротких ссылок, но согласитесь, удобнее, когда все автоматизированно и интегрировано.

Для чего нужны короткие ссылки?

Все просто - если Вам необходимо опубликовать ссылку на свой ресурс (допустим блог), то куда проще и лаконичнее использовать ссылку формата:

https://www.plus-aliance.ru/~SNzNL

Тем более когда мы говорим о различных "свитерах" и "блохах", то это позволяет уместиться в ограничение по длине сообщения.

Сами сравните, эта же ссылка в полном формате выглядит так:

https://www.plus-aliance.ru/company/blogs/zametki_sysadmin/linux-ubiraem-iz-imen-faylov-spetssimvoly-dlya-perenosa-na-windows/

Что с SEO?

 С поисковой оптимизацией все нормально, ссылка обрабатывается CMS 1С-Битрикс Управление сайтом таким образом, что поисковая система получает ответ с кодом 301 (ресурс перемещен постоянно). 

И так, сам код:

<?//Генерируем короткую ссылку.
$shortlink = false;
$rsData = CBXShortUri::GetList(array(), array()); 
// получаем все короткие ссылки
while($arRes = $rsData->Fetch()) {
      // проверяем наличие короткой ссылки на данную страницу
      if ($arRes["URI"] == $APPLICATION->GetCurPageParam("", array("bitrix_include_areas", "clear_cache"))) {
            $str_SHORT_URI = $arRes["SHORT_URI"];
            $shortlink = true;
      }}// если короткая ссылка есть
if ($shortlink): ?>
      Короткая ссылка: <a href="http://<?=SITE_SERVER_NAME?>/<?=$str_SHORT_URI?>">
            http://<?=SITE_SERVER_NAME?>/<?=$str_SHORT_URI?></a>

<?else:
      $str_SHORT_URI = CBXShortUri::GenerateShortUri(); //генерируем новую ссылку
      $arFields = array(
            "URI" => $APPLICATION->GetCurPageParam("", array("bitrix_include_areas", "clear_cache")),
            "SHORT_URI" => $str_SHORT_URI,
            "STATUS" => "301",
      );
      $ID = CBXShortUri::Add($arFields); //добавляем ссылку?>
      Короткая ссылка: <a href="http://<?=SITE_SERVER_NAME?>/<?=$str_SHORT_URI?>">
            http://<?=SITE_SERVER_NAME?>/<?=$str_SHORT_URI?></a>
<?endif;?>

Вставляем в нужное место вывода компонента. В моем случае я вставил его в вывод детального сообщения блога. И назначаем действие на ссылку или на кнопку "Поделиться"

Надеюсь был полезным, удачи!

Если статья оказалась полезной - поделись ссылкой с друзьями - кнопки ниже!

Заказать услугу
Оформите заявку на сайте, мы свяжемся с вами в ближайшее время и ответим на все интересующие вопросы.
Цель нашей компании - предоставление высококачественных ИТ-услуг предприятиям малого и среднего бизнеса.