Иногда поисковым ботам требуется отдавать контент, который может отличаться от контента для обычного человека. Либо же, например, отключать некоторые тяжелые скрипты, чтобы оптимизировать скорость загрузки страниц под Google Page Speed.

Идентифицировать, зашел ли на страницу бот-поисковик, можно через заголовок HTTP_USER_AGENT следующим образом:

<?php

function is_bot()
{
    $bots = [
        'rambler', 'googlebot', 'aport', 'yahoo', 'msnbot', 'turtle', 'mail.ru', 'omsktele',
        'yetibot', 'picsearch', 'sape.bot', 'sape_context', 'gigabot', 'snapbot', 'alexa.com',
        'megadownload.net', 'askpeter.info', 'igde.ru', 'ask.com', 'qwartabot', 'yanga.co.uk',
        'scoutjet', 'similarpages', 'oozbot', 'shrinktheweb.com', 'aboutusbot', 'followsite.com',
        'dataparksearch', 'google-sitemaps', 'appEngine-google', 'feedfetcher-google',
        'liveinternet.ru', 'xml-sitemaps.com', 'agama', 'metadatalabs.com', 'h1.hrn.ru',
        'googlealert.com', 'seo-rus.com', 'yaDirectBot', 'yandeG', 'yandex',
        'yandexSomething', 'Copyscape.com', 'AdsBot-Google', 'domaintools.com',
        'Nigma.ru', 'bing.com', 'dotnetdotcom', 'Chrome-Lighthouse',
    ];

    foreach ($bots as $bot) {
        if (stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false) {
            return $bot;
        }
    }

    return false;
}

В массиве перечислены многие поисковые боты. При желании можете дополнить его под себя.

Далее, например, можно использовать при проверке подключать или нет тот какой-нибудь скрипт:

<?php

use Bitrix\Main\Page\Asset;

if (!is_bot()) {
    //если не бот, подключаем JS
    Asset::getInstance()->addJs('main.js');
}