Второй не будет ранжироваться хотя бы из-за дублированного контента.
Насчёт санкций не скажу, но ничего хорошего не получится.
Сделайте редирект или, 0отя бы, закройте дубль в роботс.тхт, сам файл роботос.тхт можно создать отдельный и отдавать с htaccess, например
Мне показалось, немного из разных областей вопрос. А как вы клиентскую часть с бэком подружите? Перед тем, как свитч или реплейс писать...
С помощью js регистрируете нажатие на элемент , пишете инфу об этом в куки. Опционально, можете перезагрузить страницу.
После перезагрузки/перехода на другую страницу инфа из куки будет доступна php. Проверяете на бэкенде куку, и по результатам вставляете то, что необходимо, в шаблон. Отправляете клиенту. Всё.
this.name - к создаваемому экземпляру класса User , к его контексту this, мы привязываем переменную name. На выходе мы получим сущность Вася, у которой в this будет ключ name, которому мы присвоили значение из поданной при создании переменной name
Чем второе от третьего отличается?
Если имеется ввиду загрузка мета-данных, но ещё не прикрепление к контенту страницы, то второй будет оптимальным. Вам не нужно будет тратить время на ожидание аякс-ответа, т.к. инфа о элементах и их контенте уже будет загружена, и у вас не будет преждевременной загрузки неотображаемого контента (изображений этих 180 элементов, к примеру).
С точки зрения SEO, если эти 180 элементов не имеют собственных URL и и недоступны поисковику, то лучше первый способ.