- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Ну у меня цифры 100 100 96 100, бесит только 96 из за счетчика Яндекса
Им развиваться это никак не мешает.
Понимаю что вроде как от меня это вообще и не зависит (пишет это на всех сайтах, где есть счетчик) но как-нибудь это все таки обойти можно?
Ну у меня цифры 100 100 96 100, бесит только 96 из за счетчика Яндекса
Отложенная закрузка
Последний и лучший вариант на серче:
( function () {
'use strict';
// Флаг, что Метрика уже загрузилась.
var loadedMetrica = false,
// Ваш идентификатор сайта в Яндекс.Метрика.
metricaId = *********,
// Переменная для хранения таймера.
timerId;
// Для бота Яндекса грузим Метрику сразу без "отложки",
// чтобы в панели Метрики были зелёные кружочки
// при проверке корректности установки счётчика.
if ( navigator.userAgent.indexOf( 'YandexMetrika' ) > -1 ) {
loadMetrica();
} else {
// Подключаем Метрику, если юзер начал скроллить.
window.addEventListener( 'scroll', loadMetrica );
// Подключаем Метрику, если юзер коснулся экрана.
window.addEventListener( 'touchstart', loadMetrica );
// Подключаем Метрику, если юзер дернул мышкой.
document.addEventListener( 'mouseenter', loadMetrica );
// Подключаем Метрику, если юзер кликнул мышкой.
document.addEventListener( 'click', loadMetrica );
// Подключаем Метрику при полной загрузке DOM дерева,
// с "отложкой" в 1 секунду через setTimeout,
// если пользователь ничего вообще не делал (фоллбэк).
document.addEventListener( 'DOMContentLoaded', loadFallback );
}
function loadFallback() {
timerId = setTimeout( loadMetrica, 3000 );
}
function loadMetrica( e ) {
// Пишем отладку в консоль браузера.
if ( e && e.type ) {
console.log( e.type );
} else {
console.log( 'DOMContentLoaded' );
}
// Если флаг загрузки Метрики отмечен,
// то ничего более не делаем.
if ( loadedMetrica ) {
return;
}
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js", "ym");
ym( metricaId, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:2000 });
// Отмечаем флаг, что Метрика загрузилась,
// чтобы не загружать её повторно при других
// событиях пользователя и старте фоллбэка.
loadedMetrica = true;
// Очищаем таймер, чтобы избежать лишних утечек памяти.
clearTimeout( timerId );
// Отключаем всех наших слушателей от всех событий,
// чтобы избежать утечек памяти.
window.removeEventListener( 'scroll', loadMetrica );
window.removeEventListener( 'touchstart', loadMetrica );
document.removeEventListener( 'mouseenter', loadMetrica );
document.removeEventListener( 'click', loadMetrica );
document.removeEventListener( 'DOMContentLoaded', loadFallback );
}
} )()
Вроде лет 5 назад говорили что гугль очень любит сайты которые быстро грузятся. Статика.
( function () {
'use strict';
// Флаг, что Метрика уже загрузилась.
var loadedMetrica = false,
// Ваш идентификатор сайта в Яндекс.Метрика.
metricaId = *********,
// Переменная для хранения таймера.
timerId;
// Для бота Яндекса грузим Метрику сразу без "отложки",
// чтобы в панели Метрики были зелёные кружочки
// при проверке корректности установки счётчика.
if ( navigator.userAgent.indexOf( 'YandexMetrika' ) > -1 ) {
loadMetrica();
} else {
// Подключаем Метрику, если юзер начал скроллить.
window.addEventListener( 'scroll', loadMetrica );
// Подключаем Метрику, если юзер коснулся экрана.
window.addEventListener( 'touchstart', loadMetrica );
// Подключаем Метрику, если юзер дернул мышкой.
document.addEventListener( 'mouseenter', loadMetrica );
// Подключаем Метрику, если юзер кликнул мышкой.
document.addEventListener( 'click', loadMetrica );
// Подключаем Метрику при полной загрузке DOM дерева,
// с "отложкой" в 1 секунду через setTimeout,
// если пользователь ничего вообще не делал (фоллбэк).
document.addEventListener( 'DOMContentLoaded', loadFallback );
}
function loadFallback() {
timerId = setTimeout( loadMetrica, 3000 );
}
function loadMetrica( e ) {
// Пишем отладку в консоль браузера.
if ( e && e.type ) {
console.log( e.type );
} else {
console.log( 'DOMContentLoaded' );
}
// Если флаг загрузки Метрики отмечен,
// то ничего более не делаем.
if ( loadedMetrica ) {
return;
}
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js", "ym");
ym( metricaId, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:2000 });
// Отмечаем флаг, что Метрика загрузилась,
// чтобы не загружать её повторно при других
// событиях пользователя и старте фоллбэка.
loadedMetrica = true;
// Очищаем таймер, чтобы избежать лишних утечек памяти.
clearTimeout( timerId );
// Отключаем всех наших слушателей от всех событий,
// чтобы избежать утечек памяти.
window.removeEventListener( 'scroll', loadMetrica );
window.removeEventListener( 'touchstart', loadMetrica );
document.removeEventListener( 'mouseenter', loadMetrica );
document.removeEventListener( 'click', loadMetrica );
document.removeEventListener( 'DOMContentLoaded', loadFallback );
}
} )()
Замечания и риски
Комментарий не совпадает с кодом
В комментарии написано про задержку в 1 секунду, а в коде setTimeout(loadMetrica, 3000) — 3 секунды.
Скрипт после DOMContentLoaded
Если этот блок выполняется уже после события DOMContentLoaded (например, асинхронный бандл внизу страницы), подписка на DOMContentLoaded не сработает, фоллбэк по таймеру может никогда не запланироваться, и Метрика загрузится только при взаимодействии. Надёжный вариант: при document.readyState !== 'loading' сразу вызывать loadFallback() (или сразу loadMetrica по политике продукта).
mouseenter на document
Срабатывает при входе курсора в документ; на тач-устройствах без мыши это почти не помогает — но есть touchstart , скролл и таймер.
console.log
В продакшене лучше убрать — шум в консоли и лишняя работа.
Источник tag.js с jsDelivr
Это не официальный хостинг Яндекса. Обычно используют https://mc.yandex.ru/metrika/tag.js . Зеркало может отличаться по версии и политике обновлений; с точки зрения доверия и соответствия документации безопаснее официальный URL.
Параметры init
Указаны только clickmap , trackLinks , accurateTrackBounce . Если нужны вебвизор, ecommerce, отложенная загрузка и т.д. — их нужно явно добавить в объект настроек.
Метрика и «зелёные кружочки»
Для обычных пользователей отложенная загрузка может слегка сдвигать фиксацию первых просмотров и очень коротких отказов по сравнению с немедленной установкой — это компромисс скорости страницы и полноты данных.
Ну в Гугл спидтест при отложенной загрузке станет не 96, а 100.
Всем привет. Давно тут не писал. Делаю новый проект и опять столкнулся с этим Google pagespeed, да давно все говорят че не смотреть на него и тд.. Но чисто галочка в голове какая то, хочу добить. Раньше когда Яндекс счетчик ставил, пункт рекомендации всегда был 100%, сейчас проверю все свои сайты и новый в том числе, рекомендация 96% и вот что пишут: Ошибки браузера занесены в журнал консоли
WebSocket connection to 'wss://mc.yandex.com/solid.ws' failed: Error in connection establishment: net::ERR_NAME_NOT_RESOLVED
Понимаю что вроде как от меня это вообще и не зависит (пишет это на всех сайтах, где есть счетчик) но как-нибудь это все таки обойти можно? Вроде уже и все в настройках счетчика поотключал типа webvisor и тд.
Отложенная загрузка поможет