Как поисковым системам запретить индексирование только главной страницы сайта
01.09.2022
Чтобы запретить поисковым системам индексирование только главной страницы, разрешив при этом индексирование всех остальных страниц, можно использовать несколько подходов в зависимости от особенностей конкретного сайта.
1. С помощью файла robots.txt
Если главная страницы имеет свой собственный адрес (обычно это index.php, index.html, index.htm, main.html и так далее), при этом при попытке открыть ссылку вида w-e-b.site/ происходит перенаправление на главную страницу, например, на w-e-b.site/index.htm, то тогда можно использовать файл robots.txt с примерно следующим содержимым:
User-agent: * Disallow: /index.php Disallow: /index.html Disallow: /index.htm Disallow: /main.html
На самом деле, использование явного имени для главной страницы является скорее исключением, чем правилом. Поэтому рассмотрим другие варианты.
Можно использовать следующий подход:
- Запретить доступ всего сайта с помощью директивы «Disallow».
- Затем разрешить индексацию всего сайта с помощью директивы «Allow», кроме главной страницы.
Пример файла robots.txt:
User-agent: * Allow: ?p= Disallow: /
Директива «Allow» всегда должна следовать до «Disallow». Директива «Allow» разрешает все страницы с адресом вида «?p=», а директива «Disallow» запрещает все страницы. В результате получается следующий результат: запрещено индексирование всего сайта (в том числе главной страницы), кроме страниц с адресом вида «?p=».
Посмотрим на результат проверки двух URL:
- https://suay.ru/ (главная страница) — индексирование запрещено
- https://suay.ru/?p=790#6 (страница со статьёй) — индексирование разрешено
На скриншоте цифрой 1 отмечено содержимое файла robots.txt, цифрой 2 проверяемые URL, а цифрой 3 результат проверки.
2. С помощью метатэга robots
Если ваш сайт представляет собой отдельные файлы, то добавьте в HTML код файла главной страницы метатег robots:
<meta name="robots" content="noindex,nofollow>
3. С помощью .htaccess и mod_rewrite
С помощью .htaccess и mod_rewrite заблокировать доступ к конкретному файлу можно следующим образом:
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} Google [NC,OR] RewriteCond %{HTTP_USER_AGENT} Yandex [NC] RewriteRule (index.php)|(index.htm)|(index.html) - [F]
Обратите внимание, что при попытке открыть ссылку вида https://w-e-b.site/ (то есть без указания имени главной страницы), на стороне веб-сервера всё равно запрашивается конкретный файл, например, index.php, index.htm или index.html. Поэтому данный способ блокировки доступа (а соответственно и индексирования) работает даже если главная страница вашего сайта открывается без указания конкретного имени файла (index.php, index.html, index.htm, main.html и так далее) как это обычно и бывает.
Смотрите также: Как исключить из индексации страницы с определёнными параметрами в URL и другие техники контроля индексации сайта поисковыми системами
Билеты на автобусы, паромы и поезда, в том числе стыковочные маршруты:
Авиабилеты на международные и местные направления по минимальным ценам:
Связанные статьи:
- Как исключить из индексации страницы с определёнными параметрами в URL и другие техники контроля индексации сайта поисковыми системами (100%)
- Как защититься от спама через формы обратной связи (79.1%)
- Как в mod_rewrite блокировать по Referer, User Agent, URL, строке запроса, IP и в их комбинациях (58.4%)
- Как бороться с ботами на сайте (58.4%)
- Как блокировать доступ к сайту с конкретного сайта-букса или любого другого сайта с негативным трафиком (58.4%)
- Чтобы было как раньше (RANDOM - 50%)