Htaccess закрыть файл от индексации

Обновлено: 18.05.2024

Сайт невозможно правильно настроить, если не влазить в файлы конфигураций, такие как htaccess. При помощи него вы сможете скрыть некоторые части ресурса от индексации, запретить просмотр директорий, закрыть доступ к отдельным папкам, установить переадресацию и произвести склейку зеркал. В данной статье будут рассмотрены некоторые полезные возможности файла htaccess, которые понадобятся вам для индексации и улучшения работы веб-ресурса.

Что собой представляет файл htaccess

Чтобы корректно настроить сайт при помощи файла дополнительных конфигураций htaccess, вы должны осознать принцип его работы. Стоит отметить, что не каждый сайт поддерживает такой файл, а лишь сервера, наподобие Apache. На таких серверах обязательно должны быть настройки, которые определяют возможности файла htaccess.

Приоритетность действия файла htaccess определяется его расположением, как уже было сказано выше. При этом действие распространяется не только на каталог, в котором размещен файл дополнительных конфигураций, а и на все внутренние папки. Допустим, если вы хотите скрыть от индексации определенный раздел ресурса, вы можете разместить внутри него файл htaccess с соответственными настройками. А если понадобится открыть для индексации какой-то раздел, который находится внутри каталога с файлом htaccess, то вы можете для него сделать отдельный конфигурационный файл и он будет ему подчиняться.

Как пользоваться директивами DirectoryIndex, Options и Options All Indexes

Опции Options Indexes и Options All Indexes необходимы для того, чтобы разрешить или запретить листинг каталогов сайтов. Приставка All означает, что эта опция будет действовать на все каталоги и папки. То есть настройка Options All не является гибкой для отдельных директорий, а сразу для всех, которые подчиняются данному файлу htaccess. Размещать файл htaccess с настройкой Options All следует в корне сайта, либо в одном из ключевых разделов, доступ к папкам которого вы хотите отключить.

Hide_php_extension

Учтите, что опция Options Indexes с плюсом или минусом не всегда будет действовать на все папки, находящиеся внутри каталога с htaccess. Для этого необходимо скорректировать некоторые настройки на сервере Apache. В частности, нужно поставить опцию AllowOverride All. Обычно, она установлена по умолчанию, но иногда вместо All бывает прописано None, что ограничивает действие Options Indexes только до текущей папки с файлом htaccess.

Также стоит обратить внимание и на то, что опция Options Indexes напрямую связана с настройкой строки DirectoryIndex внутри файла htaccess. Опция DirectoryIndex нужна для того, чтобы определить индексный файл внутри папки. Команда DirectoryIndex также действует на внутренние каталоги папки, в которой размещена. Суть опции DirectoryIndex в том, что она определяет файлы, которые необходимо считать индексными.

Set-directory_index-and-404_error_message

В чем разнца между Options Indexes и IndexIgnore

Сделать одно и то же внутри файла htaccess можно разными способами. В этом и кроется преимущество использования именно этого конфигурационного файла для определения различных опций. К примеру, вы сможете не просто открыть листинг для каталогов без индексных папок, но и гибко его настроить, чтобы скрыть с посторонних глаз важные файлы сайта. Для этого необходимо использовать опцию IndexIgnore.

Разница между Options Indexes и IndexIgnore в том, что вторая опция зависима от первой. Ведь если в htaccess будет прописан запрет листинга -Indexes, то нет смысла указывать файлы в команде IndexIgnore. Эта команда скорее нужна для того, чтобы дополнить опцию Options Indexes некоторыми исключениями. Самостоятельно использовать IndexIgnore не стоит, так как нет смысла этого делать. Не забывайте пополнять перечисление файлов в IndexIgnore по мере того, как будут появляться конфиденциальные файлы в каталоге листинга.

Снимок-экрана-2014-10-16-в-19.36.46

RewriteRule ^index.php$ / [QSA,R]

htaccess-rewrite-718

Как можно закрыть весь сайт или отдельную его часть от индексации

Стоит отметить, что такую опцию можно прописать не только внутри файла htaccess. Достаточно часто, чтобы закрыть ресурс от индексации, используют файл robots.txt. Он необходим как раз для того, чтобы управлять поисковыми роботами, потому разумно указывать параметры индексации именно в нем. Так, чтобы закрыть доступ ко всем директивам сайта в файле robots.txt можно прописать всего две строчки:

Если вы не пропишите слэш в конце строки Disallow: внутри файла robots.txt, то с точностью наоборот разрешите индексацию для всех папок. Если же вы хотите закрыть доступ только для некоторых папок, то укажите их после строки Disallow. Учтите, что есть разница в указании папки со слэшем или без него. Если вы пропишите название папки без слэша, например /images, то индексация будет запрещена не только для указанной папки, но и для страниц, которые в названии содержат слово images. Потому лучше пишите запрет индексации в следующем виде Disallow: /images/.

Если и нужно закрыть индексацию веб-ресурса, то многие предпочитают это делать именно при помощи файла robots.txt. И это разумно, поскольку сделать это в htaccess куда сложнее. Важно знать правила разметки функций в этом файле конфигураций. Вам необходимо будет указывать имена роботов, чтобы запретить для них индексацию определенных папок. Например, чтобы закрыть для их просмотра папку /images/, нужно сначала прописать строку для одной поисковой системы: RewriteCond % ^Google.* [OR], потом для другой, поскольку был указан параметр OR (или): RewriteCond % ^.*yandex.*,а уже затем указать папку и правило запрета: RewriteRule ^/images/.*$ – [F]. А если бы файл .htaccess находился внутри папки /images/, то вам бы не пришлось указывать ее название в последней строке: RewriteRule ^.*$ – [F].

Достоинство файла .htaccess в плане настройки запретов индексации в том, что вы можете настроить эту опцию более точно при помощи данного документа. Если в robots.txt нужно указывать напрямую что можно, а что нельзя, то в htaccess вы можете прописать всяческие условия для запрета индексации. К примеру, вы можете заблокировать индекс всего сайта, а его поддомены оставить. Либо вы можете несколькими способами прикрыть индексацию ссылок на сайте. Например, сделать так, чтобы поисковый робот при переходе по ссылке на сайте попадал на главную страницу, а пользователь переходил по настоящему URL.

Но чтобы прописывать сложные условности в файле htaccess, нужно иметь достаточный опыт для этого и знания. Потому вам следует почитать блоги иностранных веб-разработчиков, которые умеют настраивать htaccess гораздо лучше, чем вебмастера Рунета, судя по однообразности обучающих материалов в русском Интернете.


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

Самый очевидный способ скрыть нежелательные страницы из поисковой выдачи – закрыть их от индексации с помощью файла robots.txt. Но результат отличается от того, который ждешь: сайты все равно отображаются в поиске. В этой статье Йост де Валк из Yoast объясняет, почему так происходит, и рассказывает, что нужно сделать, чтобы страница или сайт исчезли из выдачи.

Разница между индексированием и показом в результатах поиска Google

Прежде чем объяснить, почему запрет на индексирование сайта не мешает поисковику выводить его в выдаче, вспомним несколько терминов:

  • Индексирование – процесс скачивания сайта или страницы контента на сервер поисковой системы, вследствие которого сайт или страница добавляется в индекс.
  • Ранжирование/ отображение в поиске – отображение сайта среди результатов поиска.


Наиболее распространенное представление о попадании сайта/страницы в результаты поиска выглядит как двухэтапный процесс: индексирование => ранжирование. Но чтобы отображаться в поиске, сайт не обязательно должен индексироваться. Если есть внешняя ссылка на страницу или домен (линк с другого сайта или с индексируемых внутренних страниц), Google перейдет по этой ссылке. Если robots.txt на этом домене препятствует индексированию страницы поисковой системой, Гугл все равно будет выводить URL в выдаче. Он ориентируется на внешние источники, которые содержат ссылку и ее описание. Раньше источником мог быть DMOZ или директория Yahoo. Сегодня я вполне могу представить, что Google использует, например, ваш профиль в My Business или данные из других сайтов.

Если написанное выше кажется вам бессмысленным, посмотрите видео с объяснением Мэтта Каттса.

Пользователи часто жалуются на то, что Google игнорирует запрет на индексирование страницы в robots.txt и все равно показывает ее в результатах выдачи. Чаще всего происходит следующее: когда некто отправляет роботу сигнал на запрет индексирования страницы, она появляется в поиске с необычным сниппетом – без текстового описания. Причина: краулеры не сканировали страницу. Они видели только упоминание URL. Именно потому что роботы видели ссылку, а не саму страницу, в выдаче пользователям предлагается сниппет без дескрипшна. Обратимся к примеру.

Еще один пример – сайт Nissan. Долгое время Nissan использовал robots.txt для запрета индексирования всех страниц. Но мы обнаружили сайт и его описание в открытом каталоге DMOZ. Поэтому когда пользователи получали ссылку на сайт среди результатов, они видели такой же сниппет, как и у обычных страниц, которые были просканированы краулерами. Но этот сниппет был составлен не на основе результатов сканирования. Он был создан из информации DMOZ.

В итоге: Google может показать что-то, что считает полезным пользователю, без нарушения запрета на сканирование в robots.txt.

Другой вариант – использовать инструмент удаления URL. Блокируйте сайт полностью в robots.txt, а после используйте инструмент удаления URL.


Что получается: закрывая сайт от сканирования, вы лишаете краулеров возможности узнать, что запретили отображение сайта в поисковой системе.

Поэтому:

Чтобы запретить появление сайта в результатах поиска, вам нужно позволить краулерам Google просканировать страницу.

Это может выглядеть противоречиво. Но только так вы сможете скрыть сайт в результатах поиска.

Как запретить отображение страницы в результатах поиска

С помощью добавления метатега robots

Первый вариант запрета показа страницы в Google – использование метатега robots. Вам нужно добавить этот тэг на свою страницу:


Проблема с тэгом в том, что его нужно будет добавить на каждую страницу.



Есть еще одна проблема – с помощью метатега robots можно скрывать только html-документы. Это значит, что метатег нельзя применить для документов в формате pdf, doc, xml, а также для аудио и видео контента. Чтобы скрыть документы не в html, нужно использовать файл robots.txt. Что замыкает круг. Потому что эти документы могут появиться в выдаче.
  • Закрывает от попадания в поиск все файлы – как html, так и pdf, doc, xml.
  • Не нужно обрабатывать каждую страницу, можно сразу скрыть из результатов поиска весь сайт.

Если ваш сайт на базе Apache, и mod_headers недоступны, в корневой файл .htaccess добавьте фрагмент кода:


Таким образом ваш сайт будет индексироваться. Но не появятся в результатах поиска.


Поисковая оптимизация

Чтобы какой-либо сайт появился в выдаче поисковой системы, он должен быть предварительно проиндексирован, то есть просканирован поисковыми роботами. Следующий этап – ранжирование – определение места ресурса в выдаче. На него влияет нескольких критериев, в числе которых можно выделить релевантность – степень соответствия результатов выдачи запросу пользователя. Чтобы сайт был более релевантным, необходимо регулировать перемещения и поведение поискового робота на нем. Как правило, от поисковиков также скрывают пагинацию, фильтры, служебные и страницы, содержащие личные данные пользователей. В этой статье мы рассмотрим все известные способы, как закрыть документ от поисковых систем, и объясним, для чего может пригодиться каждый из них.

Закрытие от индексации с помощью файла Robots.txt

Самым распространенным способом указать поисковым роботам страницы, представленные или, наоборот, закрытые для посещения, является robots.txt. Это обычный текстовый файл, размещенный в корневом каталоге интернет-ресурса, в котором описаны инструкции для поисковых ботов.

Чтобы закрывать сразу весь сайт от индексации, вам понадобится прописать в файле robots.txt всего две строчки:

В данной инструкции вы сообщаете, что она распространяется на все поисковые системы (User-agent: *); вторая строка (Disallow: /) означает, что запрет касается всех страниц сайта.

В случае необходимости закрыть ресурс только от одной поисковой системы, в строке User-agent: указываем, для какой именно. Чаще всего прописывают поисковые системы Yandex или Google:

User-agent: Yandex
Disallow: /

User-agent: GoogleBot
Disallow: /

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

Для запрета индексации:

  • конкретной папки – прописываем команду Disallow: /папка/;
  • списка файлов – указываем весь список в следующем формате:

User-agent: *
Disallow: файл1.htm
Disallow: файл2.htm
Disallow: файл3.htm

Следует учитывать, что robots.txt воспринимается поисковиками по-разному, и роботы Google не всегда следуют его указаниям, воспринимая содержимое файла как рекомендацию.

Закрытие от индексации с помощью метатегов

Метатег Robots прописывается внутри тега <head> html-документа и имеет следующие значения:

  • index – индексировать;
  • noindex – не индексировать;
  • follow – разрешено следовать по ссылкам;
  • nofollow – не разрешено следовать по ссылкам.

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


Здесь указано,что роботам запрещено индексировать страницы и обходить ссылки.

Вот еще несколько полезных тегов:

  • meta name=»robots» content=»noimageindex» – запрещает индексировать изображения на странице, на которой он используется;
  • meta name=»robots» content=»none» – используется в значении «noindex, nofollow.»

Закрытие от индексации с помощью файла .htaccess

  • Блокируем поисковых ботов с помощью следующих команд:

Для каждой поисковой системы – отдельная строка.

  • Ограничиваем доступ к сайту или странице с помощью пароля. Для этого в файле .htaccess прописываем следующий код:

AuthType Basic
AuthUserFile /указать_путь файла_с_паролем
Require valid-user

После сохранения изменений в файле .htaccess вы уже сможете видеть форму авторизации, но для ее корректной работы не забудьте добавить пользователя и указать пароль в файле паролей.

Средства для владельцев сайтов на WordPress

Если вам посчастливилось быть обладателем ресурса на WordPress, то вы можете закрыть свой сайт от индексации с помощью самой админки, совершив лишь несколько кликов мышью:

  • в меню админки перейдите во вкладку Параметры;
  • выберите пункт Чтение;
  • установите галочку на пункте «Попросить поисковые системы не индексировать сайт»;
  • сохраните изменения.


Также существует ряд SEO-плагинов, например, «All in One SEO Pack», с помощью которых можно контролировать индексацию отдельных документов сайта.

Другие CMS также могут включать в себя подобные функции и плагины.

Какой бы вы ни выбрали способ закрытия от индексации, помните: самое надежное средство от попадания в индекс – хранить сайт на сервере, отключенном от всемирной сети.

Закрыть сайт или часть кода от индексации htaccess robots.txt

Закрыть сайт или часть кода от индексации htaccess robots.txt

Закрыть сайт или часть кода от индексации htaccess robots.txt

Иногда, по тем или иным причинам нужно скрыть от поисковых систем часть кода, блок или целый сайт (к примеру, старый).

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

Файл .htaccess - специальный файл конфигурации веб-сервера Apache, управляет настройками сайта и работой веб-сервера. Файл .htaccess также должен присутствовать в корневой папке сайта по умолчанию.

Как закрыть от индексации с помощью файла robots.txt

Полностью запретить индексацию всего сайта:
User-agent: *
Disallow: /

Запретить индексацию всего сайта только Гуглу:
User-agent: Googlebot
Disallow: /

Запретить индексацию всего сайта только Яндексу:
User-agent: Yandex
Disallow: /

Запретить индексацию всего раздела:
User-agent: *
Disallow: /administrator
Disallow: /plugins

*В этом варианте запрет коснется всех файлов и папок в разделе.

Запретить индексацию отдельной папки:
User-agent: *
Disallow: /administrator/
Disallow: /images/

*В этом варианте запрет коснется только файлов и документов, но не будет распространяться на имеющиеся папки.

Запретить индексацию отдельным страницам:
User-agent: *
Disallow: /reklama.html
Disallow: /sis-pisi.html

Как закрыть от индексации с помощью файла .htaccess

Полностью запретить индексацию всего сайта:
SetEnvIfNoCase User-Agent "^Googlebot" search_bot
SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Yahoo" search_bot
SetEnvIfNoCase User-Agent "^Aport" search_bot
SetEnvIfNoCase User-Agent "^msnbot" search_bot
SetEnvIfNoCase User-Agent "^spider" search_bot
SetEnvIfNoCase User-Agent "^Robot" search_bot
SetEnvIfNoCase User-Agent "^php" search_bot
SetEnvIfNoCase User-Agent "^Mail" search_bot
SetEnvIfNoCase User-Agent "^bot" search_bot
SetEnvIfNoCase User-Agent "^igdeSpyder" search_bot
SetEnvIfNoCase User-Agent "^Snapbot" search_bot
SetEnvIfNoCase User-Agent "^WordPress" search_bot
SetEnvIfNoCase User-Agent "^BlogPulseLive" search_bot
SetEnvIfNoCase User-Agent "^Parser" search_bot

*Для каждой поисковой системы отдельная строчка кода.

Как закрыть от индексации страницу сайта с помощью Meta тегов

Между тегами <head> </head> страницы вставить код:
<meta name="robots" content="noindex">
или лучше даже этот:
<meta name="robots" content="noindex, nofollow" />

Как закрыть от индексации ссылку

К ссылке нужно добавить rel="nofollow" и получится:

<a href="https://epicblog.net/write.html" rel="nofollow">Тоже писать на Epic Blog</a>

Запрещают индексацию ссылки обычно для того, чтобы не передавать вес своего сайта

Читайте также: