Чи може robots.txt знаходитися в підкаталозі сервера?


16

У мене є підкаталог, який я хотів би приховати від веб-сканерів пошукової системи.

Один із способів зробити це - використовувати robots.txtв кореневому каталозі сервера (стандартний спосіб). Однак кожен, хто знає URL-адресу веб-сайту та має деякі основні знання в Інтернеті, може отримати доступ до вмісту robots.txt та побачити заборонені каталоги.

Я продумав спосіб уникнути цього, але не впевнений, чи вдасться.

Дозвольте Xназвати підкаталог, який я хочу виключити. Один із способів зупинити веб-сканери, що індексують Xкаталог, і в той же час ускладнити комусь ідентифікацію Xкаталогу з root robots.txt, - це додати robots.txtв Xкаталог замість кореневого каталогу.

Якщо я дотримуюся цього рішення, у мене є такі питання:

  1. Чи знайдуть веб-сканери robots.txtв підкаталозі? (враховуючи це, robots.txtвже існує і в кореневому каталозі)
  2. Якщо robots.txtє в Xпідкаталозі, то чи слід використовувати відносні чи абсолютні шляхи ?:

    User-agent: *
    Disallow: /X/
    

    або

    User-agent: *
    Disallow: /
    

2
Я не впевнений, чому ви хочете уникати, щоб люди читали ваші заборонені каталоги, але якщо є конфіденційні дані, вони не повинні бути заблоковані роботами, а й обмежені входом або якоюсь іншою безпекою.
Ендрю Лотт

Це не так, я хотів би, щоб один конкретний користувач мав доступ до нього (нічого чутливого щодо даних, лише для конфіденційності), і я хотів би не блокувати каталог.
Рафаель

5
Якщо у вас є проблеми щодо конфіденційності, вам слід захистити дані іншим способом. Це не те, для чого саме robots.txt.
Ендрю Лотт

Відповіді:


18

Ні, веб-сканери не будуть читати або підкорятися файлу robots.txt у підкаталозі. Як описано на квазі-офіційному сайті robotstxt.org :

Куди його поставити

Коротка відповідь: у каталозі верхнього рівня вашого веб-сервера.

або на сторінках допомоги Google, ( підкреслення моє):

robots.txtФайл представляє собою файл в кореневому каталозі вашого сайту , який вказує на ті частини сайту , які ви не хочете отримати доступ з допомогою пошукових роботів пошукових систем.

У будь-якому випадку, використання robots.txt для приховування чутливих сторінок від результатів пошуку - все одно погана ідея, оскільки пошукові системи можуть індексувати сторінки, заборонені в robots.txt, якщо інші сторінки посилаються на них. Або, як описано на довідковій сторінці Google, пов’язаній вище:

Не слід використовувати robots.txt як засіб для приховування веб-сторінок від результатів пошуку Google. Це тому, що інші сторінки можуть вказувати на вашу сторінку, і ваша сторінка може індексуватися таким чином, уникаючи файлу robots.txt.

То що ж робити замість цього?

  • Ви можете дозволити пошуковим системам обходити сторінки (якщо вони знайдуть їх), але включити метатег роботів із вмістом noindex,nofollow. Це дозволить пошуковим системам не індексувати ці сторінки, навіть якщо вони знаходять посилання на них, а також не переходити до подальших посилань із цих сторінок. (Звичайно, це буде працювати лише для веб-сторінок HTML.)

  • Для ресурсів, що не містять HTML, ви можете налаштувати веб-сервер (наприклад, за допомогою .htaccessфайлу) для надсилання заголовка HTTP X-Robots-Tag з тим самим вмістом.

  • Ви можете встановити автентифікацію пароля, щоб захистити чутливі сторінки. Окрім захисту сторінок від несанкціонованих відвідувачів людей, це також ефективно запобігає сканування веб-сторінок.


Фантастичний - це статична HTML-сторінка, яка, додавши метатег, зробить трюк. Дякую.
Рафаель

5

Ви robots.txtповинні знаходитись у кореневому каталозі та не мати іншого імені. Відповідно до стандартної специфікації :

Цей файл повинен бути доступний через HTTP за локальною URL-адресою "/robots.txt".


Зважаючи на це, веб-сканери не шукатимуть жодного іншого каталогу для robots.txt?
Рафаель

1
Не те, що я коли-небудь бачив. /robots.txtце стандарт, то як би пошукові системи навіть знали, де шукати інакше?
Ендрю Лотт

0

Ви дійсно можете використовувати robots.txt в підкаталозі. Зараз ми ставимося до наших мовних субдоменів. Ми використовуємо форму переадресації 301 /robots.txt до /lang/robots.txt (на піддомен), і вона підбирається правильно.

Він також підбирає структуру папки як правильний корінь при використанні простого косого кута. напр. заборонити: /

трактується як забороняє все, а не лише поточний підкаталог, у якому перебуває файл {redirected} robots.txt.

Але знову ж таки, ми переспрямовуємо з 301 і маємо це на місці, тому без 301 я сумніваюся, що він коли-небудь знайдеться ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.