Ускорение внешней баннерной рекламы с асинхронной загрузкой или кэшированием


У меня есть красивый и элегантный веб-сайт, который загружается в два раза быстрее, пока, конечно, не будут включены рекламные баннеры! Ожидание получения добавляет до 10 секунд времени загрузки страницы, что для меня действительно расстраивает, так как я потратил годы на оптимизацию остальной части сайта.

Я пытался загрузить рекламу через ajax или аналогичную с переменным успехом. Баннеры на основе flash и объявления, которые просто получают фрагмент html с рекламного сервера, работают нормально. Однако, есть некоторые (PaddyPower, я говорю о вас), которые возвращают javascript и используют document.write() для добавления html-рекламы в DOM. Реклама никогда не отображается.

Партнерский код:

<script type="text/javascript" src="someadserver.com/impression.aspx"></script>

Сценарий, возвращенный someadserver.com

document.write('Normal HTML code')

Это должно быть как-то связано с межсайтовыми сценариями и безопасностью, но я не эксперт в этом. Есть ли способ достичь того, чего я хочу?

Я не верю, что кэширование - это вариант, так как это исказит статистика показов/переходов по ссылкам.

Также изменение любого партнерского кода не является вариантом, так как это веб-сайт клиента, и я хочу стабильное и работоспособное решение, которое не зависит от взлома рекламного кода.

---РЕДАКТИРОВАТЬ---

Я изменил свой класс рекламы, чтобы возвращать код рекламы, окруженный тегами

    <?php foreach(Advert::getCachedAds() as $id => $code): ?>
    <div class="advert <?php echo $id ?>" style="visibility:hidden;">
        <?php echo $code ?>
    </div>
    <?php endforeach; ?>
    <script type="text/javascript">
        $(function(){
            $('.adContainer').each(function(index, object){
                var advert = $('div.' + $(object).attr('id')).html();
                $('div.' + $(object).attr('id')).html('');
                $(object).html(advert);
            });
        });
    </script>

Это работает довольно хорошо и напоминает мне о сценарии загрузки изображений старого образца, которые мы использовали во времена Netscape и коммутируемых соединений.

Author: Adam Pointer, 2011-10-12

1 answers

Вы можете разместить разделители мест размещения там, где вы хотите разместить свои объявления, загрузить объявления после загрузки всего фактического контента, а затем переместить загруженные объявления на место.

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

 1
Author: rdjs, 2011-10-12 12:23:57