Проблемы с рекламой Raptive

У меня есть задача, которая никак не поддаётся решению. Судя по всему, ID постов не всегда синхронизируются с нашим сайтом Discourse (forum.pistolsfiringblog.com) из сайта WordPress (pistolsfiringblog.com), из-за чего комментарии не загружаются в постах WordPress, а также пропадает возможность комментирования (мы не разрешаем комментарии WP, только через Discourse).

Хороший пример — следующий пост:
WP: https://pistolsfiringblog.com/coleman-scott-joins-oklahoma-state-wrestling-staff-as-associate-head-coach/
Discourse: Coleman Scott Joins Oklahoma State Wrestling Staff as Associate Head Coach - #4 by MiggityMac - PFB Articles - The Chamber

Несмотря на то, что комментарии к посту разрешены, post_id приходит как undefined. Я немного покопался в плагине Discourse для WordPress, и он просто возвращает результат, когда id равен undefined. Это нормально и ожидаемо. Ничего подозрительного не нашлось. Однако на других постах сайта комментарии отображаются, а на некоторых — нет. Настройки у постов, где комментарии не появляются, абсолютно такие же, как и у тех, где они есть (я внимательно сравнивал).

Если я пытаюсь принудительно передать id в вызов вебхука https://pistolsfiringblog.com/wp-json/wp-discourse/v1/discourse-comments?post_id=259952, то получаю:
"\t\t<div class=\"respond comment-respond\">\n\t\t\t<div class=\"comment-reply-title discourse-no-connection-notice\">\n\t\t\t\t<p>Comments are not currently available for this post.<\/p>\n\t\t\t<\/div>\n\t\t<\/div\n\t\t"

…Что совершенно не соответствует действительности. Комментарии доступны и разрешены. По какой-то непонятной мне причине я не могу понять, почему некоторые посты не получают post_id для связки с соответствующим постом в Discourse, чтобы комментарии могли отображаться на WP.

Чтобы усложнить ситуацию, я создал тестовый пост, как это сделал бы один из наших редакторов, и проследил весь процесс: от публикации в WP до Discourse и обратно в WP, включая дополнительные комментарии из Discourse. На моём тестовом посте всё синхронизировалось корректно.

Я прикрепил скриншоты основной проблемы (она не ограничивается одним постом). Любая помощь будет крайне ценна. На данный момент я совершенно в тупике. ¯\_(ツ)_/¯


Привет, @MiggityMac, я изучаю ваш сайт и заметил множество ошибок в консоли, которые, похоже, связаны с Google Ads. Из-за чего-то там мой браузер тоже завис на странице WordPress. Также я вижу ошибки политики контента и прав доступа на стороне форума встроенной системы комментариев, даже когда кнопка «Комментировать» работает, и можно перейти к комментариям. Пока я точно не уверен, но возможно, что некоторые ошибки, связанные с рекламой, вызывают проблемы, конфликтующие с плагином. Я бы проверил настройки политики безопасности контента (CSP), так как они могут вызывать проблемы с встраиванием. Мы используем плагин WordPress на нашем форуме, и в редких случаях, когда у нас возникали проблемы со встраиванием или отображением кнопки на странице WordPress, причиной были именно настройки CSP. На страницах, где кнопка комментариев работает, я всё равно вижу ошибки с обеих сторон (WordPress и Discourse). Я продолжу изучать ситуацию и покопаюсь глубже…

Это в Discourse на одной из страниц, где всё работало

@MiggityMac, вы смотрели логи WordPress?

@MiggityMac С этого места я бы и начал. Предложение Лили по CSP тоже хорошее. Кроме того, если возможно, не могли бы вы поделиться метаданными (wp meta fields), сохранёнными в базе данных WordPress для этого примера поста?

Большое спасибо, @Lilly! Вчера у меня не было возможности углубиться в детали, но сегодня или завтра я это сделаю. Это очень полезно. Я скоро займусь анализом логов и посмотрю, что там происходит.

Плагины WordPress начали встраивать контент в какой-то момент? В последний раз, когда я проверял, он синхронизировал копии комментариев и отображал их локально.

Вот последние логи WP Discourse:
pistols-firing-wp-discourse-logs-2022-06-01-2023-08-23.zip (159,7 КБ)

Приношу извинения, @Stephen, вы правы, я просто перепутал некоторые термины. Я знаю, как работает этот плагин.

Мне интересно, что происходит в данном случае, поэтому решил взглянуть.

В ваших логах много ошибок 429 (слишком много запросов). Эти ошибки возникают, когда WordPress пытается получить комментарии к посту с Discourse. Я не нахожу ошибок, связанных с постом, на который вы дали ссылку, но возможно, что логи ошибок переполняются, и некоторые ошибки пропускаются.

Вот тема на Discourse и пост на WordPress, для которых я нахожу ошибки:

Самый простой способ начать отладку проблемы — перейти на страницу редактирования этого поста на WordPress и включить панель «Произвольные поля»:

Это должно отобразить несколько полей, которые выглядят примерно так:

Я подозреваю, что также будет поле wpdc_sync_post_comments со значением, установленным в 1. Если по какой-то причине оно застряло на 1, это объяснит все ошибки «слишком много запросов».

Также, на вкладке «Настройки комментариев» плагина WordPress, какое значение у параметра «Включить комментарии Discourse»?

У вас когда-либо работало отображение комментариев Discourse на вашем сайте WordPress? Если да, можете ли вы вспомнить, что могло быть изменено на сайте WordPress, когда комментарии перестали отображаться?

Спасибо за эту отличную информацию.
Раньше комментарии Discourse работали нормально, пока у нас не возникла проблема с Raptive (обновления ad thrive).
Настройки комментариев Discourse такие же, как на вашем скриншоте.

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


Сегодня утром я проверю метаданные на «сломанном» посте.

@simon — вот мета-данные поста, который не работает (находится здесь: Arizona State Reportedly Names True Freshman Jaden Rashada as Starting Quarterback)

И данные поста (кадры по частям):


Также несколько ошибок в логах DC (но это из-за того, что я обновлял его ранее):

[2023-08-24 19:50:18] publish.ERROR: create_post.post_error {"wp_title":"Arizona State Reportedly Names True Freshman Jaden Rashada as Starting Quarterback","wp_author_id":"20980","wp_post_id":260073,"response_message":"Embed url has already been taken","http_code":422}```

Это поможет?

Я изучу это подробнее чуть позже, надеюсь, сегодня.

[2023-08-24 19:50:18] publish.ERROR: create_post.post_error {"wp_title":"Arizona State Reportedly Names True Freshman Jaden Rashada as Starting Quarterback","wp_author_id":"20980","wp_post_id":260073,"response_message":"Embed url has already been taken","http_code":422}

Ошибка Embed url has already been taken должна обрабатываться плагином WP Discourse. Она возникает, когда на вашем сайте Discourse уже существует тема, связанная с URL поста WordPress. Самый простой способ вызвать эту ошибку — опубликовать пост в Discourse, затем нажать кнопку «Unlink From Discourse» в WordPress, а после этого попытаться снова опубликовать пост в Discourse. Результат должен выглядеть так:

Интерфейс пытается показать, что вместо публикации поста в Discourse вам нужно ввести URL связанной темы Discourse в поле «Topic URL». Однако сообщение об ошибке можно было бы сделать понятнее.

Я не уверен, что это объясняет все проблемы с комментариями Discourse на вашем сайте WordPress. Например, вот тема и пост, для которых вы предоставили данные пользовательских полей:

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

Можете ли вы подтвердить, что здесь выбрана опция «Display comments for all topics», а не «Display a link to the comments»? Я спрашиваю на случай, если это связано с отсутствием шаблона комментариев.

Также похоже, что у вас включена опция «Load Comments with Ajax». В исходном коде поста я вижу вызов этого скрипта. Попробуйте отключить эту опцию, пока проблема не будет решена, а затем снова включите её, чтобы проверить, не вызывает ли она проблем.

Привет, Майкл, не мог бы ты объяснить, в чём заключалась проблема с Raptive? И включена ли она у тебя на сайте до сих пор?

@angus — Жаль, что я не могу объяснить подробнее, но реклама перестала работать пару недель назад, вероятно, из-за автоматического обновления плагина. Хотелось бы иметь более глубокую диагностику, но логи отсутствуют. Мы работали с Raptive, чтобы вернуть их в строй, и теперь они функционируют нормально. Самым важным выводом от Raptive стало то, что мне нужно было фактически отключить CORS на нашем форуме и в блоге. После этого реклама снова начала работать.

Мы используем Cloudflare как CDN-провайдера для блога (WordPress). Он также работает на сервере OpenLiteSpeed, но не использует CDN OLS (используется Cloudflare). Кэши сбрасываются при любых обновлениях, публикациях или обновлениях плагинов.

Код, который я использую для рекламы Raptive, выглядит следующим образом:

    if ( function_exists('is_subscribed_to_memberful_plan') && is_subscribed_to_memberful_plan( array('98342-fallcamp2023', '21436-gray-monthly', '21300-white-monthly', '34796-pfb-yearly', '34795-pfb-monthly', '69495-pfb-2021') ) ) {
        ?>
        <script>
            adthrive.cmd.push(function() {
                adthrive.disableAds();
            });
            jQuery('body').addClass('logged-in-no-ads');
        </script>
        <?php
    }
}
add_action('wp_footer', 'enqueue_custom_footer_script');

Я понимаю, что это много, но вот немного устаревшего CSS, который мы используем в дочерней теме для корректировки стилей. Я работаю над его очисткой:

/*div#mvp-main-nav-top {
    display: none;
}
*/
/*.mvp-nav-bot-right-out {
    width: 100% !important;
}*/

.mvp-nav-bot-right.left.relative {
  float: none !important;
}
.mvp-nav-bot-right-in {
    margin-right: 88px;
}
#mvp-main-nav-bot-cont {
  background: #1a1a1a !important;
}
li#menu-item-207620 {
    top: -4px;
}
/*.menu-image-title-hide {
    margin-top: -19px !important;
    margin-bottom: -12px !important;
}*/
ul#menu-new-global-menu li:first-child a :not(.sub-menu) {
    margin-bottom: -16px !important;
    margin-top: 0px !important;
}
/*** Чтобы Elite Media не нарушала верхний отступ страницы ****/
.adthrive-footer-message {
    margin-bottom: 0px !important;
    padding-bottom: 16px;
    background: black;
}
.adthrive-comscore.adthrive-footer-message {
  margin-top: 0px !important;
}
/*АВАТАР*/
.account-link img {
    width: 35px !important;
    height: 35px !important;
    border: 2px solid #ddd !important;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
}
.account-link a {
  padding: 0px 0px 5px 0px !important;
  top: 6px !important;
  height: 39px !important;
}
.account-link {
  margin-left: 16px !important;
  top: -11px;
}
.account-link:hover {
    top: -6px;
}
/*li#menu-item-208021:hover {
    top: -5px;
}*/

.mvp-nav-the-chamber-link {
  content: url("https://pistolsfiringblog.com/wp-content/uploads/2020/01/Chamber-e1580357588365.png");
  cursor: pointer;
  max-width: 38px;
  max-height: 38px;
  float: right;
  margin-top: 7px;
  margin-right: 8px
}

.mvp-nav-menu ul:first-child {
    display: inline-block;
    position: relative;
    padding-left: 8px !important;
    float: left !important;
}

.mvp-nav-menu ul li a {
    font-size: large;
}
.sub-menu li {
  margin-left: 0px !important;
  padding-left: 0px !important;

}
.nav-menu-logo-link {
  pointer-events: none;
  cursor: pointer;
  padding: 0;
  margin-top: 0px !important;
  padding-right: 16px;
}

.nav-menu-logo-link a {
  padding-top: 15px !important;
}

a.menu-image-title-hide.menu-image-not-hovered.external {
    padding: 0;
    /* float: left; */
}
.menu-item a img, img.menu-image-title-after, img.menu-image-title-before, img.menu-image-title-above, img.menu-image-title-below, .menu-image-hover-wrapper .menu-image-title-above {
    border: none;
    box-shadow: none;
    vertical-align: super;
    width: 175px;
    display: inline;
}

.mvp-nav-bot-right {
  width: 50px;
  height: 50px;
  display: inline-flex;
  /*right: 79px;*/
}
.mvp-nav-search-but {
  float: left;
}
span.mvp-nav-search-but {
  cursor: pointer;
  float: left;
  font-size: 20px;
  line-height: 1;
  padding: 15px 15px;

}

.mvp-nav-menu ul li a, #mvp-nav-bot-wrap span.mvp-nav-search-but {
    color: white !important;
}

#mvp-nav-bot-wrap .mvp-fly-but-wrap span, #mvp-nav-bot-wrap .mvp-search-but-wrap span {
    background: white;
    font-size: initial;
}


.textwidget {
   margin-bottom: 5px;
   background: #ff6600;
   padding: 10px;
   font-size: 19px;
   margin-top: 25px;
}

#mvp-post-content {
    width: 100%;
    max-width: 1200px;
}

.textwidget a, a:visited {
   text-decoration: underline;
}

.mvp-flex-story-text p {
    color: #555;
    float: left;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.4;
    margin-top: 10px;
    width: 100%;
}

#mvp-home-widget-wrap .mvp-flex-row .mvp-flex-story-text h2 {

    color: #333333;
    float: left;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.1;
    width: 100%;

}

.mvp-main-box {
    margin: 0 auto;
    width: 1200px;
    height: 100%;
}

.mvp-widget-ad img {
  width: 100%;
  max-width: 1200px;
}

#mvp-post-content {
    width: 100%;
    max-width: 1200px;
}

p a.external, #mvp-content-main p a, .mvp-post-add-main p a {
  color: #ff6600 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

#mvp-content-main a:visited {
  color: #ff6600 !important;
}

h1.mvp-post-title {
  font-size: 30px !important;
}

#mvp-content-main ul {
  font-family: 'PT Serif', sans-serif !important;
}

#mvp-content-main p a:hover, .mvp-post-add-main p a:hover {
  text-decoration: underline !important;
  background: none !important;
}

.mvp-feat5-mid-main-text h2 {
  color:#222222;
  float:left;
  font-size:1.4rem;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.2;
  width:100%;
}

.mvp-feat5-small-main-text h2 {
  color:#222222;
  float:left;
  font-size:1.3rem;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.2;
  width:100%;
}

.mvp-feat5-mid-sub-text h2 {
  color:#222222;
  float:left;
  font-size:1.2rem;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.2;
  width:100%;
}

.mvp-blog-story-text h2 {
  color:#222222;
  float:left;
  font-size:1.4rem;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.1;
  width:100%;
}

#mvp-home-widget-wrap .mvp-flex-col .mvp-flex-story-text h2 {
  font-size:1.4rem;
}

span.mvp-feat1-pop-head {
  font-family: 'Oswald', sans-serif;
  }

/* Скопировано со старого сайта Pistols Firing */

blockquote {
/*  border-left-color: #232323 !important;
  border-left-style: solid !important;
  border-left-width: 6px !important;*/
  font-family: inherit !important;
  font-style: italic !important;
  font-weight: 400 !important;
  margin: 0 0 0 15px !important;
  padding-left: 3px !important;
  line-height: 30px !important;
  color: #232323 !important;
  position: relative !important;
}

blockquote, q {
    quotes: "" "" !important;
}

/* Пользовательские размеры находятся в медиа-запросах */
#mvp-content-main blockquote p, .mvp-post-add-main blockquote p {
  font-style: normal !important;
  font-family: 'PT Serif', sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: -.02em !important;
  line-height: 30px !important;
  margin: 30px 3% !important;
  width: 80% !important;
  word-wrap: break-word !important;
}

#mvp-content-main ul li, #mvp-content-main ol li, .mvp-post-add-main ul li, .mvp-post-add-main ol li {
    font-family: 'PT Serif', sans-serif !important;
    font-weight: 400;
    line-height: 30px;
    margin-bottom: 5px;
    margin-left: 30px !important;
}


/* Удалить «Похожие посты» в конце одиночных статей. */
.mvp-post-tags {
  display: none !important;
}

.mvp-widget-feat1-top-story span.mvp-cd-cat {
  color: white !important;
}

#mvp-content-main p {
   max-width: 100% !important;
}

/* Фон заголовка таблицы */
#mvp-content-main tbody tr:first-child, .mvp-post-add-main tbody tr:first-child {
  background: #ff6600;
  text-align: left;
  color:white;
}

#mvp-content-main table, .mvp-post-add-main table {
    margin-bottom: 25px;
    color: #333333;
}

/* Специфичные стили для рекламы */
.widget_recent_comments ul li:last-child, .widget_recent_entries ul li:last-child {
    margin-bottom: 30px;
}

/* Стилизация меню */
nav.mvp-fly-nav-menu ul li.menu-item-has-children:before{
  color:white !important;
}

/* Стилизация меню */
nav.mvp-fly-nav-menu ul li.menu-item-has-children:after{
  color:white !important;
}

#mvp-content-main {
  margin-bottom: 5px !important;
}

nav.mvp-fly-nav-menu ul li:first-child {
    display: none;
}

#mvp-content-main blockquote p, .mvp-post-add-main blockquote p {
    background: #ffeadc !important;
    padding: 14px;
    border-radius: 5px;
}

@media screen and (max-width: 999px) {
  

}

@media only screen and (min-width: 1000px) and (max-width: 1023px) {
    .mvp-nav-menu ul li {
    display: inline-block;
    position: relative;
    padding-left: 3px !important;
    float: left !important;
  }
  .mvp-nav-the-chamber-link {
    margin-top: 9px !important;
  }
}
/* Экран больше 1024px */
@media only screen and (min-width: 1000px) {
  /* скрывает верхнюю панель социальных сетей на рабочем столе */
  div#mvp-main-nav-top{
    display: none !important;
  }
  .mvp-nav-menu ul {
    width: auto;
  }


  /* Используется для того, чтобы пользовательское меню оставалось фиксированным и красивым при прокрутке вверх. */
  .mvp-fixed2 {
    -webkit-transform: translate3d(0,70px,0) !important;
    -moz-transform: translate3d(0,70px,0) !important;
    -ms-transform: translate3d(0,70px,0) !important;
     -o-transform: translate3d(0,70px,0) !important;
    transform: translate3d(0,70px,0) !important;
  }
  .chamber-link-small-screen {
    display: none;
  }

  #mvp-content-main p, .mvp-post-add-main p {
    font-size: 20px !important;
  color: #333333 !important
  }

  #mvp-content-main blockquote p, .mvp-post-add-main blockquote p {
    font-size: 20px !important;
    color: #333333 !important;
  }

  #mvp-content-main ul li, #mvp-content-main ol li, .mvp-post-add-main ul li, .mvp-post-add-main ol li {
    font-size: 20px !important;
    color: #333333 !important
  }
}

/* Экран меньше 1024px */
@media only screen and (max-width: 999px) {
  .mvp-nav-top-right {
    width: 64px !important;
    margin-right: -13px;
  }
  .mvp-nav-top-right .mvp-nav-search-but {
    display: none;
    padding: 6px 0 7px;
  }
  .mvp-nav-the-chamber-link {
    content: url("https://pistolsfiringblog.com/wp-content/uploads/2020/01/Chamber-e1580357588365.png");
    cursor: pointer;
    max-width: 30px;
    max-height: 30px;
    float: right;
    margin-top: 0px;
  }
  #mvp-content-main p, .mvp-post-add-main p {
    font-size: 17px !important;
    color: #333333 !important
  }

  #mvp-content-main blockquote p, .mvp-post-add-main blockquote p {
    font-size: 17px !important;
    color: #333333 !important
  }

  #mvp-content-main ul li, #mvp-content-main ol li, .mvp-post-add-main ul li, .mvp-post-add-main ol li {
    font-size: 20px !important;
    line-height: 30px;
    color: #333333 !important;
  }
  .mvp-blog-story-text h2, #mvp-home-widget-wrap .mvp-flex-row .mvp-flex-story-text h2, #mvp-home-widget-wrap .mvp-flex-col .mvp-flex-story-text h2 {
    font-size: 1.15rem !important;
    line-height: 1.1em !important;
  }
  span.mvp-cd-cat, span.mvp-cd-date {
    font-size: 0.8rem !important;
  }
  
  div#comments .comment-content p {
    font-size: 17px !important;
  }

}
.mvp-feat1-feat-text span.mvp-cd-cat{
  color: #ffffff !important;
}
@media screen and (max-width: 479px) {
  .mvp-blog-story-text h2, #mvp-home-widget-wrap .mvp-flex-row .mvp-flex-story-text h2, #mvp-home-widget-wrap .mvp-flex-col .mvp-flex-story-text h2 {
    font-size: 1.15rem !important;
    line-height: 1.1em !important;
  }
  span.mvp-cd-cat, span.mvp-cd-date {
    font-size: 0.8rem !important;
  }
  div#comments .comment-content p {
    font-size: 17px !important;
  }
}

@media only screen 
and (min-device-width : 375px) 
and (max-device-width : 667px) { 
  #mvp-content-main p {
    font-size: 17px !important;
  }
  div#comments .comment-content p {
    font-size: 17px !important;
  }
}

.custom-call-to-action {
    background: #f6d8cb;
    border-radius: 5px;
    padding: 16px;
    border: 3px solid #f60;
    margin-bottom: 8px;
}

.custom-call-to-action p {
  color: #333 !important;
}

.custom-call-to-action a:hover {
  color: gray !important;
}

/* Сегмент комментариев Discourse */
.discourse-comments-area ~ .comments-area .comments-title  {
	display: none;
}
#comments {
    clear: both;
}

#comments > ol {
    border-top: 1px solid #E0E0E0;
    padding: 15px 0px;
}

#comments .comment {
    display: block;
    padding: 10px 0px 30px;
    background-color: #FFF;
    transition: background-color 1000ms;
}

#comments .comment p {
    word-wrap: break-word;
}

#comments .fn {
    font-size:16px !important;
}

.comment-metadata {
    font-size:16px !important;
    margin-top: 5px;
}


article #comments .respond > h3 {
    margin-bottom: 5px;
}

#comments-title {
    padding-bottom: 20px;
}

h2.discourse-comments-title {
    display: none;
}

.comment-content {
    clear: left;
    padding-top: 1px;
}

.comment-content ol, .comment-content ul {
    overflow: auto;
}

.comment-content p {
    margin-bottom: 10px;
    font-size: 20px!important;
    color: #333!important;
    line-height: 1.5;
    font-family: 'PT Serif', sans-serif;
}

.comment-content > blockquote {
	font-style: normal !important;
    margin-left: 30px;
    border-left: 5px solid #eaf9ff;
    padding-left: 10px;
}

.comment-content .quote, .comment-content .onebox {
    margin-left: 30px;
    margin-top: 15px;
    margin-bottom: 10px;
    border-left: 5px solid #eaf9ff;
    padding-left: 10px;
}

.comment-meta {
    color: #808080;
}

.avatar-64 {
    margin-bottom: 10px;
}

span.says {
    display: none;
}
 */
/* начало устаревших комментариев WP */

li.comment {
    list-style: none;
    padding: 0px 0px 25px 0;
    border-bottom: 1px solid #ddd;
    margin-bottom: 10px;
}

section.comments {
    margin-bottom: 10px;
    margin-top: 25px;
}

section.comments {
    margin-bottom: 10px;
}

section.comments ol h2 {
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.archive .comments.wp h2 {
    display: none;
}

.archive .comments.wp {
    border: 0;
    width: 200px;
    float: left;
    padding-left: 20px;
}

.comment-content li {
    margin-left: 40px;
}

#comments .avatar {
    width: 64px;
    height: 64px;
    float: left;
    margin-right: 10px;
    border-radius: 50%;
}

#comments .avatar-25 {
    width: 32px;
    height: 32px;
    margin-right: 5px;
    border-radius: 50%;    
}

#comments h3#reply-title {
    display:block !important;
  text-align: center !important;
    color:#333 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    margin-bottom: 10px !important;
    text-transform: uppercase !important;
    padding: 5px 10px !important;
    text-shadow:none;
}
#comments  h3#reply-title a {
    color:#ff6600 !important;
    text-decoration:underline !important;
} */
/* чтобы скрыть маленькие аватарки */
.comment-reply-title, .more-replies {
    display: none;
}

Также хочу добавить, что на этом сайте более 27 тысяч публикаций, и ему почти 10 лет. Здесь хранится очень много данных. В эти выходные я обновлю тему, почищу CSS и проверю, не пересекли ли мы случайно какие-то линии.

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

Привет, Майкл, просто чтобы я правильно понял:

  1. У вас возникла проблема с Raptive.
  2. Вы внесли указанные выше изменения на сайт, чтобы исправить проблему.
  3. После применения этих изменений плагин WP Discourse перестал работать.

Верно?

@angus - Надеюсь, это не прозвучит так, будто я обвиняю Raptive — их услуги были отличными, а поддержка клиентов фантастической. Я бы порекомендовал их практически любому. Однако, судя по тому, что я выяснил, всё это как-то совпало по времени. Если только я не упускаю что-то совершенно нелогичное. ¯\_(ツ)_/¯

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

Тем не менее, чтобы убедиться, я снова включил их плагин, проверил, что наш рекламный код работает, и выяснил, что WP Discourse всё ещё не работает. Включение или отключение плагина Raptive, похоже, вообще не влияло на ситуацию по состоянию на сегодня. Я пытаюсь воспроизвести то, что могло произойти, чтобы заметить что-то ещё. Завтра я проведу полное глубокое исследование и сброс кода сайта. Я буду действовать максимально методично, чтобы, если это ошибка или неправильная конфигурация, в будущем мы могли помочь другим, кто может столкнуться с этой проблемой.

Как вы уже намекали, изменения, которые вы внесли для исправления проблемы с Raptive, скорее всего, являются основной причиной текущей проблемы.

Обсуждали ли вы с разработчиками плагина WP Discourse проблемы, с которыми столкнулись после внесения предложенных ими изменений?

Просто для информации: если вы вносили изменения в настройках CDN, конфигурации CORS или темы, то включение и выключение плагина Raptive не изменит влияние этих факторов.

Я не хочу возлагать излишнюю вину на Raptive, однако, исходя из того, что вы рассказали, похоже, что эти направления требуют дополнительного расследования?

В любом случае, пожалуйста, сообщите нам, как продвигается восстановление сайта.

@angus - Я обновил сайт, обновил тему, перемешал плагины и т.д. Я обнаружил проблему, и её было очень трудно найти. Тема, которую мы используем (сильно модифицированная тема Zox News), имела обновление родительской темы, которое каким-то образом было применено вместе с другими плагинами.

Дочерняя тема не справилась с этим хорошо. В теме Zox News есть место для интеграции Disqus, и она полностью переопределяет стандартные HTML-структуры комментариев WP. Мне пришлось отредактировать родительскую тему, чтобы предотвратить отображение кнопки комментариев и по сути перехватить внедрение кода WP Discourse, который искал структуру комментариев WP (которой больше не существовало).

Сайт всё ещё немного запутан на бэкенде, но я буду приводить его в порядок в течение выходных.

Вот фрагмент кода, который вызвал проблему:

    <!-- УДАЛИТЕ ЭТО из post-single.php в родительской теме -->
	<!-- <div id="mvp-comments-button" class="left relative mvp-com-click">
	    <span class="mvp-comment-but-text"><?php comments_number(__( 'Нажмите, чтобы комментировать', 'zox-news'), esc_html__('1 комментарий', 'zox-news'), esc_html__('% комментариев', 'zox-news'));?></span>
	</div>-->
    <!--mvp-comments-button-->

Я протестировал около 5 разных постов, включая и выключая комментарии. Пока всё в порядке. Я отмечу решение, если в течение выходных/недели всё будет хорошо.

Спасибо ещё раз, всем!!!

Я тоже пытаюсь во всём этом разобраться. У меня есть два сайта, использующих Raptive… но мой сайт на Discourse — нет.

Как вы это сделали? Использовали ли вы переменную DISCOURSE_ENABLE_CORS в app.yml?

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

Какую проблему вы пытаетесь решить? Это связано с плагином WP Discourse или это просто проблема, с которой вы столкнулись на своём сайте WordPress из-за рекламы Raptive?