Как настроить schema.org metatag для Drupal commerce 2?

Аватар пользователя Max-Z

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

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 не сделали доходживый гайд по этой теме, ведь представленность товаров в поисковиках трудно переоценить.

Буду очень благодарен за помощь!

ВложениеРазмер
Иконка изображения раздел Product265.18 КБ
Модули и темы:
Ключевые слова:
Тип материала:
Версия Drupal:
Форумы:
0 Thanks

Комментарии

Аватар пользователя bumble
bumble 5 дней назад

Ну, токены - должны содержать данные, подходящие под тот элемент схемы, к которому Вы его применяете.
Тут, в общем нечего больше объяснять, и этот "гайд" подойдет не только для товара Commerce, но и для любой дргой карточки.

Аватар пользователя Max-Z
Max-Z 5 дней назад

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

Аватар пользователя bumble
bumble 5 дней назад

А там, вверху, должна быть кнопочка - что-то вроде "Просмотр доступных токенов". И они там все есть :)

Аватар пользователя Max-Z
Max-Z 5 дней назад

Да, я знаю как пользоваться токенами в целом, но в этом разделе он предлагает один и тот же набор токенов независимо от выбранного поля (фича, баг?). С помощью предложенного я заполнил общие разделы schema.org metatag, такие как информация о сайте, лого и т.д., но конкретно для Product, очевидно, нужны другие токены.
У меня есть идеи по этому поводу, но сайт находится в продакшене и экспериментировать на нём очень не хотелось бы, особенно учитывая, как долго могут обрабатывать изменения поисковики. Поэтому я пытаюсь получить конкретную информацию отовсюду, даже написал разработчикам Drupal Commerce.
Возможно, для кого-то эта информация является очевидной, но человек, вперывые настраивающий этот модуль, неизбежно столкнется с нехваткой документации.

Аватар пользователя bumble
bumble 5 дней назад
Max-Z написал:
один и тот же набор токенов независимо от выбранного поля (фича, баг?)

Нет, это стандартное поведение браузера токенов - он отображает все доступные (имплементированные в системе) токены.

Вам нужно самому определять нужные поля из доступных.

Max-Z написал:
сайт находится в продакшене и экспериментировать на нём очень не хотелось бы

Это правильно. Разверните копию сайта на локальной машине (ну, или на закрытом поддомене, в крайнем случае), там Вы можете произвести и оттестировать нужные изменения и потом перенести конфигурацию на прод (в качестве источника информации).

Аватар пользователя Max-Z
Max-Z 5 дней назад

Спасибо, я веду разработку локально, недавно заменил стак Docker4Drupal на Lando, рекомендую попробовать.
Дело в том, что среди предложенных токенов необходимых нет, скорее всего этот браузер токенов не учитывает специфику schema.org.
Чтобы удостовериться, работают ли метатеги, нужно дождаться индексации поисковиков и увидеть, как отображается сайт непосредственно в поиске (есть еще валидатор Structured data в Search Console, но он проверяет немного другие критерии, и нет гарантии, что товары будут отображаться правильно).
Если бы всё было так просто, я бы не обращался за помощью:)

Аватар пользователя bumble
bumble 5 дней назад

Вы про этот? Спасибо, обязательно затестю!

А каких именно токенов Вам не хватает? У меня, просто, нет под рукой связки коммерца чтоб быстро оттестировать.

Аватар пользователя fairrandir
fairrandir 5 дней назад

Вы глобальный скоуп метатэгов редактируете? Или для конкретной Entity?
Мне кажется вам должна помочь данная страница доки, раздел "Standard usage scenario", пункт 4.

Аватар пользователя Max-Z
Max-Z 5 дней назад
bumble написал:
Вы про этот?

Ага. Он еще в 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, как заставить его подтягивать производителей товара из словаря таксономии, чтобы они отображались в поиске? Это было бы ЧУДО:)

Аватар пользователя bumble
bumble 5 дней назад

Сейчас вгляделся в картинку, там действительно не хватает разделов с нодами. Нужно вживую рассмотреть, попробую завтра найти времени - развернуть связку с мета + схема, и отписаться.

Аватар пользователя gun_dose
gun_dose 5 дней назад

Потому что продукт - не нода. А есть ли у продуктов свои токены - это хз. Вполне вероятно, что нет.

Аватар пользователя bumble
bumble 5 дней назад

Точно! Но это сущность, а токены в 8ке именно по ним генеряться, так-что - ннада дебажить.

Аватар пользователя gun_dose
gun_dose 5 дней назад

Тут вопрос в том, появляются они сами собой или где-то что-то надо подкодить. Вообще, имхо, решение сделать дисплеи отдельной сущностью - очень большая ошибка. Всё никак не дойдут руки потестить, работает ли оно с нодами.

Аватар пользователя Olegars
Olegars 5 дней назад

в восьмерке же дисплеи не отдельно

Аватар пользователя gun_dose
gun_dose 4 дня назад

Не отдельно от чего?

Аватар пользователя bumble
bumble 4 дня назад
1

Проверил, как обещал. В общем - все ок, все на месте )))
Во всяком случае токены (формирование сниппетов еще не проверял).

В действительности, как писал @fairrandir, скорее всего, Вы пробовали добавлять сниппет не для сущности товара, а куда-то в глобальный контент.

Нужно предварительно создать тип метатегов (/admin/config/search/metatag):

Add default metatag

Выбрать необходимую сущность товара:

Choose product entity

Я предварительно сохранял, но в теории - и так должно отобразить все поля товара в браузере токенов:

Schema.org commerce product

Аватар пользователя Max-Z
Max-Z 4 дня назад

Ееее!
Я был рядом, но не догадался, что нужно подтверждать сохранением после выбора типа сущности, думал, что токены должны сразу появиться в браузере.
Сейчас все настрою и через неск. дней отпишусь сюда со скринами из поисковика по поводу того, как изменилось представление товаров.
Огромная благодарность!

Аватар пользователя Max-Z
Max-Z 5 дней назад

Большое спасибо заранее! Уверен, что эта информация очень поможет всем, кто делает магазины на Drupal.