Николай Ланец
22 дек. 2018 г., 18:53

@prisma-cms/front 1.9.15. Статистика ajax-переходов для Яндекс.Метрики и Гугл.Аналитики

Всем привет!

Заметка не особо большая, но для любителей SEO важная.

Предыстория

Для многих давно уже не секрет, что поисковики довольно неплохо воспринимают Javascript-сайты, в том числе и те, которые не в полной мере поддерживают SSR (Server-Side Rendering). То есть, если раньше поисковики запрашивали код страницы сайта по ее адресу, получали в ответ HTML-код и делали его разбор как есть, без учета javascript, то сейчас они не просто загружают код страницы, а непосредственно ее выполняют в виртуальной машине, учитывая подгрузку сторонних стилей и скриптов, скорость рендеринга страницы и т.п.

По этой причине в настоящий момент как бы и не о чем беспокоиться, когда стоит вопрос "стоит ли делать сайт на JS, ведь может пострадать SEO?". Типа, страницы теперь отлично парсятся и можно смело делать сайты на JS.

Но на самом деле далеко не все так просто. Помните, что сейчас все чаще и чаще на всех углах слышится "Не думайте только о SEO, больше думайте о поведенческих факторах, юзабилити и т.п."? То есть, если пользователи дольше сидят на вашем сайте, больше выполняют всяких действий (в том числе и переходы по внутренним страницам), то считается, что они более вовлечены на вашем сайте, и ваш сайт более интересен и его надо показывать больше другим пользователям. Но что получается с JS-сайтами, у которых переходы по страницам работают не классическим способом (когда каждый переход на другую страницу - это полная перезагрузка страницы), а по принципу SPA (Single Page Application)? На таких сайтах, когда пользователь кликает внутреннюю ссылку, чтобы перейти на другую страницу, у него не происходит реального перехода, а просто подгружаются нужные данные (или берутся из кеша, не суть) и страница или часть ее перерисовывается. Другими словами для сервиса аналитики это как бы и не переход (точнее совсем не переход). Когда метрика или аналитика смотрит на "поведение" таких пользователей, они примерно видят "Пользователь зашел на сайт, пользователь сидит, что-то кликает, все еще сидит на этой странице, сидит... долго сидит... Наверно просто оставил страницу открытой". А в это время пользователь может прочитал с десяток статей (на разных страницах, естественно), написал N комментариев и т.п.

Решение
Чтобы на таких сайтах сервисы аналитики получали актуальную информацию о переходах, в их программных решениях предусмотрены методы "ручной" отправки такой информации.
У гугл.аналитики это gtag('event', 'page_view', data);
У яндекс.метрики это yaCounter.clickmap().hit(location.pathname). Кстати, этот метод устарел, надо будет найти более актуальное решение.

В @prisma-cms/front я добавил код, реализующий эту логику. Сайтам, работающим на @prisma-cms, достаточно просто обновить у себя этот модуль и пересобрать скрипты, ничего более прописывать не надо дополнительно (будут использованы установленные на странице счетчики, лучше всего прописывать их в public/index.html).

Вот теперь в гугл.метрике видно, что такие переходы учитываются. Profit.

P.S.

Кстати, еще немного относительно поисковиков и JS-сайтов. Гугл обновил свой сервис PageSpeed Insights. Наиболее заметные изменения:

1. Он стал более правильно рендерить на своей стороне JS-сайты. Еще недавно (не боле чем месяц назад) я проверял свои сайты на @prisma-cms, со всеми была одна картина: ошибок не было и сайты нормально индексировались, на PageSpeed выдавал белый снимок, то есть страница как будто пустая. Я знал, что это просто применяются устаревшие методики и рано или поздно гугл обновится и все заработает ОК, и вот теперь это как раз работает ОК, гугл видит теперь страницу нормально. Кстати, modxclub.ru для десктопа показывает 99/100, но для мобильников есть еще к чему стремиться, пока что 62/100. pivkarta.ru 97/100, для мобильников еще хуже (35/100).
2. Вкладка "Для мобильных" передвинулась влево, перед вкладкой "Для компьютеров". Видимо, гугл как бы намекает "Показатели для мобильников будут теперь учитываться выше, чем для десктопов". Думаю, стоит учесть.
3. Отчеты в целом стали более подробные и наглядные.

Добавить комментарий