Доброго времени суток!
Drupal 8 в Отчёте о состоянии настоятельно рекомендует дополнить установленный модуль metatag вот этим модулем: https://www.drupal.org/project/schema_metatag
Вкратце, эта система позволяет отображать страницы в поисковиках в особой форме в зависимости от типа - Статья, Рецепт, Товар и т.д. (подробнее здесь https://developers.google.com/search/docs/guides/search-gallery)
Очень хочется, чтобы товары в моем магазине на Drupal commerce 2 отображались в поиске как тип Product, в частности в поле Brand подтягивался производитель из соответствующего словаря таксономии.
Для этого нужно правильно заполнить раздел Product в настройках schema.org metatag (см. картинку ниже). К сожалению, я не нашел документации по поводу того, какие токены необходимо использовать для каждого из полей. Удивительно, что разработчики Commerce не сделали доходживый гайд по этой теме, ведь представленность товаров в поисковиках трудно переоценить.
Буду очень благодарен за помощь!
Вложение | Размер |
---|---|
![]() | 265.18 КБ |
Комментарии
Ну, токены - должны содержать данные, подходящие под тот элемент схемы, к которому Вы его применяете.
Тут, в общем нечего больше объяснять, и этот "гайд" подойдет не только для товара Commerce, но и для любой дргой карточки.
К сожалению, мне не удалось найти достаточно документации, чтобы прояснить для себя до конца, как работает эта система, и как правильно формировать нужный токен.
А там, вверху, должна быть кнопочка - что-то вроде "Просмотр доступных токенов". И они там все есть
Да, я знаю как пользоваться токенами в целом, но в этом разделе он предлагает один и тот же набор токенов независимо от выбранного поля (фича, баг?). С помощью предложенного я заполнил общие разделы schema.org metatag, такие как информация о сайте, лого и т.д., но конкретно для Product, очевидно, нужны другие токены.
У меня есть идеи по этому поводу, но сайт находится в продакшене и экспериментировать на нём очень не хотелось бы, особенно учитывая, как долго могут обрабатывать изменения поисковики. Поэтому я пытаюсь получить конкретную информацию отовсюду, даже написал разработчикам Drupal Commerce.
Возможно, для кого-то эта информация является очевидной, но человек, вперывые настраивающий этот модуль, неизбежно столкнется с нехваткой документации.
Нет, это стандартное поведение браузера токенов - он отображает все доступные (имплементированные в системе) токены.
Вам нужно самому определять нужные поля из доступных.
Это правильно. Разверните копию сайта на локальной машине (ну, или на закрытом поддомене, в крайнем случае), там Вы можете произвести и оттестировать нужные изменения и потом перенести конфигурацию на прод (в качестве источника информации).
Спасибо, я веду разработку локально, недавно заменил стак Docker4Drupal на Lando, рекомендую попробовать.
Дело в том, что среди предложенных токенов необходимых нет, скорее всего этот браузер токенов не учитывает специфику schema.org.
Чтобы удостовериться, работают ли метатеги, нужно дождаться индексации поисковиков и увидеть, как отображается сайт непосредственно в поиске (есть еще валидатор Structured data в Search Console, но он проверяет немного другие критерии, и нет гарантии, что товары будут отображаться правильно).
Если бы всё было так просто, я бы не обращался за помощью:)
Вы про этот? Спасибо, обязательно затестю!
А каких именно токенов Вам не хватает? У меня, просто, нет под рукой связки коммерца чтоб быстро оттестировать.
Вы глобальный скоуп метатэгов редактируете? Или для конкретной Entity?
Мне кажется вам должна помочь данная страница доки, раздел "Standard usage scenario", пункт 4.
Ага. Он еще в beta, и немного подглючивает (иногда сервер запускается не с первого раза, нужно делать rebuild), но Docker4Drupal капризничал куда чаще, и в целом Lando выглядит как следующий шаг среди Docker-стаков. Развернуть новый сайт на Drupal 7, 8 или импортировать существующий можно парой кликов. Команды выглядят проще, интуитивней и не требуют вот таких конструкций:
docker-compose exec --user 82 php drush sset system.maintenance_mode 1 -r /var/www/html/web
По остальным вопросам - я не уверен:) Стандартный браузер предлагает общие токены типа site:url и current-page. Думаю, поля для Product требуют токены, включающие node, node-product, что-то подобное. Также интересует токен для поля Brand, как заставить его подтягивать производителей товара из словаря таксономии, чтобы они отображались в поиске? Это было бы ЧУДО:)
Сейчас вгляделся в картинку, там действительно не хватает разделов с нодами. Нужно вживую рассмотреть, попробую завтра найти времени - развернуть связку с мета + схема, и отписаться.
Потому что продукт - не нода. А есть ли у продуктов свои токены - это хз. Вполне вероятно, что нет.
Точно! Но это сущность, а токены в 8ке именно по ним генеряться, так-что - ннада дебажить.
Тут вопрос в том, появляются они сами собой или где-то что-то надо подкодить. Вообще, имхо, решение сделать дисплеи отдельной сущностью - очень большая ошибка. Всё никак не дойдут руки потестить, работает ли оно с нодами.
в восьмерке же дисплеи не отдельно
Не отдельно от чего?
Проверил, как обещал. В общем - все ок, все на месте )))
Во всяком случае токены (формирование сниппетов еще не проверял).
В действительности, как писал @fairrandir, скорее всего, Вы пробовали добавлять сниппет не для сущности товара, а куда-то в глобальный контент.
Нужно предварительно создать тип метатегов (/admin/config/search/metatag):
Выбрать необходимую сущность товара:
Я предварительно сохранял, но в теории - и так должно отобразить все поля товара в браузере токенов:
Ееее!
Я был рядом, но не догадался, что нужно подтверждать сохранением после выбора типа сущности, думал, что токены должны сразу появиться в браузере.
Сейчас все настрою и через неск. дней отпишусь сюда со скринами из поисковика по поводу того, как изменилось представление товаров.
Огромная благодарность!
Большое спасибо заранее! Уверен, что эта информация очень поможет всем, кто делает магазины на Drupal.
А можете скинуть скрин заполнения токенов в полях?