- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Ну у меня цифры 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 и тд.
Отложенная загрузка поможет
Авито не то что по PageSpeed, а в реале ложит на лопатки некоторые смартфоны, планшеты и даже слабенькие ноутбуки (выпущенные примерно 8 и более лет назад) при скроллинге ленты с объявлениями - страницы либо зависают, либо вылетают и это не мешает им быть в топе.
У нас не Авито, не Дром, не Яндекс.
далее не только вам)))
PageSpeed это ровно такая же тема как и W3C и пути тут ровно два:
1. Ссылаться на Авито
2. Читать че там по ссылкам объясняют при возникновении ошибок и пытаться учиться
Всё.
Но, пока что в рунете в массе присутствуют продукты от тех, кто делал как у Авито, но не получилось)))
Многие, из здесь присутствующих, на профессиональном уровне и ежедневной основе проводят аудиты этих поделок.
Так что отдельно объяснять отчего не надо пинать стремящихся сделать лучше, я думаю, не нужно.
Что касается траты времени... а куда торопиться? В ТОПы мы все опоздали, а боты существа привередливые, так что учитесь угождать))))
Другие сервисы позволяют видеть, что конкретно как работает. Эти сервисы здесь много раз показывали, все кто в теме их давно знают и используют когда нужно ..
Сайт (страница) должен грузиться реально шустро полностью, без самообмана, для удобства людей ..
Да, это сейчас только если по НЧ стараться взять топ. Всë буквально поменялось за последние лет 5. Тогда ещë у меня получалось брать топы по СЧ.