Как сделать хитрый View с Better Exposed Filter под SEO-задачи?

Главные вкладки

Аватар пользователя kolotunbobo kolotunbobo 3 октября 2022 в 14:27

Допустим у нас есть категории на сайте, который соответствуют терминам таксономии.
Словарь «Унитазы»
Термины «Подвесной» (1), «Напольный» (2)
Словарь «Цвет»
Термины «Белый» (3), «Золотой» (4).
В скобках tid термина.

URL страницы каталога с унитазами будет выглядеть:
site.ru/unitazy

Если сделать простой View с BEF, то URL «унитаз подвесной» может выглядеть так:
site.ru/unitazy?tid=1
А, например, URL «унитаз подвесной золотой», будет выглядеть так:
site.ru/unitazy?tid=1&tid=4

Собственно, это нормально, если мы не продвигаем в SEO страницу с подвесными или с подвесными золотыми унитазами.

Само собой, ссылка canonical будет выглядеть как site.ru/unitazy и Google поймет, что это одна и та же страница, а в Яндексе мы ее выкинем из индекса с помощью clean param в robots.txt.
Но, если мы решили продвигать страницу, добавить туда текст, например, оптимизировать Title, Desription, то нам и URL нужен вида:

site.ru/unitazy/podvesnoy/zolotoy

Теоретически, это можно сделать с помощью контекстных фильтров и вытягивать значение термина из URL. Но что будет со всем остальным? Изменить Title, Description не получится, а текст придется пихать через блоки, что не очень удобно.

Другой вариант – сделать отдельный тип материала и привязать оба словаря к нему. Сделать шаблон twig, в котором вытягивать view на страницу в любое место и view вытянет из URL значения терминов. И тогда можно будет заполнить уникальные Title, Description и canonical будет site.ru/unitazy/podvesnoy/zolotoy и написать уникальное описание.

Этот вариант удобнее, но что будет с навигацией между каталожными страницами?
И будут ли отмечены чек-боксы и радиокнопки?

Не подскажете, как лучше такой функционал реализовать?
Смысл в том, чтобы добавлять страницу только тогда, когда решили ее продвигать и кастомизировать.