- html5css.dev
- SEO
- SEO продвижение
- Техническая оптимизация
- Типичные технические ошибки
Типичные технические ошибки
Большинство технических проблем повторяется от проекта к проекту и появляется после релизов. Разбираем пятнадцать самых частых с признаком, по которому их видно.
Пятнадцать ошибок
| # | Ошибка | Признак | Починка |
|---|---|---|---|
| 1 | Сайт закрыт после релиза | Обвал показов через несколько дней | Проверить robots.txt и meta robots в шаблоне |
| 2 | Потерян canonical | Рост дублей в отчёте индексирования | Вернуть в шаблон, canonical сам на себя |
| 3 | Контент только в JavaScript | В curl текста нет | Серверный рендеринг или пререндер |
| 4 | Смешанное содержимое | Замок в браузере пропал | Все ресурсы по https |
| 5 | Цепочки редиректов | Несколько переходов до цели | Свести к одному 301 |
| 6 | Мягкая 404 | Категория в отчёте Search Console | Отдавать настоящий 404 или 410 |
| 7 | Дубли по параметрам | Тысячи адресов с ?sort= | Canonical и ограничение обхода |
| 8 | Медленный TTFB | Отчёт статистики сканирования | Кеш, оптимизация запросов к базе |
| 9 | Периодические 5xx | Всплески ошибок в логах | Мониторинг и устранение причины |
| 10 | Закрыты CSS и JS | Скриншот робота «поехал» | Открыть в robots.txt |
| 11 | Устаревший sitemap | Новых страниц нет в карте | Автогенерация при публикации |
| 12 | Тестовый контур в индексе | site:dev.site.ru выдаёт страницы | Закрыть авторизацией |
| 13 | Разные версии главной | Открываются / и /index.php | 301 на один вариант |
| 14 | Битые внутренние ссылки | 4xx в отчёте краулера | Правка ссылок в шаблонах |
| 15 | Разметка сломана после правки | Рост ошибок в отчёте «Улучшения» | Валидация в процессе сборки |
noindex, теряется canonical, ломается
генерация карты. Отсюда практический вывод — проверять сайт после каждого
деплоя, а не раз в квартал.
Проверка после релиза за минуту
#!/bin/sh
S=https://site.ru
echo '— robots.txt'
curl -s $S/robots.txt | grep -E '^Disallow: /$' && echo ' СТОП: сайт закрыт целиком'
echo '— noindex в шаблоне'
curl -s $S/ | grep -io '<meta[^>]*noindex[^>]*>' && echo ' СТОП: главная закрыта'
echo '— canonical'
curl -s $S/ | grep -io '<link[^>]*canonical[^>]*>' || echo ' ВНИМАНИЕ: canonical отсутствует'
echo '— код ответа и время'
curl -s -o /dev/null -w ' %{http_code} ttfb %{time_starttransfer}s\n' $S/
echo '— несуществующий адрес должен отдавать 404'
curl -s -o /dev/null -w ' %{http_code}\n' $S/nesushchestvuyushchiy-adres-12345
echo '— карта сайта'
curl -s -o /dev/null -w ' %{http_code}\n' $S/sitemap.xml
Краулинговый бюджет
Для сайта на несколько тысяч страниц бюджет обхода обычно не ограничивает ничего. Проблема появляется на крупных каталогах, где комбинации фильтров и сортировок плодят сотни тысяч адресов.
- Смотрите отчёт статистики сканирования в Search Console: сколько запросов в сутки, среднее время ответа, распределение по типам файлов.
- Анализируйте логи: какие адреса робот обходит чаще всего. Если это фильтры — бюджет уходит впустую.
- Закрывайте комбинации параметров от обхода, оставляя ценные фильтры открытыми.
- Убирайте цепочки редиректов — каждый переход это лишний запрос.
- Ускоряйте ответ сервера: при быстром ответе робот делает больше запросов в сутки.
# что робот обходит чаще всего
grep -i googlebot access.log | awk '{print $7}' \
| sed 's/?.*//' | sort | uniq -c | sort -rn | head -20
# доля запросов к фильтрам
grep -i googlebot access.log | awk '{print $7}' | grep -c '?'
Что стоит автоматизировать
- Мониторинг доступности с оповещением при 5xx — самая дешёвая страховка.
- Проверка после деплоя — скрипт выше в конвейере сборки.
- Еженедельный обход краулером с отчётом о новых 4xx.
- Валидация разметки на этапе сборки.
- Автогенерация sitemap при публикации.
Итог
Технические ошибки редко бывают экзотическими: это один и тот же набор из пятнадцати случаев, и больше половины приезжает вместе с релизом. Поэтому самое полезное — не разовый аудит, а короткая автоматическая проверка после каждого деплоя и мониторинг доступности.
Частые вопросы
Какая техническая ошибка встречается чаще всего?
Закрытие сайта от индексации после релиза: с тестового контура приезжает Disallow: / или meta noindex в шаблоне. Проверяется за десять секунд и стоит недель потерянного трафика.
Что такое краулинговый бюджет и когда о нём думать?
Это объём страниц, который робот обходит за период. Для сайтов до нескольких тысяч URL он обычно не ограничивает. Задумываться стоит на крупных каталогах, где комбинации фильтров плодят сотни тысяч адресов.
Как понять, что содержимое не видно роботу?
Запросить страницу через curl и поискать в ответе фрагмент текста. Если он не находится, а в браузере виден — контент рисует JavaScript, и часть систем его не получит.
Нужен ли мониторинг доступности?
Да, это самая дешёвая страховка. Длительные 5xx приводят к резкому снижению обхода и выпадению страниц, а узнать об этом из отчётов можно с задержкой в несколько дней.