[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"guide-how-to-run-a-technical-seo-check-before-you-launch::ru":3,"guide-related-how-to-run-a-technical-seo-check-before-you-launch::ru":17},{"slug":4,"title":5,"excerpt":6,"body":7,"meta_title":5,"meta_description":8,"keywords":9,"category":15,"published_at":16,"updated_at":16},"how-to-run-a-technical-seo-check-before-you-launch","Как провести техническую SEO-проверку перед запуском","Ошибки, делающие новый сайт невидимым, бинарны и ломаются беззвучно — ни ошибки, ни алерта, просто трафик, который не начинается. Короткий предзапусковый проход по доступу краулера, robots, каноникалам, карте сайта, языкам и кодам ответа.","\u003Ch2>Зачем эта проверка нужна\u003C\u002Fh2>\n\u003Cp>Предзапусковая техническая проверка — не упражнение в оптимизации. Это поиск того небольшого числа ошибок, которые делают сайт невидимым, и почти все они бинарны: краулер либо доходит до страницы, либо нет; страницу либо можно взять в индекс, либо нельзя; ваши адреса либо согласуются между собой, либо противоречат друг другу. Ни один пункт этого списка не выведет страницу в топ. Каждый способен лишить её самого шанса.\u003C\u002Fp>\n\u003Cp>Отдельного прохода они заслуживают потому, что ломаются беззвучно. Сломанная оплата даёт обращение в поддержку в течение часа. Директива, убирающая сайт из поиска, не даёт ничего — ни ошибки, ни алерта, ни исключения в логах, — пока через несколько недель кто-нибудь не заметит, что трафик, который должен был начаться, не начинался. Весь смысл делать это до запуска в том, что на график пока никто не смотрит.\u003C\u002Fp>\n\u003Ch2>Доходит ли краулер до страниц вообще\u003C\u002Fh2>\n\u003Cp>Запросите ключевые страницы так, как это сделала бы машина: простым HTTP-клиентом, без браузера и без JavaScript, — и прочитайте, что пришло. Если тело приходит пустым, а содержимое собирается на клиенте; если перед текстом стоит стена согласия; если антибот-слой устраивает проверку всему с незнакомым user-agent — вы нашли проблему, не написав ни слова контента. Сделайте это отдельно для главной, страницы продукта, страницы документации и страницы цен: их часто отдают разные части стека.\u003C\u002Fp>\n\u003Cp>Затем проверьте достижимость навигацией, а не по адресу. Обойдите собственный сайт с главной, выпишите каждую найденную страницу и сравните список с тем, что вы, по вашему мнению, опубликовали. Всё, что есть в карте сайта и отсутствует в обходе, — сирота, не связанная с остальным сайтом ничем, и существование по валидному адресу — не то же самое, что быть находимым.\u003C\u002Fp>\n\u003Ch2>Две строки, способные убрать весь сайт\u003C\u002Fh2>\n\u003Cp>Прочитайте robots.txt на боевом домене, вслух, если так помогает, и убедитесь, что это не файл тестового окружения. Строка Disallow: \u002F, пережившая выкладку, — самый частый способ, которым запуск уходит в тишину: проверка не стоит ничего, а пропуск стоит всего. Заодно убедитесь, что вы не закрываете папки стилей и скриптов: краулер, который не может собрать страницу так, как её видит человек, оценивает что-то другое, а не ваш сайт.\u003C\u002Fp>\n\u003Cp>Затем поищите noindex по шаблонам. Ему место в тестовом окружении, на страницах внутреннего поиска, на пустых страницах тегов и на комбинациях фильтров; в боевом шаблоне ему места нет, а попадает он туда через скопированный шаблон чаще, чем принято думать. Отметьте и то, что эти два механизма воюют друг с другом: закрытая в robots.txt страница никогда не забирается, значит, noindex на ней никогда не читается, и страница может остаться в индексе на одних входящих ссылках. Хотите что-то убрать — оставьте это доступным для обхода и повесьте директиву.\u003C\u002Fp>\n\u003Ch2>Одна страница — один адрес\u003C\u002Fh2>\n\u003Cp>Выберите одну каноническую форму адресов и заставьте всё остальное на неё редиректить: http на https, www на голый домен или наоборот, одно правило про слеш на конце, пути в нижнем регистре. Затем убедитесь, что каждая страница несёт самоссылающийся каноникал и что каноникал не указывает на главную, на редирект или на адрес с noindex. Ошибка шаблона, канонизирующая весь сайт на один адрес, — маленькое изменение с очень большим радиусом поражения.\u003C\u002Fp>\n\u003Cp>Дубли приходят и от адресов, которые порождает сам сайт: трекинговые параметры, сортировки, комбинации фильтров, версии для печати, идентификаторы сессий, хвосты постраничной навигации. Устранять их все не обязательно, но обязательно решить, какой адрес настоящий, и добиться, чтобы все сигналы говорили одно и то же. Каноникал — подсказка, а не директива, и удерживает её согласованность с вашими внутренними ссылками и картой сайта.\u003C\u002Fp>\n\u003Ch2>Файлы, которые обязаны не спорить\u003C\u002Fh2>\n\u003Cp>В карте сайта должны быть только адреса, которые вы рады видеть в индексе: канонические, отдающие 200, не закрытые, без noindex. Генерируйте её из того же источника, что и маршруты, чтобы страница не могла существовать без записи, а запись — пережить страницу, и сошлитесь на неё из robots.txt. Если сборка проставляет всем адресам сегодняшнюю дату при каждой выкладке, уберите поле, а не отправляйте сигнал, о котором сами знаете, что он шум.\u003C\u002Fp>\n\u003Cp>Если вы выпускаете больше одного языка, аннотации о том, какая страница какой локали служит, обязаны быть взаимными — каждая версия ссылается на все остальные, включая саму себя, — и коды обязаны быть верными; на этом тихо спотыкается удивительное число сайтов. Языковую версию, на которую ссылаются, но которая не отвечает тем же, обычно игнорируют, и нигде никакой ошибки не возникает. Держите соответствие в карте сайта, а не в head-тегах каждой страницы, и пусть каждая локализованная страница по-прежнему канонизируется на себя, а не поперёк языков.\u003C\u002Fp>\n\u003Ch2>Коды ответа и что перепроверять потом\u003C\u002Fh2>\n\u003Cp>Убедитесь, что несуществующая страница отдаёт 404, а не оформленную страницу со статусом 200: второе сообщает краулеру, что любой неверный адрес — настоящая страница. Убедитесь, что редиректы одношаговые, а не цепочки, и что они постоянные там, где вы имели в виду постоянные. Если вы заменяете существующий сайт, карта редиректов со старых адресов на новые — самый ценный пункт всего этого списка и тот, который чаще всего доделывают последним.\u003C\u002Fp>\n\u003Cp>После запуска три вещи стоит проверять постоянно, а не однократно. Совпадает ли примерно число проиндексированных движком страниц с тем, что вы опубликовали. Обходятся ли новые страницы в разумный срок. И не вернуло ли что-то в конвейере выкладки директиву из шаблона: настоящая беда не в том, что настройки однажды неверны, а в том, что они верны на запуске и тихо откатываются через два релиза, и об этом ничто не сообщит.\u003C\u002Fp>","Предзапусковые проверки, решающие, найдут ли сайт вообще: доступ краулера, robots и noindex, канонические адреса, карта сайта, языки и коды ответа.",[10,11,12,13,14],"техническое seo","чеклист перед запуском","robots.txt","канонический url","запуск сайта","how-to","2026-09-03T03:30:02+00:00",[18,23,27,31,36,41],{"slug":19,"title":20,"excerpt":21,"updated_at":22},"ai-tool-pricing-models-seat-vs-usage-vs-credits","Модели ценообразования AI-инструментов: за место, за использование и по кредитам","Три распространённых способа тарификации AI-инструментов — за место, за использование и по кредитам — и как понять, какой из них окажется дешевле именно для того, как работает ваша команда.","2026-08-05T14:32:26+00:00",{"slug":24,"title":25,"excerpt":26,"updated_at":22},"how-ai-image-generators-differ-diffusion-vs-the-rest","Чем различаются ИИ-генераторы изображений: диффузия и всё остальное, простыми словами","Нетехническое объяснение того, как работают ИИ-генераторы изображений, почему диффузионный подход стал доминирующим и каких практических различий стоит ждать от разных инструментов.",{"slug":28,"title":29,"excerpt":30,"updated_at":22},"how-to-automate-your-workflow-without-code","Как автоматизировать процесс без кода","Практическая последовательность для автоматизаций, которые выживают: выбрать подходящий процесс, описать его до того, как открывать инструмент, и предусмотреть сбои, ломающие большинство первых попыток.",{"slug":32,"title":33,"excerpt":34,"updated_at":35},"how-to-build-a-chatbot-without-coding","Как собрать чат-бота без программирования","Практический путь к работающему чат-боту на no-code инструментах: определить границы, подключить свой контент, обработать вопросы без ответа и понять реальную стоимость.","2026-08-05T14:32:27+00:00",{"slug":37,"title":38,"excerpt":39,"updated_at":40},"how-to-build-an-evaluation-set-that-does-not-go-stale","Как собрать оценочный набор, который не устареет","Большинство оценочных наборов собирают один раз, из того, что было легко достать, и они тихо перестают представлять работу. Как собрать набор из уже имеющихся отказов, подпитывать его из продакшена, защищать от системы, которую он измеряет, и понимать, когда он исчерпан.","2026-09-09T03:30:02+00:00",{"slug":42,"title":43,"excerpt":44,"updated_at":45},"how-to-change-a-prompt-without-breaking-production","Как менять промпт, не ломая прод","Промпты правят в текстовом поле и выкатывают за секунды — поэтому они ломают вещи тихо: ни компилятора, ни стектрейса, ни очевидного момента сбоя. Дайте им релизную дисциплину кода.","2026-08-24T03:30:02+00:00"]