Я точно думал, что всё работает именно так. Но я понял, что Бхану называл это «ленивой загрузкой» (lazy loading), и предлагал отключить эту функцию. Сейчас, оглядываясь назад, я, возможно, неправильно понял. Неужели «ленивая загрузка» означает лишь загрузку неосновных элементов при уже отображённом важном содержимом (например, загрузка изображений после того, как остальное уже показано, вместо ожидания полной загрузки всего перед отображением)?
Если «ленивая загрузка» означает именно это, то я не вижу прямой связи с описанной проблемой. А если речь о загрузке только текущей части темы (что, возможно, вообще нельзя отключить и Discourse всегда работает именно так — вы об этом говорите?), то это уже другое.
Как вы думаете, такой способ загрузки тем может быть связан с проблемой «рекламных доходов»? Это из-за «ленивой загрузки»? Или, скорее всего, дело в чём-то другом (например, в том, что уже упоминалось выше)?
На прошлой неделе мы настроили это с использованием внутренней рекламы в среде разработки и на стейджинге в Docker (условное продакшн-окружение) и не заметили никаких проблем с загрузкой рекламы во время тестирования, даже в длинных темах с размещением рекламы между каждым постом.
Однако я планирую скоро настроить это снова (на новом разделе VPS, выделенном специально для этого теста) и предоставлю ссылку на тестовый экземпляр для всех желающих проверить и посетить (посмотреть вживую), возможно, в начале следующей недели.
Понятно. Значит, отключение (что, как я предполагаю, возможно, раз об этом упоминалось) ленивой загрузки действительно может решить проблему, которая может возникать при использовании Google AdSense и ленивой загрузки. Отлично.
Я возвращаюсь к своему вопросу: если у вас очень большая тема и отключена «ленивая загрузка», загружается ли всё сразу при входе? (Или «бесконечная прокрутка» предотвращает это?)
Я полагаю, что отключение «ленивой загрузки» должно иметь довольно серьёзные недостатки, не так ли? (Даже если это решает все проблемы, связанные с рекламой Google, о которых здесь и ранее говорилось). Или можно разумно поддерживать форум на Discourse со временем с отключённой ленивой загрузкой?
Постарайтесь не проводить границу между этими двумя утверждениями.
Я не имел в виду, что Discourse лениво загружает рекламу.
Реклама — это больше, чем просто простые изображения; рекламная сеть использует JavaScript для отображения объявлений на странице. Discourse напрямую не вмешивается в работу этих скриптов.
Ленивая загрузка в данном случае была бы действительно полезна, если бы это было разрешено.
Я вижу несколько сообщений, которые кажутся релевантными:
[DEPRECATION] ember-addons/ember-computed-decorators устарел. Пожалуйста, используйте discourse-common/utils/decorators вместо этого. _ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:74491:12
Предупреждение об устаревании: импортируйте класс NavItem вместо использования Discourse.NavItem (устарело с версии Discourse 2.4.0) (удаление в версии Discourse 2.5.0) 2 _application-6e04c264e55fa0b55ca318bfc7b38d56fc17954d61ec053a8153d3d1d235c984.js:241:12
Предупреждение об устаревании: используйте специфичные импорты @ember/* вместо ember (устарело с версии Discourse 2.4.0) (удаление в версии Discourse 2.5.0) _ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:74706:10
Предупреждение об устаревании: импортируйте класс User вместо использования User (устарело с версии Discourse 2.4.0) (удаление в версии Discourse 2.6.0) _application-6e04c264e55fa0b55ca318bfc7b38d56fc17954d61ec053a8153d3d1d235c984.js:241:12
Атрибут ‘src’ элемента пуст. ads:1:1
Атрибут ‘src’ элемента пуст. ads:1:1
Этот сайт, по-видимому, использует эффект позиционирования, связанный с прокруткой. Это может плохо работать с асинхронной прокруткой; см. https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects для получения дополнительных деталей и чтобы присоединиться к обсуждению связанных инструментов и функций!
Я согласен, что иногда у Google нет рекламы для показа на странице. Однако охват, похоже, значительно выше на другом программном обеспечении для форумов по сравнению с этим. Во-вторых, кажется, существует четкая закономерность появления пустой рекламы, связанная с навигацией, поэтому я подозреваю, что это не связано с отсутствием рекламы из-за страницы или контента?
Спасибо, пожалуйста, ознакомьтесь с моим комментарием выше. Несколько моментов:
Я проводил обзор и вижу, что пустая (возможно, от Google) реклама на форумах Discourse может быть проблемой и на других форумах — вероятно, им просто всё равно, а мне нет
Случай 1, когда реклама, похоже, не появляется — вот как это воспроизвести: прочитайте тему, в конце которой есть код рекламы. Реклама в конце страницы появляется. Вернитесь назад и снова нажмите на ссылку той же страницы. Вы автоматически перейдете в конец страницы с областью нижней рекламы на экране — на этот раз она не заполнена (см. скриншот). Та же страница, тот же контент — разное заполнение рекламой.
Случай 2 — перейдите сразу в конец длинной темы и прокрутите вверх. В большинстве случаев реклама не появляется.
Я попробую и сообщу о внутренней рекламе.
Очень рад видеть, что так много членов команды объединяют усилия для решения этой проблемы — Discourse — это лучшее.
Надеюсь, это добавит небольшой взгляд на обсуждение.
Просто ради интереса я создал эту тестовую страницу с примерно 18 рекламными объявлениями «домашнего» типа на тестовом сайте и темой с Lorem Ipsum, которую я собрал сегодня (могу добавить ещё, если нужно).
Эти рекламные объявления (просто тестовые размещения, ничего коммерческого) загружаются с нашего рекламного сервера (который находится на другом сервере), и все рекламные теги передаются через тег iframe, чтобы посмотреть, как они загружаются:
Позже на этой неделе я демонтирую эту настройку и заменю теги iframe на асинхронные скрипты.
Вы можете протестировать на мобильных устройствах и настольных компьютерах: тестовая настройка показывает объявления размером 300x250 на мобильных устройствах и 728x90 на настольных компьютерах.
Когда я загружаю эту тестовую страницу (как на мобильных устройствах, так и на настольных компьютерах), я не вижу никакой задержки, кроме обычного времени загрузки изображения (между мной и этими двумя серверами разница во времени составляет 12 часов); но, возможно, у меня на стороне всё уже закэшировано, и поэтому я не вижу никаких заметных задержек.
Нет пустых мест.
Примечание: я планирую демонтировать эту тестовую конфигурацию в среду на следующей неделе; просто разместил её, чтобы проверить, добавит ли она какую-либо ценность обсуждению.
Да, я проверил, и всё работает нормально.
Было бы действительно здорово, если бы вы могли переключить этот эксперимент на Google AdSense, чтобы посмотреть, продолжает ли всё работать корректно или нет.
Согласен, пользователи форумов на Discourse — лучшие (и наставники из команды поддержки)
Касательно вашего последнего скриншота: я заметил, что на нём много прокрутки.
А как насчёт первой рекламы? Всё в порядке.
Пожалуйста, имейте в виду: Google AdSense использует некое правило «трёх объявлений» для показа/скрытия рекламы.
Кроме того, наибольший «доход» приносят ваши первые объявления, а не последние!
В любом случае, я провёл новый тест на вашем сайте.
У вас включена автоматическая реклама.
Тема с 51 ответом показывает Девять объявлений! Это очень много!!!
Последнее объявление (над блоком «Предлагаемые темы») не отображается:
Лимит был снижен, но логика осталась прежней. Мой опыт основан на работе с образовательным сайтом с монетизацией через рекламу. На их страницах размещалось несколько блоков Google AdSense. В целом, при значительном трафике на странице отображалось только три рекламных объявления в видимой области. Некоторые страницы действительно показывали все объявления, но, как правило, Google ограничивает количество отображаемой рекламы — возможно, в зависимости от времени загрузки страницы. Я не уверен в своих предположениях, но именно такой вывод сделал наш менеджер по рекламе, когда мы обратились к нему с этой проблемой.
Примечание: здесь, в Индии, веб-страницы часто перегружают максимальным количеством рекламных кодов, поэтому Google ограничивает показ рекламы в этом регионе.
У меня есть хорошо зарекомендовавший себя сайт с восемью рекламными блоками на большой странице, и когда мы запускаем AdSense (что делаем крайне редко), мы никогда не видим пустых мест.
Ограничение «три рекламы на страницу» для AdSense не существует ни в какой форме.
Однако есть и другие причины, по которым AdSense не показывает рекламу, особенно на новых сайтах и/или сайтах с низкой информационной ценностью (как это оценивают алгоритмы Google).
Например, тестовая страница, которую я только что создал… если я попробую запустить AdSense на этой странице, Google, конечно, не покажет рекламу (даже одну) на этом тестовом сайте.
Я проверил небольшую страницу на своём сайте с небольшим количеством рекламных мест, и проблема с пустыми объявлениями также присутствует здесь. Следовательно, маловероятно, что причина заключается в ограничении количества рекламных объявлений Google на страницу.
Алгоритмы Google довольно строги к показу рекламы (как и должно быть). Краулеры AdSense обходят сайты, использующие AdSense, анализируют контент и множество других факторов, чтобы определить, следует ли показывать рекламу.
Кстати, мы раньше показывали более 40 миллионов объявлений в месяц и в своё время (скучаю по тем дням, LOL) имели прямой доступ к инженерам Google в Маунтин-Вью при решении проблем с «показом рекламы и CORS-подобными» вопросами.
Кстати, только что обновил тестовую страницу с «быстрыми и дружелюбными» lorem ipsum для внутренних объявлений, которую я выложил вчера, добавил ещё ответов, и теперь на этой тестовой странице более 20 тестовых размещений (думаю, 23), так что, надеюсь, это хоть немного поможет нескольким людям увидеть, как загружаются эти «внутренние объявления», показываемые с другого рекламного сервера через тег iframe.
Да, я почти уверен, что если мы сделаем тему длиной в 200 ответов и разместим блок размещения рекламы таким образом между каждым постом, Discourse «сделает свою магию» и загрузит содержимое этих iframe как раз перед тем, как теги станут видимыми.
Прошу прощения, что не написал ещё 165 ответов с «Lorem Ipsum» (); но если вы хотите больше размещений на той тестовой странице с «Lorem Ipsum», я с радостью добавлю ещё десять, чтобы получилось около 35 рекламных блоков, только для вас (добавив также «Sagan Ipsum» и забавный пиратский «Lorem Ipsum») , прежде чем я удалю эту страницу в середине недели.
Примечание: Если я заменю баннеры отображения домов на теги Adsense, я на 99,9999% уверен, что мы не увидим ни одного объявления Adsense (что, безусловно, правильно), поскольку Adsense (верно) не будет показывать рекламу на тестовой странице вроде этой, которая существует всего один день с нуля и заполнена текстом «Lorem Ipsum» :). Однако, думаю, если бы я сделал что-то «нелепое», вроде этого, Google остался бы недоволен нашим аккаунтом Adsense :), поэтому прошу прощения, что не разместил теги Adsense на том тестовом сайте с «Lorem Ipsum».
Примечание: Я намеренно не стал обсуждать, как краулер Adsense обрабатывает JavaScript и страницы с бесконечной прокруткой. Если вам это интересно, рекомендую поискать в Google по теме: как краулер Adsense реагирует на (обрабатывает) страницы с бесконечной прокруткой.
См. обсуждение выше о том, почему Adsense не будет «видим» на этих «созданных наспех» тестовых страницах с «Lorem Ipsum».