Как избежать дублирование страниц?

12
pashacat
На сайте с 06.12.2012
Offline
37
1305

Здравствуйте. Прошу Вас не пинать, если не сильно внятно сформулирую вопрос.

Хочу реализовать небольшой проект. Сервис поиска авто-мастеров. Поиск будет производиться по двум направлениям: вид работ и местонахождение(автомеханика, сервиса). Контент - это так называемые карточки мастеров, то есть их данные (местонахождение, специализация, контакты, время работы, расценки и др.). Допустим прямая ссылка вида - site.ru/master_vasya.html

При выборе поиска по городам, допустим выбираем Питер. Выводится страница site/piter_city.html со всеми мастерами Питера (если их много - с пагинацией). Первый в списке мастер Вася, кликаем и переходим на страницу - site.ru/piter_city/master_vasya.html, где будет информация о Васе. То же, что и на site.ru/master_vasya.html

При поиске по виду работ, выбираем автоэлектрик. Выводится страница site/elektriky.html со всеми мастерами электриками (если их много - с пагинацией). Опять же выбираем в списке мастера Васю и переходим на страницу site.ru/elektriky/master_vasya.html так же с информацией о Васе, как и на страницах site.ru/master_vasya.html и site.ru/piter_city/master_vasya.html.

Получается для ПС это будет дублирование страниц.

На данный момент вижу 2 варианта:

1. Карточки мастеров сделать открытыми для индексации, а результаты поиска закрыть от индексации.

2. Ссылка карточки мастера ( site.ru/master_vasya.html ) оставалась прежней, а при выдаче из поиска по городам ссылка была вида site.ru/master_vasya.html#piter_city, аналогично из поиска по работам - site.ru/master_vasya.html#elektriky.

Генерировать в теге <head><link rel="canonical" href="site.ru/master_vasya.html"></head> на всех трех страницах включая и основную - site.ru/master_vasya.html.

Подскажите пожалуйста, какой из двух вариантов наиболее лучше подойдет в данном случае?

Как правильно реализовать?

Возможно есть другие решения.

Заранее благодарен.

В
На сайте с 04.07.2017
Offline
23
#1
pashacat:
site.ru/piter_city/master_vasya.html, где будет информация о Васе. То же, что и на site.ru/master_vasya.html
pashacat:
site.ru/elektriky/master_vasya.html

если карточка может находится одновременно в нескольких категориях, то лучше карточку не привязывать к категории в урле.

Т.е. единственный урл мастера site.ru/master_vasya.html - лучше всего, на мой взгляд.

В карточке, помимо прочего, выводить все категории, в которых представлен мастер.

Только может возникнуть проблема с хлебными крошками.

Допустим, "хлебные крошки" по дефолту у вас будут вида "Мастера / Вася" или на базе одной из категорий (какой-нибудь главной для этого мастера). Вроде "Мастера / Электрики / Вася".

Но пользователь то будет ожидать увидеть в хлебных крошках свой реальный путь.

Что если Вася и сантехник и электрик? Тогда если пользователь пришел из раздела "Сантехники", то будет ожидать "Мастера / Сантехники / Вася"

Чтобы это предусмотреть, можно писать в сессию id категории, из которой зашли в карточку и на ее основе строить индивидуальные хлебные крошки... Если, конечно, вы планируете их делать

Но это не актуально для города. Я бы не парился. Местоположени - просто один из фильтров, как пол, например, или тег. Не нужно строить "Мастера / Питер / Вася". Можно, конечно, но смысла в этом не вижу. Перекинули на карточку и все.

pashacat
На сайте с 06.12.2012
Offline
37
#2
Вяземский:
единственный урл мастера site.ru/master_vasya.html - лучше всего, на мой взгляд.

Согласен.

Вяземский:
В карточке, помимо прочего, выводить все категории, в которых представлен мастер.

Так и планировал

Вяземский:
Только может возникнуть проблема с хлебными крошками.

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

M
На сайте с 04.12.2013
Offline
223
#3

pashacat, вполне естественно делать адреса конечных страниц формата /vasya или /masters/vasya. Что касается списков (фильтров), то тут вообще все просто:

/piter – все мастера Питера;

/piter/electric – электрики питера.

Электриков и прочих по всей стране можно вообще не делать, но если оч. хочется:

/all/electric, /russia/electric (промежуточный узел закрываете редиректом на главную, если общий список отображается на главной) или самый естественный, но не всегда самый простой /electric.

Если хотите, чтобы мастера необъятной не сильно конкурировали за красивые слаги, можете для конечных страниц использовать /masters-from-piter/vasya, /masters/piter/vasya или даже вклиниться в фильтр (/piter/vasya).

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
SeVlad
На сайте с 03.11.2008
Offline
1609
#4
pashacat:
.html

избавиться от этого рудемента.

pashacat:
Подскажите пожалуйста, какой из двух вариантов наиболее лучше подойдет в данном случае?

Ни один. Карточка должна быть доступно по одному урлу.

Каноникал - это костыль в данном случае.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
[Удален]
#5
SeVlad:
избавиться от этого рудемента.

лучше оставить, есть куча проблем, которая решается намного проще имея расширение :)

Вяземский:
Только может возникнуть проблема с хлебными крошками.

нет таких проблем, хлебные крошки могут быть в несколько уровней, а с помощью js показывать первым ожидаемый пользователем путь

SeVlad
На сайте с 03.11.2008
Offline
1609
#6
burunduk:
есть куча проблем, которая решается намного проще имея расширение

? Например?

Ида "расширение" - это понятие файловой системы. В адресации документов такого понятия нет.

[Удален]
#7
SeVlad:
? Например?

определения конца имени документа, очень часто используется для разрешения/запрета индексации в роботсе, особенно актуально в случае с директивами

Disallow:

Allow:

+ в различных js обработчиках очень удобно иметь такую метку как точка

SeVlad
На сайте с 03.11.2008
Offline
1609
#8
burunduk:
определения конца имени документа, очень часто используется для разрешения/запрета индексации в роботсе, особенно актуально в случае с директивами

Это искусственно созданная "проблема" :) Достаточно правильно ЧПУ сделать.

burunduk:
+ в различных js обработчиках очень удобно иметь такую метку как точка

Это вообще жесть какая-то.

[Удален]
#9
SeVlad:
Это искусственно созданная "проблема"

да, клиентом и изменить нет возможности

SeVlad:
Достаточно правильно ЧПУ сделать.

я бы сказал правильно сделать всю архитектуру сайта и программную часть, но что-то я ни разу такого сайта не видел :(

SeVlad:
Это вообще жесть какая-то.

когда приходится решать кучу узких специфических задач ещё и не за такое цепляться будешь :)

SeVlad
На сайте с 03.11.2008
Offline
1609
#10
burunduk:
да, клиентом и изменить нет возможности

Так топик же не о том как исправить уже созданные косяки, а как их не допустить. Лишние 5 символов в адресе - это таки лишние.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий