Я сначала прописал это в component_epilog.php потом хотел перенести в template.php Быстрее так будет или хуже т к не кэшируется или это не имеет значения? А в header.php локального шаблона темы по пути public_html/local/templates/mytemplate вызываю
Код
<met a name="keywords" content="<?echo $APPLICATION->ShowProperty("mykeys");?>"/>
Вопросы:1) свойство mykeys задается на лету, есть ли в этом какой-то подвох?2) header вызывается до содержимого страницы,как ShowProperty получает нужное значение? Если она "дожидается" загрузки всех компонентов и только потом передает значение, увидят ли это значение боты Яндекса и Гугла?3) Правильно ли вызывать в этом случае ShowProperty из component_epilog.php или лучше из шаблона компонента или из result_modifier.php ?4) Как правильно сделать проверку на непустое значение этой переменной и в случае пустого выводить
Следуя традициям oldschool seo, решил добиться, чтобы значения выводились именно из поля META KEYWORDS вкладки SEO.Нашел в \local\templates\mytemplate\components\bitrix\catalog.section.list\main\component_epilog.php Там:
Через вывод убедился, что она получает правильное значение, но на странице услуги по-прежнему keywords не выводятся. Стал копаться в вызовах компонентов каталога, подставлять SET_META_KEYWORDS
Пробовал также зайти через доп. параметр "SET_META_KEYWORDS" => "Y", "LIST_META_KEYWORDS" => "UF_KEYWORDS", но похоже, что ключи теряются где-то в вызовах компонентов, где-то на пути от его обработки из папок битрикса к копиям в local.Компонент листает подразделы в блоке Каталога и нужно всего лишь передавать при этом переменную, содержащую значение поля. Была мысль подцеплять в header.php шаблона эту переменную как глобальную или через сессии.Нашел, где в базе лежат эти ключи и создал простейший запрос, позволяющий вытащить значение по id блока и секции, но опять же эти переменные видны только при работе компонента. Была мысль инклюдить его в header. Потом попробовал конструкцию вида
Вопрос №10. Тут возник второй вопрос: эта штука отлично дергает блоки из раздела Информация, но не видит блоки из раздела Каталог - это так и задумано?Я был готов к тому, чтобы из пути к странице вычленять составляющие и по ним вычислять BLOCK_ID и SECTION
Код
$folder = $request->getRequestedPageDirectory();
$iblockCode = '';// берем часть $folder до косой черты
$iblockId = IblockIdByCode($iblockCode);
Вопрос №20. Правильно ли я понимаю, что при этом потребовалось бы несколько дополнительных запросов в базу при каждой загрузке страницы и это плохое решение? Не лучше ли брать block_id и section через правильно настроенный urlrewrite - не будет ли это решение лучше всего вышеописанного?Не лучше ли писать ключи из параметров разделов каталога в переменные сессии? В modx к id страницы привязаны все поля метатегов, хранящиеся в базе, и не надо ломать голову как их найти и отобразить. В чем недостаток такого решения по сравнению с framework bitrix?
Коннонические ссылки, убираю дубли страниц и указываю важные., Работаю со сложной структурой. Яндекс много выкидывает страниц а гугл вобще мало индексирует..
Спасибо, утаскиваю себе копию. По моему опыту canonical надо обязательно добавлять, иначе если проект хоть немного конкурентный, найдутся доброжелатели, которые загонят в индекс сотни дублей.
В метрике страницы захода разные показываются Да, в роботс запрет есть, но Яндекс воспринимает хвостатые урлы как отдельные страницы, поэтомй хочу сделать редирект