Так не получится, потому что:
1) если в сообщении есть и текст, и изображения, внутри одной сущности будет и text, и image, что недопустимо
2) image будет несколько для одной сущности - тоже недопустимо
3) image будет внутри text - тоже недопустимо
Ошибки в панели управления search.google
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Perfecthus
- phpBB 2.0.14
- Сообщения: 954
- Стаж: 15 лет 9 месяцев
- Откуда: Оттуда
- Благодарил (а): 54 раза
- Поблагодарили: 103 раза
Re: Ошибки в панели управления search.google
Я у себя на форуме сделал, много лет назад и все работает по сей день. Да, разбирался долго, но все получилось.
По-факту, чтобы микроразметка работала как нужно и была валидной на 100%, нужно туеву хучу файлов перелопатить, причем даже в расширениях, которые участвуют в формировании сообщения в форуме.
По-факту, чтобы микроразметка работала как нужно и была валидной на 100%, нужно туеву хучу файлов перелопатить, причем даже в расширениях, которые участвуют в формировании сообщения в форуме.
-
Kuskow
- phpBB 2.0.5
- Сообщения: 471
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Ошибки в панели управления search.google
Тоже разбираюсь потихоньку. Не так страшен чёрт, как я его себе намалевал. Уже понял, как это работает и что нужно исправить - теперь дело за ленью.
А пока проанализировал свои ошибки первой версии, а также огрехи смежного форума, где давно работает эта микроразметка, но сделана совсем иначе (наверное, каким-нибудь тяжёлым расширением). Состряпал и внедрил у себя облегчённый вариант - эдакий DiscussionForumPosting Lite. Прошу покритиковать. Размечаются только темы, но пока не комментарии. Для Гугла вполне достаточно, чтобы он не выводил пердупреждающую надпись:
По-прежнему исправляем только один файл
И заменяем её на этот код:
После редактирования файла нужно очистить кэш форума в админ-панели. Для проверки правильности настройки микроразметки используем Инструмент проверки расширенных результатов Google (Rich Results Test) https://search.google.com/test/rich-results
Там Выбираем проверку по URL и вставляем прямую ссылку на тему. Если страница берётся старая из кэша, можно добавить в конец URL какой-нибудь несуществующий параметр с уникальным значением при каждой проверке, например,

А пока проанализировал свои ошибки первой версии, а также огрехи смежного форума, где давно работает эта микроразметка, но сделана совсем иначе (наверное, каким-нибудь тяжёлым расширением). Состряпал и внедрил у себя облегчённый вариант - эдакий DiscussionForumPosting Lite. Прошу покритиковать. Размечаются только темы, но пока не комментарии. Для Гугла вполне достаточно, чтобы он не выводил пердупреждающую надпись:
Google Search Console писал(а):На ряде страниц вашего форума (1000) отсутствуют структурированые данные для форумов
После того как они будут внедрены, алгоритмы Google смогут выявлять обсуждения на вашем форуме и разными способами показывать их в Google Поиске.
По-прежнему исправляем только один файл
styles/prosilver/template/viewtopic_body.html. Там находим строку:
Код: Выделить всё
<div class="content">{postrow.MESSAGE}</div>И заменяем её на этот код:
Код: Выделить всё
{% set S_FIRST_PAGE = ('start=' not in U_CANONICAL) %}
<!-- IF S_FIRST_PAGE and postrow.S_FIRST_ROW -->
<div itemscope itemtype="https://schema.org/DiscussionForumPosting">
<meta itemprop="mainEntityOfPage" content="{U_CANONICAL}" />
<meta itemprop="url" content="{U_CANONICAL}#p{postrow.POST_ID}" />
<meta itemprop="headline" content="{TOPIC_TITLE}" />
<meta itemprop="datePublished" content="{postrow.POST_DATE_RFC3339}" />
<div itemprop="author" itemscope itemtype="https://schema.org/Person">
<meta itemprop="url" content="{U_CANONICAL}#user{postrow.POSTER_ID}" />
<meta itemprop="name" content="{postrow.POST_AUTHOR}" />
</div>
{% set total_replies = TOTAL_POSTS|split(' ')|first %}
<!-- IF total_replies --><meta itemprop="commentCount" content="{total_replies}" /><!-- ENDIF -->
{% set first_post_img = postrow.MESSAGE|split('src="')|slice(1, 1)|join|split('"')|first %}
<!-- IF first_post_img --><meta itemprop="image" content="{first_post_img}" /><!-- ENDIF -->
{% set avatar_img = postrow.POSTER_AVATAR|split('src="')|slice(1, 1)|join|split('"')|first %}
<!-- IF avatar_img --><meta itemprop="image" content="{avatar_img}" /><!-- ENDIF -->
<div itemprop="text" class="content">{postrow.MESSAGE}</div>
</div>
<!-- ELSE -->
<div class="content">{postrow.MESSAGE}</div>
<!-- ENDIF -->
После редактирования файла нужно очистить кэш форума в админ-панели. Для проверки правильности настройки микроразметки используем Инструмент проверки расширенных результатов Google (Rich Results Test) https://search.google.com/test/rich-results
Там Выбираем проверку по URL и вставляем прямую ссылку на тему. Если страница берётся старая из кэша, можно добавить в конец URL какой-нибудь несуществующий параметр с уникальным значением при каждой проверке, например,
&test=1.
-
Kuskow
- phpBB 2.0.5
- Сообщения: 471
- Стаж: 10 лет 1 месяц
- Откуда: 🇰🇿 Караганда
- Благодарил (а): 29 раз
- Поблагодарили: 46 раз
Re: Ошибки в панели управления search.google
И для тех, кто вставляет видео в сообщения через

[media] добавил обработку видео. Внедрять так же, как в предыдущем сообщении я написал, только код немного другой:
Код: Выделить всё
{% set S_FIRST_PAGE = ('start=' not in U_CANONICAL) %}
{% if S_FIRST_PAGE and postrow.S_FIRST_ROW %}
<div itemscope itemtype="https://schema.org/DiscussionForumPosting">
<meta itemprop="mainEntityOfPage" content="{U_CANONICAL}" />
<meta itemprop="url" content="{U_CANONICAL}#p{postrow.POST_ID}" />
<meta itemprop="headline" content="{TOPIC_TITLE}" />
<meta itemprop="datePublished" content="{postrow.POST_DATE_RFC3339}" />
<div itemprop="author" itemscope itemtype="https://schema.org/Person">
<meta itemprop="url" content="{U_CANONICAL}#user{postrow.POSTER_ID}" />
<meta itemprop="name" content="{postrow.POST_AUTHOR}" />
</div>
<meta itemprop="commentCount" content="{{ TOTAL_POSTS|split(' ')|first }}" />
{% set post_img = (postrow.MESSAGE ~ postrow.POSTER_AVATAR)|split('src="')|slice(1, 1)|join|split('"')|first %}
{% if post_img %}<meta itemprop="image" content="{post_img}" />{% endif %}
{% set first_post_video = postrow.MESSAGE|split('data-url="')|slice(1, 1)|join|split('"')|first %}
{% if first_post_video %}
<div itemprop="sharedContent" itemscope itemtype="https://schema.org/VideoObject">
<meta itemprop="url" content="{first_post_video}" />
<meta itemprop="embedUrl" content="{first_post_video}" />
<meta itemprop="name" content="{postrow.POST_SUBJECT}" />
<meta itemprop="description" content="Видео в сообщении: {postrow.POST_SUBJECT}" />
<meta itemprop="uploadDate" content="{postrow.POST_DATE_RFC3339}" />
<meta itemprop="thumbnailUrl" content="{% if post_img %}{post_img}{% else %}https://youtube.com/img/desktop/yt_1200.png{% endif %}" />
</div>
{% endif %}
<div itemprop="text" class="content">{postrow.MESSAGE}</div>
</div>
{% else %}
<div class="content">{postrow.MESSAGE}</div>
{% endif %}


