Меню

Добавить СЕО-метатеги в результаты поиска по каталогу

Просмотров: 670

Задача: на странице с результатами поиска по каталогу нужно установить уникальные метатеги: keywords, description, canonical и заголовок страницы.

Добавить СЕО-метатеги в результаты поиска по каталогу

Зачем нужны метатеги в результатах поиска

Возникла такая ситуация на одном из сайтов: каким-то образом страницы с результатами поиска попали в индекс Яндекса, и вебмастер начал оповещать о более чем 1000 страницах с одинаковыми метатегами.

Вряд ли Яндекс сам заполнял инпут с поиском и переходил на результаты. Предположений, как эти страницы попали в индекс, всего два:
1) При посещении страницы данные о ней передались со счетчика Яндекс.Метрика.
2) Данные о странице передались при посещении сайта через Яндекс.Браузер.

Было решено сделать метатеги уникальными, передав в них поисковый запрос. Для этого открываем шаблон catalog.search и в template.php (в условие, когда результат поиска не пустой) добавляем код:

$request = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
$name = $request->get('q');
$dir = $APPLICATION->GetCurDir();

$APPLICATION->SetTitle(
        'Результат поиска: '' . $name . '' по объявлениям'
);
$APPLICATION->SetPageProperty(
        'title', 
        'Поиск ' . $name . ' результат'
);
$APPLICATION->SetPageProperty(
        'keywords', 
        'найти, поиск по запискам, результат поиска ' . $name
);
$APPLICATION->SetPageProperty(
        'description', 
        'Результат поиска по запросу ' . $name . ' в доске объявлений'
);
$APPLICATION->SetPageProperty(
        'canonical', 
        'https://tech.bxstore.ru' . $dir . '?q=' . $name
);
  • Получаем текущий запрос через Bitrix API и вытаскиваем значение параметра q — это поисковый запрос.
  • Определяем текущий URL без домена.
  • Устанавливаем заголовок страницы с включением поискового запроса.
  • Добавляем метатег title, в котором указан результат поиска.
  • Устанавливаем метатег keywords с поисковыми терминами.
  • Задаем метатег description, описывающий результат поиска.
  • Устанавливаем метатег canonical с каноническим URL, включающим поисковый запрос.
  • Это делает метатеги уникальными для каждого поискового запроса, улучшая SEO.
Михаил Базаров 08.09.2024
В условие когда ни чего не найдено, в принципе можно добавить
Код
$request = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
$name = $request->get('q');
$dir = $APPLICATION->GetCurDir();

$APPLICATION->SetTitle('Не найдено: "' . $name . '" по объявлениям');
$APPLICATION->SetPageProperty('title', 'Поиск ' . $name . ' результат');
$APPLICATION->SetPageProperty("keywords", 'найти, поиск по запискам, результат поиска ' . $name);
$APPLICATION->SetPageProperty("description", 'Результат поиска по запросу ' . $name . ' в доске объявлений');
$APPLICATION->SetPageProperty("canonical", 'https://tech.bxstore.ru' . $dir);
?>

По запросу <q><?= $name ?></q> ни чего не найдено, 
попробуйте сформулировать запрос иначе.

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

Стоимость и сроки разработки сайтов и приложений

Окончательная стоимость и сроки разработки сайта формируются после обсуждения деталей на этапе заказа. Как правило, они редко выходят за обозначенные ниже рамки.

Интернет магазин: разработка с нуля от 450 000 руб.
от 5-ти недель

Cоздание интернет-магазина на 1С-Битрикс. Разработка с нуля, оптимизация кода и производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Интернет-магазин на готовом решении от 60 000 руб.
от 7-ми дней

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

Мобильное приложение от 300 000 руб.
от 1-го месяца

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Опросник на разработку. После ознакомления, задам уточняющие вопросы и оценю проект по стоимости и срокам разработки.