Задать вопрос
@tgarl

Как запретить формирования ссылок вида /tel:?

Проблема такая: на сайте в футере есть ссылка href="tel:8800..." и в метрике формуруются ссылки вида /catalog/tel:.../ при этом вебмастер присылает что страница /catalog/ удалена из индексации так как является дублем /catalog/tel:.../

добавил rel="nofollow", в робот добавил Disallow: /tel: но не помогает каждую неделю приходит отчет что из индекса удалена та или иная страница так как есть дубль с tel

ИИ говорит проверяйте сайтмепы, редиректы и прочее, но ничего этого нет, ссылка статическая, ни в каких обработчиках и генерациях не участвует
  • Вопрос задан
  • 283 просмотра
Подписаться 2 Простой 9 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Frontend-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
BestArmor
@BestArmor
Самый обычный (восхитительный) кодер ever на c#
Скорее всего, у тебя на сайте SPA (React, Vue) или какой-то самописный роутер на JS
Робот Яндекса видит клик по ссылке с протоколом tel, твой JS-роутер перехватывает событие, пихает путь в history (получается /catalog/tel) и только потом открывает звонилку. Метрика это ловит как просмотр страницы и шлет в вебмастер

Как чинить:
1. В JS-роутере добавь проверку. Если атрибут начинается с tel или mailto, не меняй URL
2. На саму ссылку повесь onclick с event.stopPropagation, чтобы твои глобальные листенеры не дергались
3. В robots.txt сделай Disallow для /tel (со звездочкой в конце)
4. В Вебмастере зайди в Индексирование -> Удалить URL и вручную снеси эти урлы. robots.txt только запрещает обход, но не выкидывает страницы из индекса моментально

атрибут rel nofollow тут вообще бесполезен, он только вес не передает, но саму ссылку робот все равно парсит
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
дело может быть не в самом tel:, а в фиче вебмастера «обход по счётчику метрики» — робот подтягивает новые урлы прямо из хитов метрики, если счётчик привязан к сайту. если где-то в js клик по tel: улетает в ym(id, 'hit', ...) с конкатенацией текущего пути и href — вот и получается фантомный /catalog/tel:.../, никакой spa-роутер тут не нужен. поищи в коде вызовы ym с 'hit' рядом с обработчиками телефонных ссылок, и в вебмастере в индексировании → настройках проверь, включен ли обход по счётчикам.
Ответ написан
Комментировать
@Iliya_Melnik_hjkr
Зачем сразу лезть в настройки сервера? Проблема чисто клиентская: глобальный листенер кликов ловит всё подряд. Атрибут rel="nofollow" тут бесполезен, он вообще не влияет на парсинг href роботом. Смотрите в сторону роутинга.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы