Правильне оформлення файлу robots.txt
Даний файл має свій особливий формат і складається з декількох записів. Кожен запис в свою чергу має два поля: в першому знаходиться рядок з назвою клієнтської програми, відома як user-agent. а також кілька рядків з директивами типу
Рядок User-agent - тут знаходиться назва робота. Наприклад:
Символ підстановки підходить для звернення до всіх роботам відразу «*»:
Список вашого веб-сервера як правило зберігають назви роботів. Щоб побачити їх, виберіть запити, що йдуть виключно до файлу robots.txt. Також пам'ятайте, що більшість павуків-індексаторів має короткі імена.
поле Disallow
Рядки Disallow знаходяться в другій частині представленого запису. Директиви для певного робота містяться саме тут. З їх допомогою робот може дізнатися, які файли і / або каталоги йому забороняється індексувати. Наприклад, зазначена нижче директива не дозволяє павукам вести індексацію файлу email.htm:
У директиві може бути також назва каталогу
Директива такого типу не дозволяє павукам вести індексацію директорії «cgi-bin«.
У Disallow цілком можуть бути також символи підстановки, згідно зі стандартами директива / bob закриє від павуків /bob.html і так само /bob/index.html.
У разі порожній директиви Disallow робот спокійно проиндексирует всі файли. У кожному полі User-agent повинно міститися не менше однієї директиви Disallow. Це робиться для того, щоб файл robots.txt був розпізнаний коректно. Повністю порожній robots.txt є, по суті, тим же самим, що і відсутність файлу.
Пропуск на початку рядка в принципі дозволяється, але краще від нього утриматися
Disallow: bob #comment
Наступна директива покликана дозволити індексацію всіх розділів, так як тут використовується вже відомий символ підстановки «*».
User-agent: *
Disallow:
А така директива повністю забороняє індексацію:
User-agent: *
Disallow: /
Директорії «cgi-bin» і «images» закриті для індексації:
User-agent: *
Disallow: / cgi-bin /
Disallow: / images /
Робот Roverdog не повинен заходити ні на один з каталогів сервера:
User-agent: Roverdog
Disallow: /
Google робот googlebot не повинен індексувати файл cheese.htm:
User-agent: googlebot
Disallow: cheese.htm
Більш складні приклади управління індексацією, або приклад діючого файлу robots.txt можна побачити на багатьох великих сайтах наступним чином:
Як знайти певний robots.txt?
Згідно зі статистикою, близько 5% всіх robots.txt зроблені некоректно або з помилками, а 2% файлів роботи взагалі не можуть зрозуміти, так як кількість помилок перевищує допустимий.
Ось список найбільш часто зустрічаються помилок при створенні robots.txt:
перевернутий синтаксис
Ця помилка зустрічається дуже часто:
User-agent: *
Disallow: scooter
Ось правильний варіант:
User-agent: scooter
Disallow: *
Більше однієї директиви Disallow в рядку
Disallow: / css / / cgi-bin / / images /
Кожен павук може зрозуміти таку директиву по-своєму. Хтось із павуків проігнорує прогалини, і не буде проводити індексацію директорії / css // cgi-bin // images /. Павуки також можуть провести індексацію тільки одного каталогу (/ images / або / css /), залишивши інші без уваги.
Ось приклад правильного синтаксису:
Disallow: / css /
Disallow: / cgi-bin /
Disallow: / images /
Написання рядка в форматі DOS
Іноді файл robots.txt редагують в форматі DOS. Хоча багато павуки вже навчилися «розуміти» цю поширену помилку, все ж варто стежити за її відсутністю. Найкраще проводити будь-які корективи robots.txt в UNIX. закачування ж проводити в режимі ASCII. Більшість FTP-клієнтів для закачування файлів на сервер вже мають відповідні опції для коректного перекладу символів рядка з DOS-формату в UNIX-формат. Але, на жаль, робити це вміють не всі.
За новими стандартами можна писати і так:
Disallow: / cgi-bin / #this bans robots from our cgi-bin
Прогалини в початку рядка
Прогалини ніяк не відзначається в стандартах, але це вважається поганим стилем. Також ніхто не дасть гарантію, що система сприйме все правильно
Редирект на іншу сторінку при помилку 404
Часто при виникненні помилки 404 (файл не знайдено) вам може бути видана особлива сторінка, як наприклад 404.html. При цьому перехід на головну сторінку сайту не здійснюється. При такому варіанті робот може не зрозуміти, що файлу robots.txt просто немає, натомість для нього існує html-сторінка з певним вмістом. В принципі, це не повинно викликати збої, але, тим не менше, все можливо. Складно сказати, як зрозуміє робот подібний html файл. Може трапитися так, що вся сторінка буде розпізнано як за robots.txt. Щоб уникнути цього, помістіть robots.txt в кореневий каталог навіть в тому випадку, якщо файл порожній.
Як би ви вчинили, будучи роботомslurp і зіткнувшись в даними директивами?
User-agent: *
Disallow: /
#
User-agent: slurp
Disallow:
У той час як перша директива несе заборона для всіх роботів індексувати сайт, проте наступна за нею директива дозволяє саме для slurp. Яке дію потрібно в результаті від slurp. Можливий варіант, що роботи зрозуміють ці директиви невірно. У цій ситуації slurp повинен проіндексувати весь сайт, інші ж роботи повинні його повністю проігнорувати.
Верхній регістр всіх букв - некоректне заповнення файлу:
USER-AGENT: EXCITE
DISALLOW:
Хоча регістр букв в robots.txt не має кардинального значення, але в іменах каталогів, як втім і файлів, регістр важливий. Найкраще писати в верхньому регістрі тільки перші літери в словах User і Disallow.
Список всіх файлів каталогу
Disallow: /AL/Alabama.html
Disallow: /AL/AR.html
Disallow: /Az/AZ.html
Disallow: /Az/bali.html
Disallow: /Az/bed-breakfast.html
Замість цього можна записати те за саме іншим чином:
Disallow: / AL
Disallow: / Az
Не забувайте, початкова похила риса позначає каталог. По суті, вам не забороняють перерахувати два або три файли, але ж ми говоримо про стиль. Такий приклад бачили в файлі robots.txt вагою понад 400 кілобайт зі згадуванням більше 4000 файлів! Можна припустити, що багато роботи-павуки вирішили більше не приходити на цей сайт, тільки лише побачивши такий файл.
Є директива Disallow, і тільки вона!
Директиви Allow як такої взагалі немає. Цей приклад невірний:
User-agent: Spot
Disallow: / john /
allow: / jane /
Ось приклад правильного заповнення:
User-agent: Spot
Disallow: / john /
Disallow:
Відкриває похила риса неприпустима
Як може робот-павук розпізнати дану директиву:
User-agent: Spot
Disallow: john
Стандарти кажуть, що robot.txt забороняє індексацію файлу «john» і каталогу john ». Але при використанні похилій риси робот зможе відрізнити файл від каталогу.
Деякі люди намагаються записувати в файл robots.txt ключові слова для свого сайту, що, в общем-то, не має ніякого сенсу.
Іноді знаходилися файли robots.txt, зроблені як html-документи. Не забувайте, що в FrontPage створювати robots.txt не варто.
Некоректно налаштований сервер
Яким чином на запит robots.txt веб-сервер може несподівано видати бінарний файл? Зазвичай це буває в разі, коли ваш веб-сервер має неправильні настройки, або ви самі неправильно закачали ваш файл на сервер.
Після закачування файлу robots.txt на сервер його потрібно перевірити. Досить зробити запит у вашому браузері:
Цього вистачить для перевірки.
Особливість сервера Google в тому, що він здатний підтримувати в директивах регулярні вирази. Це дає можливість забороняти індексацію файлів, орієнтуючись на їх розширення.
User-agent: googlebot
Disallow: * .cgi
Поле user-agent використовуйте для вказівки імені «googlebot». При цьому, інші павуки, швидше за все, не зрозуміють вашу директиву.
Даний тег буде корисний також тим, хто не має доступу до кореневого каталогу сервера robots.txt і відповідно не може внести зміни.
Такі пошукові системи як Inktomi в повній мірі розуміють мета-тег robots. Inktomi пройде по всіх сторінках вашого сайту в тому випадку, якщо значення зазначеного тега буде «index, follow».
Формат мета-тега Robots
Мета тег robots повинен бути розміщений в тезі html-документа. Це нескладний формат (реєстр букв не важливий):
Значення мета-тега robots
Даний мета-тег може мати максимум чотири значення content:
index, noindex, follow, nofollow
Значення в кількості більше одного розділяються комами.
На сьогоднішній день мають вагу у такому значенні:
Директива INDEX віддає роботу команду індексувати сторінку.
Директива FOLLOW дає знати роботу-павуку, що йому можна вести індексацію посилань на цій сторінці. Можна прочитати в ряді джерел, що при відсутності таких значень пошукові роботи діють так, як у випадку директиви INDEX і FOLLOW. На жаль, пошуковий сервер Inktomi зрозуміє це як «index, nofollow».
Глобальні директиви мають такий вигляд:
Індексувати все = INDEX, FOLLOW
Чи не індексувати нічого = NOINDEX, NOFOLLOW
Приклади мета-тега robots