Я хочу исключить, что мои пользовательские папки сканируются поисковым пауком.
Структура выглядит следующим образом. Учетные записи пользователей находятся под
www.mydomain.com/username
Проблема в том, что я не могу исключить "/" в запрещенной части моего файла robots.txt, потому что есть и другие папки, такие как
www.mydomain.com/legal
www.mydomain.com/privacy
Есть также элементы, которые пользователь может создать, которые должны быть сканируемы. Они находятся под
www.mydomain.com/username/items/itemId
Как мне настроить мой робот txt для этого сценария?
Если это вообще возможно, вы должны следовать предложению такси, чтобы изменить структуру своего каталога.
Если вы абсолютно не можете изменить структуру каталогов, вы можете использовать директиву allow и подстановочные знаки для решения обеих проблем:
User-agent: *
Allow: /legal$
Allow: /privacy$
Allow: /*/items/
Disallow: /
Просто имейте в виду, что не все роботы поддерживают этот синтаксис. Это определенно будет работать для всех основных поисковых систем, но это может не работать для некоторых старых роботов. Кроме того, это не особенно перспективно. Если позже вы добавите новые страницы верхнего уровня и вы забудете добавить их в файл robots.txt, они будут заблокированы. Идеальный подход - использовать структуру каталогов, которая изолирует то, что вы хотите заблокировать, от того, что вы не делаете.
Проверьте следующий ответ, возможно, он может решить вашу проблему:
Robots.txt Запретить имена определенных папок
Надеюсь это поможет.
см. следующий ответ на вопрос, чтобы исключить папку, но не ее дочерние элементы
Robots.txt Разрешить вложенную папку, но не родительскую
и вы также должны рассмотреть возможность использования структуры следующим образом:
mydomain.com/users/user1/subfolder
mydomain.com/users/user2/subfolder
чтобы более точно настроить ваши правила.