<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 3.0

PHP и MySQL с Нуля до Гуру 3.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 9 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

В курсе Вы узнаете всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

В Бонусе «Создание сайта для библиотеки» Вы увидите применение знаний из основного курса при создании полноценного проекта.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Файл robots.txt

Файл robots.txt

Для управлений индексацией сайта поисковыми системами существует файл robots.txt. Если рассуждать глобально, то файл robots.txt позволяет запрещать одни файла или каталоги для индексации и разрешать другие. Вот о том, как этим файлом пользоваться, как разрешать и запрещать индексацию определённых страниц и каталогов, Вы узнаете из этой статьи.

Robots.txt - это обычный текстовый файл, который расположен в корне сайта. Файл robots.txt состоит из набора директив, каждая из которых сообщает какую-либо информацию поисковому роботу.

Но прежде чем приступать к разбору различных директив, нужно определиться с общим синтаксисом:

директива:значение

Как видите, синтаксис самый наипростейший. А теперь давайте разберём самые важные директивы.

User-Agent

Эта директива означает, к какому роботу относятся все последующие директивы. Если стоит значение "*", то это относится абсолютно ко всем поисковым роботам. Если же Вы хотите выделить определённую поисковую систему, то необходимо поставить в качестве значение имя поискового робота (например, "Yandex", "Google", "Rambler", "Mail" и так далее). Пример использования директивы "User-Agent":

User-agent: Google

Allow

Данная директива разрешает индексацию указанных в значении элементов. Например, так:

Allow: /images

В данном примере мы разрешаем индексацию каталога "images".

Disallow

Противоположность директиве "Allow", то есть, наоборот, запрещает индексацию указанных элементов. Пример:

Disallow: /library

Также очень важно помнить о приоритете. Приоритет имеет та директива, которая расположена выше. Например, в таком файле robots.txt:

Allow: /images
Disallow: /

Здесь запрещается индексировать сайт полностью ("Disallow: /"), но так как у нас до этого идёт директива Allow, и она является приоритетной, то на индексацию каталога "images" запрет не распространяется.

Или, например, такой вариант:

Disallow: /
Allow: /images

В данном примере, мы сначала всё запрещаем, а потом пытаемся разрешить индексацию каталога "images", однако, этого не произойдёт. Так как директива Disallow стоит раньше, и она имеет более высокоий приоритет. То есть результатом данного файла robots.txt будет полный запрет индексации сайта.

*

"*" используется в директивах Allow и Disallow, и "*" означает любую последовательность символов. Чтобы стало понятнее, привожу пример:

Disallow: /library/*.php

Таким образом, мы запрещаем индексацию всех PHP-файлов в директории "library". Однако, файл "library/page.html" будет доступен для индексации.

Sitemap

Использовать данную директиву нужно только в том случае, если у Вас имеется XML-версия карты сайта. В значении данной директивы необходимо указать полный путь к карте сайта. Например, так:

Sitemap: http://mysite.ru/sitemap.xml

Host

Данную директиву понимает только Яндекс, поэтому другие поисковые роботы данную директиву просто пропустят. Содержит "Host" адрес основного сайта. Допустим, у Вашего сайта имеется несколько зеркал (например, mysite.ru, mysite.com, mysite.net и так далее). В значении данной директивы необходимо указать основной адрес:

Host: mysite.ru

Также данная директива полезна для устранения дублирования с www, так как по сути www.mysite.ru и mysite.ru - это два совершенно разных сайта с точки зрения поисковой системы: Просто укажите то значение (с www или без) в значении директивы Host, которое Вы хотите, и это дублирование пропадёт. Однако, не забывайте, что это поймёт только Яндекс, а для Google надо всё-таки задавать 301 редирект (здесь более подробно об этом). Поэтому используйте данную директиву, как дополнительное лекарство, а не как основное.

Clean-param

Последняя директива, которая иногда имеет очень серьёзное значение, это "Clean-param". Если Ваш сайт динамический, и ссылки имеют GET-параметры, то очень часто в GET передаются параметры, которые не влияют на содержимое страницы. Например, два адреса одной и той же страницы:

http://mysite.ru/index.php?id=15&sid=fdsl3l39dsfdsl3l39ds93fdsl3l39ds
http://mysite.ru/index.php?id=15&sid=a4hl33392gfhnlz4hdklf3fd372dvxfs

Фактически, данные ссылки отличаются значением параметра "sid", а потому для поисковой системы это две совершенно разных страницы. Однако, очень часто такие параметры никак не меняют контент страницы. И вот для того, чтобы убрать дублирование (злейший враг оптимизации), возникающее вот от таких параметров, нужно использовать директиву "Clean-param":

Clean-param: sid /index.php

Это, пожалуй, все самые важные и самые частоиспользуемые директивы файла robots.txt. Есть ещё несколько, но они используются крайне редко, и лучше ими голову не забивать, хотя, если хотите, то можете поискать в Интернете.

И, напоследок, приведу пример своего файла robots.txt (на момент написания статьи), а также подробно его поясню:

User-agent: *
Disallow: /admin
Disallow: /captcha
Disallow: /js
Disallow: /lib
Disallow: /scripts
Disallow: /print.php
Sitemap: http://myrusakov.ru/sitemap.xml
Host: myrusakov.ru

В данном robots.txt для всех поисковых роботов запрещена индексация следующих каталогов: "admin", "captcha", "js", "lib", "scripts". Также запрещена индексаци файла "print.php". Путь к XML-версии карты сайта: "http://myrusakov.ru/sitemap.xml". Основной адрес сайта - "myrusakov.ru".

И главное правило, которое используется чаще всего при составлении robots.txt - это "всё, что не запрещено - разрешено". Фактически, в примере robots.txt, я ничего не разрешал, а только запрещал. Это означает, что всё, что я не запретил, поисоковый робот может индексировать. Вот такое простое правило. Другими словами, если Вы создавать файл robots.txt не будете, то Ваш сайт будет индексироваться полностью от начала и до конца, что не всегда хорошо, так как поисковому роботу совсем необязательно индексировать различные скрипты и системные файлы. Вот для задания запретов и существует файл "robots.txt", о котором Вы теперь знаете всё, что нужно.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (61):

Alim_(I) Alim_(I) 30.06.2011 11:10:09

А какое по умолчанию стоит значение у директивы "User-agent"?

Ответить

Admin Admin 30.06.2011 13:35:04

Какое значение по умолчанию, решают поисковые системы, но я думаю, что абсолютно все, ставят значение *.

Ответить

Alim_(I) Alim_(I) 30.06.2011 11:14:42

И директива "Disallow" позволяет полностью игнорировать файл, или на сайте его применять можно? Например: если я запретил индексировать файл captcha.php, то на сайте его применять можно например вот так: <img src="captcha.php"> или нет?

Ответить

Admin Admin 30.06.2011 13:35:49

На сайте можете, сколько угодно их применять, они не будут индексироваться поисковыми системами.

Ответить

Alim_(I) Alim_(I) 30.06.2011 14:02:55

А в эти файлы зайти можно будет? Например: пользователь напишет ialim.ru/captcha.php , и зайдет он на этот файл? Или нет?

Ответить

Admin Admin 30.06.2011 14:17:24

Зайдёт, конечно. Этот файл относится только к поисковым роботам, и никто этот файл, кроме них не смотрит.

Ответить

sergeevna sergeevna 02.07.2011 18:08:47

Что то я запуталась. Вы не могли бы объяснить, что это значит? User-Agent: * Crawl-Delay: 10 Request-rate: 1/10

Ответить

Admin Admin 02.07.2011 18:40:29

Crawl-Delay: 10 - для яндекса. Это означает, что он должен обращаться к серверу не чаще, чем раз в 10 секунд. Это делается для уменьшения нагрузки на сервер. Request-rate: 1/10 - означает абсолютно то же самое, но только для google и других западных поисковиков.

Ответить

sergeevna sergeevna 04.07.2011 12:52:08

Здравствуйте Михаил! Помогите с вопросом,что это значит? Index of / Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.17 Server at .Port 80

Ответить

Admin Admin 04.07.2011 13:23:47

Это различная информация о сервере.

Ответить

sergeevna sergeevna 04.07.2011 13:45:38

Я прошу прощения,когда я ввожу в поиск название своего сайта,то изначально показывается эта информация.Что нужно,что бы сразу отображалась главная страница? Если не сложно обьясните пожалуйста...

Ответить

Admin Admin 04.07.2011 18:33:28

Главная страница должна называться index.html (или index.php, или index.htm).

Ответить

sergeevna sergeevna 04.07.2011 23:52:36

Михаил,извините меня за такой вопрос: ваш сайт находится на yutex?

Ответить

Admin Admin 04.07.2011 23:59:00

Раньше находился, но уже где-то 1.5 месяца пользуюсь услугами Hostia.ru

Ответить

sergeevna sergeevna 05.07.2011 00:11:38

Вы не подскажете,по опыту работы,где отключается автоматическая кодировка сайта и есть ли там такая функция?Сайт в utf-8,а при проверке выдаёт,что кодировка [ISO-8859-1].И письма мне на почту приходят в сплошной тарабарщине.

Ответить

Admin Admin 05.07.2011 00:35:13

Попробуйте создать файл .htaccess и добавить туда такую строчку: AddDefaultCharset UTF-8

Ответить

sergeevna sergeevna 05.07.2011 00:51:05

а помещать его потом куда?

Ответить

Admin Admin 05.07.2011 01:23:15

В корень сайта.

Ответить

sergeevna sergeevna 05.07.2011 10:38:09

Михаил,извините за назойливость,но вы единственный,кто может все нормально обьяснять таким "чайникам" как я((.Помогите с таким вопросом. Я не могу понять, почему при вводе своего адреса http://....ru, мне выдается различная информация о сервере и потом ссылка на мой сайт.Голову сломала, не могу понять в чем дело. Главная страница index.html. Почему нет переходасразу на главную страницу? Помогите пожалуйста!!!!!

Ответить

Admin Admin 05.07.2011 12:15:04

А Вы точно в корень сайта кидаете (директория public_html или www)? Такая ошибка возникает, когда не существует ни одного файла.

Ответить

sergeevna sergeevna 05.07.2011 12:22:31

В директорию public_html. Может надо что то прописать в index....что бы при запросе сразу открывалась главная страница?

Ответить

Admin Admin 05.07.2011 12:31:39

Дайте ссылку на сайт.

Ответить

sergeevna sergeevna 05.07.2011 12:34:45

только сильно не пугайтесь и не смейтесь((( я учусь http://mastericam.ru

Ответить

Admin Admin 05.07.2011 12:38:07

Вы зачем-то создали папку с названием домена. Скопируйте содержание этой папки и вставьте в ту же директорию, в которой находится эта папка. А затем удалите эту папку.

Ответить

sergeevna sergeevna 05.07.2011 13:01:10

Простите меня за непонятливость! Я окончательно запуталась!Что скопировать,что удалить,где это находится и куда что вставлять(((!!!

Ответить

Admin Admin 05.07.2011 14:50:56

У Вас в public_html находится папка mastericam.ru . Удалите её вообще. А потом скопируйте в public_html файл index.html.

Ответить

sergeevna sergeevna 05.07.2011 15:16:32

А где тогда будут расположены фото и вся остальная информация? в директории www? На сайте все пропало...

Ответить

Admin Admin 05.07.2011 17:26:12

Да. Всё должно находиться в папке www.

Ответить

sergeevna sergeevna 06.07.2011 00:40:24

СПАСИБО ВАМ ОГРОМНОЕ ЗА ПОМОЩЬ!!!!! Получилось! Только одна маленькая проблема каждая страница http отображается с таким знаком %20!Как это можно убрать. Пробовала удалять,выскакивает опять...

Ответить

Admin Admin 06.07.2011 01:22:10

%20 - это пробел. Сотрите пробелы из названия страниц, и этот символ исчезнет.

Ответить

sergeevna sergeevna 06.07.2011 13:50:32

C фавиконом не получается,хотя расположение правильное.%20 не убираются.((( Михаил,скажите, Ваш сайт добавлен в каталоги? Если да, то не подскажете,как это сделать? И еще такая просьба,не могли бы Вы оценить (как спец),все ли верно у меня прописано на страницах? Очень много ошибок? Если конечно Вам не трудно....

Ответить

Admin Admin 06.07.2011 15:20:08

Надо убрать из названия файлов пробелы, то есть вместо мой файл.html поставить мой_файл.html Тогда %20 пропадёт. В каталоги мой сайт не добавлен, и не надо заниматься этой ерундой. Ничего, кроме фильтра (а может и бана) со стороны поисковых систем не получите. Это устаревшая информация о том, что они помогают. Оценить страницу можно только с точки зрения валидности HTML: http://myrusakov.ru/html-valid.html

Ответить

sergeevna sergeevna 06.07.2011 18:01:57

Не получается((((( % не пропадают...

Ответить

Admin Admin 06.07.2011 18:12:50

Чудес не бывает. Значит, Вы что-то не так делаете. Вы должны зайти по FTP на Ваш сайт, добраться до папки со страницами и переименовать эти страницы. Также советую изменить названия страниц на латинские символы. Это работает 100%, если сделать так, как я пишу. Если не работает, значит, ищите у себя ошибку. Другого варианта не будет.

Ответить

sergeevna sergeevna 06.07.2011 18:25:48

Оно вот где.Это я скопировала из public_html <div id="logo"><a href="#">мастерицам.ру</a></div> <div id="menu"> <ul> <li><a href="index.html">Главная</a></li> <li><a href="Для%20детей.html">Для детей</a></li> <li><a href="Для%20женщин.html">Для женщин</a></li> <li><a href="Для%20мужчин.html">Для мужчин</a></li> <li><a href="Для%20начинающих.html">Для начинающих</a></li>

Ответить

Admin Admin 06.07.2011 21:43:56

Здесь тоже надо всё исправить, чтобы ссылки были рабочие.

Ответить

sergeevna sergeevna 06.07.2011 22:13:30

О Господи... Михаил,скажите, а эти %20- это критическая ошибка? Или на это можно не обращать внимания? Голова уже не варит! Ничего не получается(((

Ответить

sergeevna sergeevna 29.10.2011 12:59:21

Здравствуйте Михаил. Подскажите пожалуйста, почему при проверке файла robots.txt поисковики выдают такую информацию Request-rate: 1/10 - обнаружена неизвестная директива. Что я не правильно написала? Весь файл robots.txt: User-agent: Yandex User-agent: Aport User-agent: Googlebot User-agent: StackRambler User-Agent: * Crawl-Delay: 10 Request-rate: 1/10 Disallow:/admin Disallow:/captcha Disallow:/js Disallow:/lib Disallow:/scripts Disallow:/print.php Sitemap:http://mastericam.ru/sitemap.xml Host:mastericam.ru

Ответить

Admin Admin 29.10.2011 13:24:16

Request-rate: 1/10 - Яндекс не понимает, однако, данная директива вставляется автоматически. Ничего плохого не будет, если эту директиву оставить, её просто Яндекс будет игнорировать.

Ответить

Леонид Хлюпин Леонид Хлюпин 16.06.2012 11:25:22

Марина, классный сайт! Тематика очень востребованная. Можно сделать посещаемый ресурс. Только делать его имеет смысл на html, а не на cms. Если Вы хотите развиваться в данной области, купите хорошую книгу по html - и вперед ))

Ответить

mobidik72 mobidik72 10.11.2012 21:16:51

Интересно было бы узнать, а чем сайт на cms плох?

Ответить

Admin Admin 10.11.2012 21:35:44

http://myrusakov.ru/php-engine-vs-null.html

Ответить

Firexi Firexi 19.03.2013 18:19:34

Подскажите пожалуйста, как закрыть в robot.txt русский url типа Страница-2.html Прописываю так, Disallow: /Страница-2.html но когда пытаюсь добавить страницу мой_сайт.Ru/Страница-2.html а аддурилку яндекса пишет что все нормально и робот внесет в поиск страницу? Или сделать ридирект.

Ответить

Admin Admin 19.03.2013 21:38:33

Не используйте вообще никогда и нигде названия файлов и страниц с русскими символами.

Ответить

Firexi Firexi 19.03.2013 21:54:05

Михаил, я извеняюсь, я просто только начинаю познавать сайтостроение, и я не использовал их, просто мой сайт на Joomla вот в чем впринципе проблема, я уже сам понял как в robot.txt запрещать индекс русских url, если б еще подсказали как делать с них ридирект в .htaccess

Ответить

Admin Admin 19.03.2013 22:02:32

Redirect 301 /old.htm /new.htm

Ответить

Firexi Firexi 19.03.2013 22:22:24

Такой вариан я пробывал и с url "Страница-2.html" почему-то нет ридиректа и url как открывался так и открывается да и плагин SEF тоже не делает ридирект, хотя его создаю. С url "сайт/home" все нормально да и с другими урлами ридирект с помощью SEF работает. В .htaccess стоит ридирект c index.php тоже работает. Блин задолбал я уже всех)

Ответить

Eks1g1 Eks1g1 29.06.2013 00:21:48

Добрый вечер Михаил. Скажите, а нужно ли к папке с шаблонами ставить "Disallow" то есть к той папке в которой tpl файлы?

Ответить

Admin Admin 29.06.2013 11:04:23

Да, можно.

Ответить

Олег Олег 27.10.2013 17:59:56

Михаил здравствуй! У меня текст главной страницы записан в шаблоне main_article.tpl в папке tmpl Значит ли это, что если я поставлю Disallow: /tmpl/ то главная страница моего сайта не будет индексироваться?

Ответить

Admin Admin 27.10.2013 22:26:10

Нет, не значит. tpl используется только самим движком, никто эти файлы больше и видеть не должен. Более того, лучше туда вообще залить файл .htaccess с Deny from all

Ответить

Олег Олег 27.10.2013 23:03:22

Понял. А вариант Disallow: /tmpl/ и вариант "лучше туда вообще залить файл .htaccess с Deny from all" друг друга не исключают? Если я использую оба варианта в дальнейшем ошибок не будет?

Ответить

Admin Admin 28.10.2013 12:15:58

Не будет.

Ответить

Listravkina Listravkina 29.12.2013 01:48:12

Добрый день Михаил! ПОдскажите пожалуйста, поставила код из статьи с перенаправлением на www. В опере перенаправление работает, а в хроме, мазиле и ИЕ нет. В чем может быть проблема?

Ответить

alexandrdante alexandrdante 29.12.2013 01:56:09

без понятия. попробуйте в user agents указать названия браузеров или вообще *

Ответить

shepalex shepalex 25.10.2014 01:47:37

Папку с картинками включать в не индексируемые файлы?

Ответить

alexandrdante alexandrdante 25.10.2014 02:16:53

не принципиально.можете оставить в индексе. Яндекс и гугл.картинки ещё никто не отменял

Ответить

artyomproduction artyomproduction 14.09.2015 20:39:41

здраствуйте.Михаил прошу помочь мне. в резултатах поиска гугл гл. стр. моего сайта появилась в этих вариянтах .. 1)В обычном -> mydomain.am/ 2)и в виде постраничной навигации -> mydomain.am/?page=3 и т.д, как мне сделать чтобы эти все странички пейджи не индексировал и не выдавал в результатах ГУГл?

Ответить

Igori Igori 20.03.2016 20:26:11

Михаил скажите пожалуйста почему в файле robots.txt, когда я пишу так: User-Agent:* Disallow: /...../ запрета индексации не происходит, а если так: User-Agent:* Disallow: /*...../ то все нормально. Почему? Объясните пожалуйста!

Ответить

shamil shamil 10.08.2017 12:22:20

Как можно поставить запрет индексирования на удаленную страницу с сайта, А лучше нескольких. Они сохранены в поиске, и мне нужно удалить url. Пример url ?view=article&id=115

Ответить

Katy-katy Katy-katy 02.12.2017 13:04:56

Долго не могла разобраться как работать с robots.txt ,пока не нашла эту статью https://ifish2.ru/fail-robots-txt-chto-eto-takoe/ . Эти ребята помогли мне разобраться с файлом и даже помогли исправить мои ошибки!! Теперь мой сайт работает как надо))

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.