Мы проводим технический аудит так, чтобы он приводил к реальным улучшениям: росту трафика, ускорению загрузки страниц и снижению технического долга. Основой процесса является наш собственный краулер: он обходит сайт, собирает метрики и выявляет системные проблемы ещё до того, как они станут критичными.
Технический аудит сайта — это комплексная проверка состояния проекта: индексации, структуры, мета‑данных, внутренней перелинковки, производительности, стабильности и безопасности. Результат — понятный план работ с приоритизацией (Impact × Effort) и быстрыми победами (quick wins), которые можно внедрить уже сегодня.
В отличие от «слепой оптимизации» по чек‑листу, мы опираемся на данные. Для этого у нас есть собственный краулер и набор скриптов анализа, которые одинаково хорошо работают с Next.js/React, Django, а также с классическими CMS. Это важно, потому что современные сайты часто используют SSR/SSG, динамические маршруты и клиентскую гидратацию — и стандартные сканеры здесь дают много ложных срабатываний.
Краулер (web crawler) — это программа, которая автоматически скачивает страницы сайта, переходит по ссылкам и фиксирует важные параметры каждой страницы: код ответа сервера, теги индексации, канонические ссылки, заголовки, мета‑данные, микроразметку, Open Graph/Twitter и т. д. На практике это «робот‑аудитор»: он воспроизводит путь поискового робота и пользователя, но делает это системно и без пропусков.
Почему собственный краулер лучше универсальных решений? Потому что мы:
/sitemap.xml
и альтернативные sitemaps.http/https
, /index
//
, utm_*
и прочие трекинговые хвосты.Подготовка
Собираем входные точки: корневой URL, карты сайта, важные разделы, списки коммерчески значимых страниц (лендинги, карточки товаров/услуг), локали и зеркала. Фиксируем целевые метрики (например, LCP ≤ 2,5 s, INP ≤ 200 ms, CLS ≤ 0,1).
Краулинг (масштабный обход)
Наш краулер обходит все страницы, на которые ведут ссылки с сайта, учитывая глубину, каноникал и noindex. Параллельно накапливаем статистику по кодам ответа, редиректам, заголовкам и разметке.
Сопоставление с картами сайта
Сверяем найденные URL с sitemap.xml
и его индексами: ищем «сироты» (страницы, которые есть на сайте, но не в sitemap), «мертвые» ссылки в sitemap (4xx/5xx/редиректы), дубликаты и канонические конфликты.
Анализ индексации и мета‑данных
Проверяем robots
/googlebot
, x‑robots‑tag
, canonical
, hreflang
, пагинацию (prev/next
), OG/Twitter‑карточки, заголовки title
и meta description
, а также структуру заголовков h1…h6
.
Производительность и UX
Замеряем лабораторные метрики (Lighthouse/PageSpeed) и сравниваем с полевыми данными (если подключены RUM/CrUX). Даём детальные рекомендации по ресурсам: шрифты, изображения, JS/CSS, кэширование, HTTP/2‑3, preconnect/preload.
Безопасность и стабильность
Беглая проверка заголовков безопасности (HSTS, CSP, X‑Frame‑Options, X‑Content‑Type‑Options), смешанного контента, корректности 404/500, корректности редиректов (без цепочек и циклов).
Отчёт и бэклог улучшений
Собираем результаты в понятный документ с приоритетами и чек‑листами для разработчиков и контент‑менеджеров. При желании — заводим задачи в Notion/Trello/Jira.
Ниже — пример того, что фиксирует наш краулер для каждой страницы. Структура близка к реальности и покрывает ключевые поля для аудита.
{
"url": "https://kravlab.ru",
"status": 200,
"contentType": "text/html; charset=utf-8",
"depth": 0,
"referrer": "",
"anchorText": "",
"xRobotsTag": "",
"title": "Разработка сайтов, скриптов и парсеров • Автоматизация бизнес-процессов • Kravchenko Web Lab",
"description": "Разработка сайтов на Next.js и Django, скриптов и парсеров для бизнеса. Автоматизация процессов, чат-боты, CRM и API-интеграции, SEO и техподдержка под ключ в Санкт-Петербурге.",
"robotsMeta": "index, follow",
"canonical": "https://kravlab.ru",
"alternates": [],
"prev": "",
"next": "",
"sitemaps": [],
"ogTitle": "Разработка сайтов, скриптов и парсеров • Автоматизация бизнес-процессов • Kravchenko Web Lab",
"ogDescription": "Создание сайтов и веб-приложений на Next.js и Django, автоматизация процессов, чат-боты, парсеры, API-интеграции и поддержка под ключ.",
"ogImage": "https://kravlab.ru/og-default.jpg",
"twitterTitle": "Разработка сайтов, скриптов и парсеров • Автоматизация бизнес-процессов • Kravchenko Web Lab",
"twitterDescription": "Создание сайтов и веб-приложений на Next.js и Django, автоматизация процессов, чат-боты, API-интеграции и поддержка под ключ.",
"h1s": [],
"h1Count": 0,
"metaAll": {
"viewport": "width=device-width, initial-scale=1",
"description": "Разработка сайтов на Next.js и Django, скриптов и парсеров для бизнеса. Автоматизация процессов, чат-боты, CRM и API-интеграции, SEO и техподдержка под ключ в Санкт-Петербурге.",
"author": "Kravchenko Web Lab",
"keywords": "разработка сайтов,создание сайтов,Next.js,Django,автоматизация бизнес процессов,скрипты на заказ,парсеры данных,чат-боты,CRM интеграции,API интеграции,разработка веб приложений,техническая поддержка сайтов,SEO аудит,студия веб разработки,автоматизация рутины",
"publisher": "Kravchenko Web Lab",
"robots": "index, follow",
"googlebot": "index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1",
"msapplication-config": "/browserconfig.xml",
"format-detection": "telephone=no",
"og:title": "Разработка сайтов, скриптов и парсеров • Автоматизация бизнес-процессов • Kravchenko Web Lab",
"og:description": "Создание сайтов и веб-приложений на Next.js и Django, автоматизация процессов, чат-боты, парсеры, API-интеграции и поддержка под ключ.",
"og:url": "https://kravlab.ru",
"og:site_name": "Kravchenko Web Lab",
"og:locale": "ru_RU",
"og:image": "https://kravlab.ru/og-default.jpg",
"og:image:width": "1200",
"og:image:height": "630",
"og:image:alt": "Разработка сайтов, скриптов и парсеров • Kravchenko Web Lab",
"og:type": "website",
"twitter:card": "summary_large_image",
"twitter:title": "Разработка сайтов, скриптов и парсеров • Автоматизация бизнес-процессов • Kravchenko Web Lab",
"twitter:description": "Создание сайтов и веб-приложений на Next.js и Django, автоматизация процессов, чат-боты, парсеры, API-интеграции и поддержка под ключ.",
"twitter:image": "https://kravlab.ru/og-default.jpg"
},
"metaRefreshRaw": "",
"metaRefreshUrl": "",
"schemaData": {
"jsonLd": [
{ "rawLength": 158, "types": ["BreadcrumbList","ListItem"], "ok": true }
],
"jsonLdCount": 1,
"jsonLdTypes": ["BreadcrumbList","ListItem"],
"jsonLdErrors": 0,
"microdataTypes": [],
"rdfaTypes": []
}
}
Именно такие поля позволяют «на лету» находить битые ссылки (4xx/5xx), канонические конфликты, пустые или дублирующиеся
title/description
, отсутствиеh1
, неправильные OG/Twitter‑карточки и ошибки в структурированных данных.
www/non‑www
политика.robots
, googlebot
, x‑robots‑tag
— чтобы не «похоронить» важные страницы.canonical
— проверяем самоссылку, дубликаты, слеш/без слеша, параметры и пагинацию.hreflang
/alternates
— корректность языков и регионов, замыкание на себя.prev/next
) — валидность, отсутствие канонического конфликта с первой страницей.title
/meta description
— длина, осмысленность, дубльность, шаблоны генерации.h1
— ровно один на страницу; подсветка h1Count=0
и >1
.data-nosnippet
при необходимости (например, служебные страницы).Мы смотрим на Core Web Vitals и технические факторы, влияющие на LCP/INP/CLS:
srcset/sizes
), loading=lazy
, decoding=async
, правильный intrinsic size
для борьбы с CLS; компрессия, кэширование, оптимизация SVG.font-display: swap
, подстановка, self‑host, preconnect к CDN, subsetting.module/nomodule
, разделение бандла; для Next.js — гибрид SSR/SSG, разумная клиентская логика, server actions.cache-control
, ETag
, stale-while-revalidate
, preload
LCP‑ресурсов./404
, /500
) и поведение при исключениях.Sitemap — это «контракт» с поисковиком. Мы:
noindex
/noindex, nofollow
— это ошибка.lastmod
для приоритетных разделов.Результат — карта соответствия «что реально есть» ↔ «что заявлено для индекса».
h1
на 5 лендингах услуг.title
и структурой страницы.title
на страницах пагинации.rel="prev/next"
(при необходимости).srcset
, фиксированные размеры контейнера, lazy‑load ниже фолда.www
→без слеша).og:image
, проверить размеры 1200×630 и вес < 200 KB.Краулер точно обойдёт «все‑все» страницы?
Он обходит все страницы, на которые есть ссылки с сайта, и всё, что перечислено в sitemap.xml
. Страницы без входящих ссылок и не попавшие в sitemap считаются «сиротами» — мы их подсвечиваем, если на них есть косвенные указания (например, из карточки сайта или меню).
Не сломает ли краулинг сайт?
Нет. Мы ограничиваем частоту запросов, уважаем crawl-delay
и можем запускать сканирование в «ночном» режиме. Для динамических разделов используем whitelist/blacklist маски, чтобы не раздувать обход бесконечной пагинацией/фильтрами.
Что с SPA и ленивой подгрузкой?
Есть headless‑режим и эвристики: мы дожидаемся загрузки ключевых узлов DOM и фиксируем рендер до взаимодействий, что важно для корректной оценки индексации и LCP.
Наш подход к аудиту — это инженерная дисциплина: собственный краулер, воспроизводимые метрики и конкретные рекомендации. Такой аудит даёт три главных результата:
Готовы провести аудит вашего сайта — с данными, а не предположениями.