В Meteor я установил пакет spiderable
, который позволяет приложению для сканирования поисковыми системами. Однако я хочу исключить сканирование определенных путей.
Например, example.com/abc/[path]
не следует сканировать, а example.com/[path]
нужно.
Я не знаю, как это сделать. Можно включить robots.txt
в каталог /public
и использовать регулярное выражение, как описано здесь. Однако URL-адрес не содержит #!
, как в этом вопросе. Это актуально?
Моя текущая реализация немного сложнее и основана на следующей цитате из пакета README.md
:
Чтобы ссылки между несколькими страницами сайта были видны паукам, приложения должны использовать настоящие ссылки (например, ), а не просто повторно отображать части страницы при нажатии на элемент.
В тот момент, когда страница отображается, я проверяю, есть ли /abc
в корне пути, а затем устанавливаю постоянную переменную сеанса. Это позволяет мне сделать так, чтобы все пути в ссылках моих страниц не содержали префикс /abc
. При нажатии на ссылку проверяется, установлена ли переменная сеанса, и добавляется к пути в функции onBeforeAction()
, что позволяет отображать правильный шаблон. При этом я надеюсь, что эти ссылки не будут видны пауку, но я не уверен в надежности такого метода.
tl;dr — Как исключить сканирование определенных путей в Meteor?