Сталкивался с ситуацией, когда новый сайт месяцами висит в сети, а поисковики его словно не замечают? Я за 10+ лет практики насмотрелся на такое достаточно — причин может быть множество, и большинство из них решаемы.
Основные причины, почему сайт не индексируется
Честно говоря, когда клиент обращается с фразой "мой сайт не находится в поиске", я сразу начинаю проверять стандартный набор проблем. За годы работы выработался определённый алгоритм диагностики, который помогает быстро найти корень зла.
Самая частая причина — это технические ошибки на сайте. Был случай у одного клиента: сделали новый интернет-магазин на Битрикс, запустили, а через месяц звонок — "почему нас нет в Яндексе?". Оказалось, что в robots.txt стояла директива Disallow: /, которая запрещала индексацию всего сайта. Разработчики забыли убрать тестовую настройку.
Вторая по популярности проблема — дубли страниц и каноникалы. Google и Яндекс не любят, когда один и тот же контент доступен по разным URL. У меня был клиент с WordPress-сайтом, где одна страница была доступна сразу по 4 адресам: с www и без, с https и http. Поисковики просто не понимали, какую версию индексировать.
Третья причина — серверные ошибки. Если ваш сайт регулярно отвечает кодами 5xx, роботы поисковиков просто перестанут его посещать. На практике видел, как неправильно настроенный nginx давал ошибки 502 и 504 при высокой нагрузке, и Google начал исключать страницы из индекса.
Проблемы с robots.txt и мета-тегами
Файл robots.txt — это первое, что проверяют поисковые роботы при заходе на сайт. И именно здесь чаще всего кроются подводные камни. Я обычно делаю проверку robots.txt в самом начале диагностики.
Классическая ошибка — оставить тестовые настройки на продакшене. Вот пример неправильного robots.txt:
User-agent: *
Disallow: /
Sitemap: https://example.com/sitemap.xml
Этот файл полностью запрещает индексацию сайта. А должно быть примерно так:
User-agent: *
Disallow: /admin/
Disallow: /bitrix/
Disallow: /upload/tmp/
Disallow: /search/
Allow: /upload/
Host: https://example.com
Sitemap: https://example.com/sitemap.xml
Ещё одна частая проблема — мета-тег noindex. Иногда разработчики ставят его на все страницы во время разработки, а потом забывают убрать. Проверяйте код страниц на наличие таких строк:
<meta name="robots" content="noindex, nofollow">
У меня был случай с крупным корпоративным сайтом на Битрикс — после обновления шаблона на всех страницах появился noindex. Оказалось, что в компоненте была ошибка, и он подтягивал неправильные настройки SEO. Потребовалось две недели, чтобы Google снова начал индексировать страницы после исправления.
Также важно проверить HTTP-заголовки. Иногда сервер отдаёт X-Robots-Tag: noindex в заголовках, даже если в HTML-коде всё чисто. Это можно проверить через инструменты разработчика в браузере или curl:
curl -I https://yoursite.com
Ошибки сервера и доступность сайта
Поисковые роботы — это те же пользователи, только автоматические. Если ваш сайт недоступен или работает медленно, они просто уйдут к конкурентам. По моему опыту, проблемы с доступностью — одна из главных причин проблем с индексацией.
Самые критичные ошибки для индексации:
- 500 Internal Server Error — говорит роботам, что с сайтом что-то серьёзно не так
- 502/504 Gateway Timeout — часто возникает при проблемах с nginx или Apache
- 503 Service Unavailable — сайт временно недоступен
- Медленная загрузка — если страница грузится больше 10-15 секунд, роботы могут не дождаться
Был у меня клиент с интернет-магазином на WordPress. Сайт периодически падал из-за нехватки памяти PHP (установлено было всего 128M), а в логах хостинга я нашёл сотни ошибок 500. Яндекс и Google начали исключать страницы из индекса. После увеличения memory_limit до 512M и оптимизации WordPress проблема решилась.
Особое внимание стоит уделить настройке веб-сервера. Вот пример правильной конфигурации nginx для лучшей индексации:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
# Увеличиваем таймауты для медленных ботов
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
# Настройка для robots.txt
location = /robots.txt {
access_log off;
log_not_found off;
}
# Блокируем вредных ботов, но не поисковых
if ($http_user_agent ~* (semrushbot|ahrefsbot|mj12bot)) {
return 403;
}
}
Также проверяйте логи сервера на наличие частых ошибок. В логах Apache или nginx можно увидеть, как часто приходят поисковые роботы и с какими ошибками сталкиваются.
Проблемы с SSL-сертификатом и HTTPS
С 2014 года Google официально заявил, что HTTPS — это фактор ранжирования. А с 2018 года браузеры начали помечать HTTP-сайты как "небезопасные". По сути, сайт без SSL-сертификата сегодня — это анахронизм, который поисковики индексируют неохотно.
Но просто установить сертификат недостаточно. Нужно правильно настроить редиректы и избежать смешанного контента. У меня был клиент, который установил SSL, но забыл настроить редиректы с HTTP на HTTPS. В результате Google видел два одинаковых сайта — дублированный контент.
Частые ошибки с SSL, которые мешают индексации:
- Просроченный сертификат — поисковики не будут индексировать страницы с ошибками безопасности
- Неправильная цепочка сертификатов — промежуточные сертификаты не установлены
- Смешанный контент — на HTTPS-странице загружаются HTTP-ресурсы
- Отсутствие редиректов — HTTP и HTTPS версии доступны одновременно
Проверить корректность SSL можно через SSL Labs Test. Я всегда проверяю сайты клиентов через этот сервис — он показывает все проблемы с сертификатом.
Вот пример правильной настройки редиректов в .htaccess для Apache:
RewriteEngine On
# Редирект с www на без www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
# Редирект с HTTP на HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Особенно внимательно нужно относиться к смешанному контенту. Если на HTTPS-странице есть картинки, скрипты или стили, загружаемые по HTTP, браузер покажет предупреждение о небезопасности. А поисковики могут снизить доверие к такому сайту.
Дублирование контента и канонические ссылки
Дублированный контент — это головная боль любого SEO-специалиста. Поисковики не знают, какую версию страницы показывать в выдаче, поэтому могут вообще исключить все дубли из индекса. На практике я сталкивался с сайтами, где до 70% страниц были дублями.
Основные источники дублей:
- Технические дубли — с www и без, с trailing slash и без
- Параметры в URL — ?utm_source, ?page=1, сортировки в каталогах
- Протоколы — HTTP и HTTPS версии одной страницы
- Пагинация — первая страница каталога доступна с /page/1/ и без
- Мобильные версии — m.site.com и site.com с одинаковым контентом
У одного клиента с интернет-магазином на Битрикс была классическая проблема — каждый товар был доступен в нескольких категориях по разным URL. Например:
- /catalog/phones/iphone-15/
- /catalog/apple/iphone-15/
- /catalog/new/iphone-15/
Google не понимал, какую страницу считать основной. Решили проблему через настройку canonical URL в административной панели Битрикс.
Вот пример правильной настройки canonical в HTML:
<head>
<link rel="canonical" href="https://example.com/catalog/phones/iphone-15/">
<meta property="og:url" content="https://example.com/catalog/phones/iphone-15/">
</head>
Для решения проблем с параметрами URL я часто использую такую настройку в .htaccess:
# Убираем trailing slash для файлов
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]
# Убираем параметры UTM из URL
RewriteCond %{QUERY_STRING} ^(.*)&?utm_[^&]*(.*)$ [NC]
RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
# Убираем пустые параметры
RewriteCond %{QUERY_STRING} ^(.*)&?page=1(.*)$ [NC]
RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
Также важно правильно настроить пагинацию. Для этого используют теги rel="prev" и rel="next", хотя Google официально перестал их поддерживать в 2019 году. Но для Яндекса они всё ещё актуальны.
Проблемы с sitemap.xml и структурой сайта
Sitemap — это карта сайта для поисковиков. Она помогает роботам находить и индексировать страницы, особенно те, на которые мало внутренних ссылок. По моему опыту, правильно настроенный sitemap может ускорить индексацию в 2-3 раза.
Частые ошибки в sitemap.xml:
- Неактуальные URL — в карте есть страницы, которые возвращают 404
- Редиректы — URL в sitemap ведут на страницы с 301 редиректом
- Неправильные приоритеты — все страницы с priority="1.0"
- Большой размер — один файл sitemap содержит больше 50 000 URL
- Закрытые страницы — в карте есть URL, закрытые через robots.txt или noindex
Был случай с крупным каталогом товаров — в sitemap попадали все вариации товаров с разными параметрами. В результате файл весил 15 MB и содержал 200 000 URL, половина из которых дублировались. Google просто игнорировал такую карту.
Правильная структура sitemap для интернет-магазина:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2026-01-15</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://example.com/catalog/phones/</loc>
<lastmod>2026-01-14</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Для больших сайтов лучше использовать индексный sitemap:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-pages.xml</loc>
<lastmod>2026-01-15</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-catalog.xml</loc>
<lastmod>2026-01-15</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-news.xml</loc>
<lastmod>2026-01-15</lastmod>
</sitemap>
</sitemapindex>
Важно не забывать обновлять sitemap при добавлении новых страниц. В Битрикс это можно автоматизировать через модуль SEO, а в WordPress — через плагины типа Yoast SEO или RankMath.
Медленная загрузка и проблемы с производительностью
Скорость загрузки напрямую влияет на индексацию. Google официально подтвердил, что PageSpeed — это фактор ранжирования, а медленные сайты индексируются хуже и реже. По моей практике, сайты со скоростью загрузки больше 5-7 секунд часто имеют проблемы с попаданием в индекс.
Основные проблемы, которые замедляют сайт и мешают индексации:
- Тяжёлые изображения — картинки по 2-3 MB без оптимизации
- Много HTTP-запросов — десятки файлов CSS и JS
- Отсутствие кеширования — сервер каждый раз генерирует страницы заново
- Медленная база данных — запросы выполняются по 2-3 секунды
- Плохой хостинг — слабый сервер с высоким ping
У меня был клиент с корпоративным сайтом на WordPress — главная страница грузилась 12 секунд! Оказалось, что на странице было 47 неоптимизированных изображений общим размером 18 MB. После оптимизации WordPress и сжатия картинок скорость увеличилась до 2.3 секунды, а Google начал индексировать страницы в 3 раза быстрее.
Вот пример оптимизации изображений через .htaccess:
# Включаем сжатие
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript application/json
</IfModule>
# Настраиваем кеширование
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/webp "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
</IfModule>
Также критически важна оптимизация базы данных MySQL. Медленные запросы убивают производительность и отпугивают поисковых роботов. Я регулярно проверяю slow query log на серверах клиентов:
-- Включаем логирование медленных запросов
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2;
-- Находим самые медленные запросы
SELECT * FROM mysql.slow_log
ORDER BY start_time DESC
LIMIT 10;
Особое внимание стоит уделить настройке кеширования. В Битрикс есть встроенные механизмы кеширования, которые нужно правильно настроить. Подробно об этом я писал в статье про настройку кеширования в Битрикс.
Как проверить индексацию и найти проблемы
Диагностика проблем с индексацией — это системный процесс. Я выработал определённый алгоритм проверки, который помогает быстро найти основные проблемы. Начинаю всегда с самых базовых вещей, постепенно углубляясь в детали.
Первым делом проверяю, попадает ли сайт в поиск вообще. Для этого использую site-команды:
- Google: site:yourdomain.com
- Яндекс: site:yourdomain.com
Если результатов нет совсем — проблема серьёзная. Если есть, но мало — нужно разбираться в причинах.
Следующий шаг — проверка в инструментах вебмастеров:
- Google Search Console — покрытие, производительность, проблемы индексации
- Яндекс.Вебмастер — индексирование, качество сайта, технические ошибки
В Search Console особенно важен раздел "Покрытие" — там видно, сколько страниц проиндексировано, сколько исключено и по каким причинам. Часто там можно найти массовые проблемы вроде "Обнаружена страница, но не проиндексирована".
Для технической диагностики я использую несколько инструментов:
- Screaming Frog SEO Spider — сканирует сайт как поисковый робот
- Netpeak Spider — аналог Screaming Frog, но с лучшей поддержкой кириллицы
- Sitemap Generator — проверяет корректность sitemap.xml
- PageSpeed Insights — анализирует скорость загрузки
Был случай с крупным интернет-магазином — владелец жаловался, что новые товары не попадают в поиск. При проверке через Screaming Frog оказалось, что на все новые страницы ведёт только одна внутренняя ссылка из каталога, а сам каталог находится на 4-м уровне вложенности от главной. Google просто не доходил до этих страниц при сканировании.
Также важно отслеживать динамику индексации. Я создаю для клиентов простые отчёты:
- Количество проиндексированных страниц по месяцам
- Список новых ошибок из Search Console
- Изменения в позициях ключевых страниц
- Статистика по sitemap — сколько URL отправлено и проиндексировано
Для автоматизации проверок использую API Google Search Console. Вот пример простого скрипта на Python:
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
def check_indexing_status(site_url):
service = build('searchconsole', 'v1', credentials=creds)
request = {
'inspectionUrl': site_url,
'siteUrl': site_url
}
response = service.urlInspection().index().inspect(body=request).execute()
return {
'indexed': response['inspectionResult']['indexStatusResult']['coverageState'],
'crawlable': response['inspectionResult']['indexStatusResult']['robotsTxtState'],
'last_crawl': response['inspectionResult']['indexStatusResult']['lastCrawlTime']
}
Решение проблем и ускорение индексации
После диагностики проблем начинается самая важная часть — их исправление. По опыту, большинство проблем с индексацией решаются достаточно быстро, если подходить системно и не пытаться исправить всё сразу.
Алгоритм решения проблем:
- Критичные ошибки — robots.txt, серверные ошибки, SSL
- Технические проблемы — дубли, canonical, мета-теги
- Оптимизация — скорость, sitemap, внутренние ссылки
- Контентные факторы — уникальность, структура, разметка
Начинаю всегда с самого критичного. Если robots.txt блокирует весь сайт, то никакие другие оптимизации не помогут. У одного клиента была именно такая ситуация — месяц мучились с плохой индексацией, а оказалось, что в .htaccess стояла строчка, которая отдавала заголовок X-Robots-Tag: noindex для всех страниц.
Для ускорения индексации новых страниц использую несколько методов:
- Запрос индексации через Search Console и Яндекс.Вебмастер
- Обновление sitemap и отправка уведомления поисковикам
- Создание внутренних ссылок на новые страницы
- Публикация в социальных сетях для привлечения трафика
Вот пример автоматического уведомления поисковиков об обновлении sitemap:
<?php
function ping_search_engines($sitemap_url) {
$ping_urls = [
'http://www.google.com/webmasters/tools/ping?sitemap=' . urlencode($sitemap_url),
'http://www.bing.com/ping?sitemap=' . urlencode($sitemap_url),
'http://blogs.yandex.ru/pings/?status=success&url=' . urlencode($sitemap_url)
];
foreach ($ping_urls as $ping_url) {
$response = file_get_contents($ping_url);
if ($response) {
echo "Pinged: " . $ping_url . "\n";
}
}
}
// Использование
ping_search_engines('https://yoursite.com/sitemap.xml');
?>
Особенно эффективно работает создание качественных внутренних ссылок. Я всегда говорю клиентам: если до новой страницы можно добраться с главной за 3-4 клика, роботы найдут её быстро. Если нужно кликнуть 7-8 раз — могут не найти вообще.
Для крупных сайтов настраиваю автоматическую генерацию внутренних ссылок. Например, в каталоге товаров добавляю блоки "Похожие товары" или "Рекомендуем также" — это создаёт дополнительные пути для роботов и улучшает индексацию глубоких страниц.
Также важно следить за качеством контента. Google всё больше внимания уделяет полезности и экспертности материалов. Страницы с тонким или дублированным контентом индексируются хуже. По моему опыту, минимальный объём текста на коммерческой странице должен быть 300-500 слов уникального контента.
После исправления всех проблем обычно требуется 2-4 недели, чтобы увидеть результат. Google и Яндекс не сразу пересматривают свои решения об исключении страниц из индекса. Но если всё сделано правильно, результат будет заметным — комплексный SEO-аудит и устранение технических проблем могут увеличить количество проиндексированных страниц в несколько раз.
Нужна помощь с продвижением сайта?
Наши SEO-специалисты проведут аудит и решат проблемы с индексацией вашего сайта.