2012-02-29 10 views
2

Вот отчет о тестировании скорости:Стоп Pingdom подсчета социальных медиа в докладе скорости сайта

http://tools.pingdom.com/fpt/#!/q25sGwB65/www.scirra.com

Как вы можете видеть, что около половины скорости теряется социальных кнопок. Я делаю несколько отчетов о времени загрузки страницы, и мы хотим исключить их из отчета, но они должны быть воспроизведены в Pingdom.

Я пробовал загрузку скриптов, как это:

$(document).ready(function() { 
    setTimeout(function() { 
     $.getScript("http://platform.twitter.com/widgets.js"); 
     $.getScript("http://apis.google.com/js/plusone.js"); 
    }, 100); 
}); 

Но он по-прежнему считает их. Кто-нибудь знает, как это сделать?

Это также возможно более важно, чем просто рассказывать об эстетике, скорость страницы Google в инструментах для веб-мастеров также учитывает их во время загрузки, насколько я могу судить, а скорость страницы используется как фактор ранжирования, поэтому было бы хорошо быть которые могут скрыть эти грузы от Pingdom и Google, если это возможно.

Редактировать

предложение TJ о использовании нагрузки окна не имеет никакого заметного различия по отчетности либо:

$(window).load(function() { 
    $.getScript("http://platform.twitter.com/widgets.js"); 
    $.getScript("http://apis.google.com/js/plusone.js"); 
}); 
+0

Это интересно (и удивительно), что оно все еще учитывает их, когда вы запускаете поиск с такой задержкой. Интересно, ждет ли он всех запросов, инициированных до окончания события 'window'' load', чтобы закончить. (Чтобы проверить теорию, вы можете попробовать загрузить их из 'window'' load', хотя я ожидаю, что это будет позже, чем вы на самом деле хотите, чтобы они были загружены.) Вы спрашивали у людей Pingdom, почему это так? –

+0

@TJCrowder Я обновил вопрос, который, похоже, не помогает –

+0

Я также пробовал некоторые базовые обфускации URL-адресов, а также обнаружил, что они их ищут, но это не помогает –

ответ

1

Стоян имеет некоторые хорошие идеи о том, как социальные кнопки должны реализованы в асинхронном режиме , это может вам помочь - http://www.phpied.com/social-button-bffs/

Устранение от водопада будет довольно сложно, так как Pingdom будет использовать браузер или прокси-сервер какого-либо типа c получить информацию о загрузке.

Почему вы хотите устранить их для отчета?

Вы можете использовать webpagetest.org и просто блокировать адреса

+0

Спасибо за ответ, мы хотим удалить его по двум причинам: 1 мы используем ориентир для загрузки на уровне публичной страницы, сравнивающий нас с конкурентами, и мы сильно страдаем, поскольку социальные кнопки искажают время загрузки страницы (никакие другие конкуренты не используют эти социальные кнопки), и мы хотите, чтобы эталонный показатель был легко воспроизводимым, также я подозреваю, что Google в его измерении времени загрузки страницы в инструментах для веб-мастеров также учитывает эти нагрузки. Поскольку скорость страницы учитывается как показатель ранжирования, было бы неплохо устранить их из водопада, если это возможно. –

+0

Где публичная страница, которая сравнивает вас с конкурентами? Глядя на источник для вашей домашней страницы, я думаю, что асинхронные механизмы загрузки Stoyan для социальных кнопок могут помочь вам просто включить файлы .js так, как вы сейчас. –

+0

Это то, что вы на самом деле хотите - Ааррон взял код Стояна и загрузил кнопки после того, как onload запущен - http://www.aaronpeters.nl/blog/why-loading-third-party-scripts-async-is-not -достаточно хорошо –

0

Мы делаем что-то вроде этого:

$(function(){ 
    setTimeout(function(){ 
     /* load twitter, facebook */ 
    }, 3000); 
}); 

Это пытается убедиться, что все существенные работы, чтобы сделать на странице завершена перед тем, как менее важный Twitter, загружаются кнопки FB.

Не совсем уверен, что pingdom не сообщит об этом.