Как вам уменьшить число переадресаций на сайте?
Дорогие друзья, оптимизация сайт вещь полезная, но требующая времени, знаний и опыта. Поэтому мы поступим проще и разберем конкретные проблемы и способы их решения. Понимаю, что вариант этот не слишком оптимальный, но зато более-менее доступный!
В частности, я расскажу вам о том, как можно уменьшить число переадресаций на сайте и тем самым ускорить загрузку сайта. Найти переадресации мне поможет PageSpeed Insights, а решать я буду конкретные проблемы, выявленные этим сервисом на моем блоге.
И так, заходим на сайт, вводим URL-адрес интересующей веб-страницы и жмем кнопку «Анализ» (англ. Analyze). Сервис выдаст нам кучу всевозможных ошибок, нас же интересует пока группа «Исключить переадресации» (англ. Avoid Redirects). Вот, что я получил для одной из своих веб-страниц.
Как вы видите, каждая ошибка состоит из двух URL-адресов. Первый URL-адрес это тот, что есть на веб-странице, а второй – это куда перенаправляется пользователь по первому URL-адресу. Например, у меня на веб-странице блога, в CSS-стилях используется картинка, которую я вызываю по адресу без «www» в доменном имени:
.blog-pager {
background: transparent url(//blogblog.com/1kt/simple/paging_dot.png) repeat-x scroll top center;
overflow:hidden;
}
в результате мы получаем перенаправление на URL-адрес с «www
» в начале доменного имени. Избавиться от лишней переадресации можно, добавив «www
» в доменном имени:
.blog-pager {
background: transparent url(//www.blogblog.com/1kt/simple/paging_dot.png) repeat-x scroll top center;
overflow:hidden;
}
Следующая проблема несколько сложнее. К ней мы вернемся чуть позже, т.к. в начале нам надо разобраться непосредственно с counter.yadro.ru, который используется рейтингом LiveInterent. Если сравнить два URL-адреса, то отличие между ними будет лишь в параметре q, но именно из-за него и происходит перенаправление.
http://counter.yadro.ru/hit?r;...
http://counter.yadro.ru/hit?q;r...
В коде счетчика LiveInternet мы легко можем найти отсутствие этого параметра. Вот начала кода счетчика (не информера):
<!--LiveInternet counter--><script type='text/javascript'>new Image().src = "//counter.yadro.ru/hit?r" + …
Чтобы избавиться от лишней переадресации достаточно добавить недостающий параметр:
<!--LiveInternet counter--><script type='text/javascript'>new Image().src = "//counter.yadro.ru/hit?q;r" + …
Вернемся к предыдущей проблеме. Здесь тоже используется counter.yadro.ru, но с параметром PLUSO
. Нетрудно догадаться, что речь идет о сервисе Pluso, который недавно расширил круг своих функций. В частности, он теперь собирает статистику социальной активности. Хотя сказать с полной уверенностью, что для этого используются ресурсы LiveInternet, я не могу. В коде скрипта: share.pluso.ru/pluso.js – как и: share.pluso.ru/pluso-like.js – присутствуют вызовы счетчика LiveInternet. Плюс пока закомментированы счетчики сервисов DataMind и AdRiver. С учетом сказанного, решил отказаться от Pluso и попробовать кнопку «Поделиться» от Яндекс, только в расширенном и недокументированном виде. Пример, смотрите в конце данного поста. Я же приведу свой код для вставки в Blogger шаблон. Первую часть кода надо поместить в тег head:
<script charset='utf-8' src='//yandex.st/share/share.js' type='text/javascript'/>
Вторую часть кода в то места, где будут выводиться кнопки:
<b:if cond='data:blog.pageType == "item"'>
<div class='yashare-auto-init' data-yashareQuickServices='twitter,facebook,vkontakte,lj,moimir,odnoklassniki,gplus' data-yashareTheme='counter' data-yashareType='small' expr:data-yashareDescription='data:blog.metaDescription' expr:data-yashareImage='data:blog.postImageThumbnailUrl' expr:data-yashareLink='data:post.url' expr:data-yashareTitle='data:post.title'/>
</b:if>
Обращаю ваше внимание, что здесь уже учтена подстановка данных: URL, заголовок, описание и картинки.
Идём дальше. Теперь мы встречаемся с проблемой счетчика Яндекс.Метрика. Если верить PageSpeed Insights, то разница здесь всего лишь в «/1
»:
http://mc.yandex.ru/watch/19563148?rn=426787...
http://mc.yandex.ru/watch/19563148/1?rn=426787...
Фишка в том, что переадресация происходит здесь где-то в недрах скрипта счетчика, и я никак не могу понять где. Возможно, я ещё обращусь с этим вопросом к разработчикам, а пока просто отказаться от всех прелестей и урезал счетчик до содержания тега noscript и добавления «/1
» в конец значения атрибута src
, например:
<img src="//mc.yandex.ru/watch/19563148/1" style="position:absolute; left:-9999px;" alt="" />
Дальше у нас идёт счётчик от Mail.ru. Проблема выглядит также как и с Яндекс.Метрика. Вот только речь идёт именно об информере, код которого вполне доступен для редактирования. Так что просто добавляем «2
» и проблема решена.
<img src="//top-fwz1.mail.ru/counter2?id=2356444;t=479;l=1" …
Последняя ошибка явно связана с работой Google AdSense и вроде как речь идет о проверке - авторизован пользователь или нет, но исправить не представляется возможным, разве что убрать с блога рекламу.
После всех выше изложенных изменений у меня осталась только последняя переадресация.
Конечно, на блоге есть и другие проблемы, но о них и их решениях я расскажу в других своих постах. На этом у меня всё. Если у вас возникли проблемы, которые не описаны в моем посте – пишите в комментариях (желательно со скриншотом, используйте bbcode тег [img]
), будем разбираться. Спасибо за внимание. Удачи!
6 комментариев:
[img]//lh6.googleusercontent.com/_W8hebv9r7lyEll6h6dTxUmJZgNASAHnt8fRkr-66w=w800-h414-no[/img]
Отправить комментарий