Зачем я отдельно смотрю такой сайт
Такой сайт я для себя называю SPA: одно приложение, которое держит разделы внутри общей оболочки. На адрес приезжает один HTML. Дальше скрипты подменяют куски — каталог, статью, карточку. Строка браузера может обновиться, а сервер при этом новую страницу не собирает. Фильтр срабатывает сразу, переход внутри сайта не моргает пустым экраном. Человеку так спокойнее.
Робот просит конкретный адрес и читает то, что пришло в ответ. Отрисовку скриптов часть поисковых систем делает отдельным проходом, часть пропускает. Второй проход я не ставлю вместо проверки первого документа. Пока в исходном HTML нет заголовка, текста и ссылок, вопрос для меня открыт.
Имя сборки на эту проверку не влияет. Свой код и готовый каркас задают один вопрос: есть ли у публичного адреса собственный документ. В проход беру раздел услуги, карточку и статью. Кабинет, корзина и экраны после входа живут для человека, который уже вошёл. В сверку с поиском я их не кладу.
Что робот получает до отрисовки
Беру адрес, который должен открываться сам, и вставляю его в строку браузера. Клик по меню внутри приложения часто меняет только экран. Прямой заход показывает ответ именно на этот адрес. Если по клику карточка полная, а прямой заход отдаёт страницу ошибки, у адреса нет своего документа на сервере.
Дальше смотрю два вида одного URL. Готовый экран — страница после скриптов, так её видит человек. Исходный код — ответ до отрисовки. Дерево в инспекторе элементов собирается уже после скриптов, поэтому заголовок и абзацы там находятся почти всегда. Для сверки с первым ответом сервера я открываю исходный код.
В этом коде ищу заголовок окна, главный заголовок в теле, основной текст и ссылки с адресами. Скрипты в голове документа пробелом не считаю. Пробел там, где без них пропадает смысл страницы. Короткий файл с контейнером, списком скриптов и надписью о загрузке — оболочка: робот на первом шаге получил её.
| Что открываю | Что в нём лежит | Что для меня значит |
|---|
| Готовый экран в браузере | Страница после скриптов | Так сайт видит человек |
| Исходный код того же адреса | Ответ сервера до отрисовки | Так выглядит первый документ |
| Тот же раздел, открытый напрямую | Свой HTML или снова оболочка | Есть ли у адреса собственная страница |
Слева ответ-оболочка, справа документ, в котором содержание уже лежит.
Чем серверный HTML отличается от пустой оболочки
Готовый серверный HTML читается и без скриптов. В исходном коде уже лежат название раздела, абзацы и ссылки на соседние страницы. Смысл страницы на месте, даже если представить скрипты выключенными. Такой документ я и жду от публичного адреса.
Пустая оболочка устроена наоборот. На публичные адреса приезжает общий каркас, а содержание дорисовывается потом. На экране сайт выглядит целым. В первом ответе это короткий файл, и на главной он часто совпадает с файлом внутреннего адреса. Одинаковый короткий ответ на разных адресах для меня знак: разделы ещё не стали отдельными документами.