Ответ 1
AdSense теперь поддерживает HTTPS. Просто удалите часть "http:" рекламного кода.
Довольно хорошо известно, что Google Ads не поддерживает HTTPS, но поскольку я храню сеанс пользователя в токере/cookie-канале, я чувствую необходимость шифровать это информации... как минимум, чтобы я мог защитить своих конечных пользователей от взлома.
Каковы мои выборы? Я уверен, что кто-то сталкивался с этим раньше. Идеи, которые могут работать, включают
AdSense теперь поддерживает HTTPS. Просто удалите часть "http:" рекламного кода.
Что произойдет, если вы используете этот URL для вызова adsense
https://pagead2.googleadservices.com/pagead/show_ads.js
Вместо
http://pagead2.googlesyndication.com/pagead/show_ads.js
?
Похоже, что он предоставляет тот же script, вам просто нужно проверить, может ли он получать контент вашей страницы для предоставления контекстных объявлений.
Это недокументировано. Просто добавление "s" в классическом URL-адресе дает ошибку сертификата, потому что домен сертификата - это *.googleadservices.com, поэтому конечный URL-адрес я предлагаю. Это, конечно, непроверено, но мне любопытно узнать, может ли он работать.
РЕДАКТИРОВАТЬ: Содержимое доставлено, но я не вижу, получил ли я предупреждение, потому что сертификат на моем тестовом веб-сайте не доверял: https://uandco.net/
EDIT: теперь я использую настоящий сертификат по тому же URL-адресу, но браузеры жалуются на незащищенные элементы. Это связано с тем, что adsense script, даже при вызове с его URL-адреса https, генерирует незащищенные http-вызовы для других скриптов и фреймов.
Ответ, который я использовал для веб-сайта клиента, - это переход от AdSense к DoubleClick для издателей Small Business. Это еще одна система запуска Google, и даже если вы не используете ее для управления рекламными кампаниями, она возвращается к вашей учетной записи AdSense, чтобы обслуживать рекламные объявления.
Google предоставляет код для вас, но он использует "уловку" для вставки его кода, который работает независимо от HTTPS или HTTP.
<script type='text/javascript'>
(function() {
var useSSL = 'https:' == document.location.protocol;
var src = (useSSL ? 'https:' : 'http:') +
'//www.googletagservices.com/tag/js/gpt.js';
document.write('<scr' + 'ipt src="' + src + '"></scr' + 'ipt>');
})();
</script>
Источник: http://support.google.com/dfp_sb/bin/answer.py?hl=en&answer=143694
Вариант 3 ничего не сделает, # 4 может быть большой работой, № 2. AdSense по-прежнему является королем.
Это оставляет вариант 1 - самый простой вариант, на мой взгляд. Используете ли вы какие-либо рамки?
Изменить: другой вариант состоял бы в том, чтобы просто продолжать обслуживать их через HTTP и обрабатывать различные ошибки и предупреждения браузера.
Когда я написал исходный ответ, я думал использовать что-то вроде Open ID, но, во-вторых, я не уверен, что сделаю что-нибудь для вас.
Просто решение для бедных: открытие нового окна HTTP со всеми материалами AdSense...
Да, он воняет, но его не должно быть слишком сложно реализовать с помощью магии JS.
С уважением.