1. itemprop="text"
Всегда добавляйте itemprop="text" здесь, так как для DiscussionForumPosting свойство articleBody больше не указано (или не указано вообще?).
2. mainEntityOfPage
mainEntityOfPage должен устанавливаться только один раз для DiscussionForumPosting и никогда для множества Comment:
например, проверяйте условие post.is_first_post.
3. itemprop="url"
Добавьте itemprop="url" в itemscope для DiscussionForumPosting.
Это гарантирует, что комментарии на подстраницах (…?page=2) будут привязаны к основной странице темы.
<link itemprop="url" href="???">
Здесь post.topic.url не установлен. Есть ли что-то вроде @topic_view.url?
Важно: свойство itemprop url должно указывать на первую страницу темы в представлении для краулеров:
- например,
https://example.org/t/topic-title/1234 - а не
https://example.org/t/topic-title/1234?page=2
См. DiscussionForumPosting → Рекомендуемые свойства → url
url: Канонический URL обсуждения. В многостраничных потоках устанавливайте это свойство на URL первой страницы. Для одиночного обсуждения это обычно текущий URL.