Я получил страницу со списком видео в индексном представлении.
Представление фильтруется по нескольким показателям, таким как «сначала самые новые видео» и «сначала самые популярные видео». Пользователь может выбрать один из этих вариантов.
Информация о фильтре сохраняется в сеансе пользователя. Для управления параметрами сеанса существуют разные маршруты, которые вызываются, когда пользователь нажимает кнопку фильтра, например «domain.com/videos/newest» или «domain.com/videos/ranking».
В зависимости от того, какой маршрут вызывается, сервер изменяет параметр сеанса.
На самом деле ЖЕ страница отображается, но видео перечислены в разных порядках. Это приводит к дублированию названий страниц, мета-описаний и тому подобного. Этого следует избегать. Я хочу иметь один маршрут "domain.com/videos" без дополнительных параметров управления фильтром.
Очевидно, что есть разные подходы:
Придерживаясь текущего решения, предлагая разные маршруты, ведущие к одной и той же отрендеренной странице и работающие с дублированным контентом.
Использование параметров GET, таких как domain.com/videos?filter=newest
, что также плохо с точки зрения SEO.
Использование файлов cookie для хранения информации в каждом заголовке запроса, что приводит меня к необходимости сообщения о соглашении о cookie-файлах и делает работу страницы ужасной.
...
Есть ли рекомендации по решению описанной проблемы?
UPDATE
@ Тим Льюис предложил (большое спасибо за ответ):
Если вам не нужны параметры URL, вы можете выполнить запрос POST, в котором эти значения фильтра / поиска / сортировки будут сохранены в сеансе Laravel, а затем сослаться на них в запросе GET; $ sort = session () -> get ("sort"); или похожие. Они не будут отображаться в URL, и единственная страница, о которой будет знать SEO, будет domain.com/videos
Есть еще люди, которые подтверждают это?