Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

 Сообщение Семантическая разметка phpBB3: Темы форума 2013-09-17

Аватар пользователя

Статья обновлена на 18.02.2017

Итак, ребята, будем вместе изучать семантическую разметку ибо вещь эта полезная для наших форумов. Что же такое Schema.org ???

Schema.org – это стандарт семантической разметки данных в сети, объявленный поисковыми системами Google, Bing и Yahoo! летом 2011 года. Цель семантической разметки – сделать интернет более понятным, структурированным и облегчить поисковым системам и специальным программам извлечение и обработку информации для удобного её представления в результатах поиска.
Разметка происходит непосредственно в HTML-коде страниц с помощью специальных атрибутов и не требует создания отдельных экспортных файлов.

Используя семантическую разметку, можно улучшить представление сниппета вашего сайта в результатах поиска.
Яндекс писал(а):

Разметка может сделать ваш сайт более заметным в Поиске Яндекса и таким образом привлечь больше посетителей, принадлежащих целевой аудитории. Яндекс же заинтересован в том, чтобы пользователи решали свои задачи с помощью Поиска. Одна из метрик качества Поиска так и называется — «счастье пользователя». Сайты, повышающие «счастье», ранжируются выше.

Собственно, выгода очевидна. Если согласны, то читаем далее ...
Вообщем-то стандарт представляет из себя набор классов, описывающих всевозможные сущности и их свойства. Сейчас их уже несколько сотен. Постоянно идет работа по улучшению стандарта, добавляются новые свойства, уточнятся существующие. Именно для форумов, лично я так думаю, подойдет тип Статья (ScholarlyArticle), вы конечно можете подобрать любой другой тип если разбираетесь во всем больше чем я.

Собственно набор свойств из Статья (ScholarlyArticle) минималистичен, но главное - это поддерживается как минимум Яндексом и Гуглом. Можно выделять следующие типы данных в статье
1. articleBody (тип данных - текст) - Это текст самой записи.
2. headline (тип данных - текст) - Это имя записи (в случае форумов - имя темы).
3. author (тип данных - текст) - Это имя автора записи
4. datePublished (тип данных - дата) - Это дата публикации записи
5. image (тип данных - ссылка) - Это картинка к записи
Разумеется свойств куда больше, но мы вообще будем использовать 5 типов.

Приступим к разметке ...
Итак, исходя и такой логики - в первом посте - больше всего информации, значит будет делать первый пост главным. Нам надо сделать условие только для первого поста, первого на первой странице, остальные - не в счет. Открываем viewtopic.php и находим
'PAGINATION'    => $pagination,
 

Вставляем перед найденным
 'PAGE_NUMOO'      => floor($start / $config['posts_per_page']) + 1,
 

Таким образом у нас есть условие для первого поста первой страницы и только для него.
<!-- IF postrow.S_FIRST_ROW  && PAGE_NUMOO eq 1 --> любой код<!-- ENDIF -->
 

Далее начинаем колдовать над шаблоном viewtopic_body.html используемого стиля. Процесс таков:
1. Присвоить тип разметки
2. Выделить автора
3. Выделить имя темы (выделится вместе с ссылкой)
4. Выделить само сообщение
5. Выделить дату сообщения
6. Выделить картинку для сообщения
Поехали....

А) Для стилей на основе просильвер открыть указанный ранее шаблон и найти (это часть строки, вставлять строго после указанного элемента)
   <div id="p{postrow.POST_ID}"
 

Вставить после найденного
<!-- IF postrow.S_FIRST_ROW  && PAGE_NUMOO eq 1 --> itemscope itemtype="http://schema.org/ScholarlyArticle" <!-- ENDIF -->
 

Найти
<div class="content"
 

Вставить после найденного
<!-- IF postrow.S_FIRST_ROW  && PAGE_NUMOO eq 1 -->itemprop="articleBody" <!-- ENDIF -->
 

Найти
<!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF -->
 

Заменить найденное на
<div <!-- IF postrow.S_FIRST_ROW  && PAGE_NUMOO eq 1 -->itemprop="author" <!-- ENDIF -->><!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF --></div>
 

Найти
<a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a>
 

Заменить на
<a href="#p{postrow.POST_ID}"><span <!-- IF postrow.S_FIRST_ROW  && PAGE_NUMOO eq 1 -->itemprop="headline" <!-- ENDIF -->>{postrow.POST_SUBJECT}</span></a>
 

Найти
{postrow.POST_DATE}
 

Заменить найденное на
<!-- IF not S_USER_LOGGED_IN --><span <!-- IF postrow.S_FIRST_ROW  && PAGE_NUMOO eq 1 -->itemprop="datePublished" <!-- ENDIF -->>{postrow.POST_DATE1}</span><!-- ELSE -->
<span>{postrow.POST_DATE}</span><!-- ENDIF -->
 



Б) Для стилей на основе сабсильвер2 открыть указанный ранее шаблон и найти
<!-- BEGIN postrow -->
   <table class="tablebg" width="100%" cellspacing="1">
 

Заменить найденное на
<!-- BEGIN postrow -->
   <table class="tablebg" width="100%" cellspacing="1" <!-- IF postrow.S_FIRST_ROW  && PAGE_NUMOO eq 1 --> itemscope itemtype="http://schema.org/ScholarlyArticle" <!-- ENDIF -->>
 

Найти
<div class="postbody">{postrow.MESSAGE}</div>
 

Заменить найденное на
<div class="postbody" <!-- IF postrow.S_FIRST_ROW  && PAGE_NUMOO eq 1 -->itemprop="articleBody" <!-- ENDIF -->>{postrow.MESSAGE}</div>
 

Найти
<b class="postauthor"<!-- IF postrow.POST_AUTHOR_COLOUR --> style="color: {postrow.POST_AUTHOR_COLOUR}"<!-- ENDIF -->
 

Вставить после найденного
<!-- IF postrow.S_FIRST_ROW  && PAGE_NUMOO eq 1 -->itemprop="author" <!-- ENDIF -->
 

Найти
<a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a>
 

Заменить на
<a href="#p{postrow.POST_ID}"><span <!-- IF postrow.S_FIRST_ROW  && PAGE_NUMOO eq 1 -->itemprop="headline" <!-- ENDIF -->>{postrow.POST_SUBJECT}</span></a>
 

Найти
{postrow.POST_DATE}
 

Заменить найденное на
 
<!-- IF not S_USER_LOGGED_IN --><span <!-- IF postrow.S_FIRST_ROW  && PAGE_NUMOO eq 1 -->itemprop="datePublished" <!-- ENDIF -->>{postrow.POST_DATE1}</span><!-- ELSE -->
<span>{postrow.POST_DATE}</span><!-- ENDIF -->
 



Открыть корневой viewtopic.php и найти
'POST_DATE'         => (!$row['post_created']) ? $user->format_date($row['post_time'], false, ($view == 'print') ? true : false) : $user->format_date($row['post_created'], false, ($view == 'print') ? true : false),
 

Вставить после найденного
'POST_DATE1'         => date('Y-m-d', $row['post_time']),
 

Открыть includes/functions_display.php и найти
return '<img src="' . (str_replace(' ', '%20', $avatar_img)) . '" width="' . $avatar_width . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
 

Заменить найденное на
return '<img src="' . (str_replace(' ', '%20', $avatar_img)) . '" width="' . $avatar_width . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" itemprop="image"/>';
 


Полезные ссылки
1. Валидатор Гугла
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку

2. Валидатор Яндекса
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку

3. Русскоязычный сайт по семантической разметке
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!

Теги темы
Семантическая разметка phpbb3
          Вернуться наверх  
 


Аватар пользователя

amor1977 писал(а):

А как к 3.2.1 правки делать ?

По моему 3.2 оптимизирован как надо


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

По моему 3.2 оптимизирован как надо

Нет. Там нету микроразметки.


          Вернуться наверх  
 


Аватар пользователя

Наверное не так выразился, смотрите, эта разметка нужна для того, чтобы в результатах выдачи поисковиков был более менее красивый результат наших форумов, вы смотрели как выглядит выдача вашего форума, вернее его тем в поисковиках? На 3.0 ветке выдача кривая, на 3.2 должна быть изначально красивая и аккуратная

Дело даже в том, что наверняка вам эти правки ни к чему


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Аватар пользователя Семантическая разметка phpBB3: Хлебные крошки
Тема о семантической разметке хлебных крошек phpBB3

DeaDRoMeO

11

792

Аватар пользователя

11 апр 2016, 19:10

Erenbur

Аватар пользователя Случайно удалила темы с форума, как восстановить?

Милена

3

707

Аватар пользователя

04 янв 2015, 11:02

DeaDRoMeO

Аватар пользователя Закрытые темы всегда внизу phpBB3
Закрытые темы всегда внизу phpBB3 - модификация для phpbb3, которая опускает все закрытые темы вниз списка тем, очень простой и логичный мод

DeaDRoMeO

17

1002

Аватар пользователя

14 ноя 2017, 08:25

DeaDRoMeO

Аватар пользователя NV recent topics phpbb3 (последние темы)
NV recent topics - модификация для phpbb3, выводящая список последних активных тем в спец.блоке на страницы форума

DeaDRoMeO

204

9866

Аватар пользователя

17 янв 2016, 10:11

Чародейка

Аватар пользователя AOS Topic Statistics phpbb3 (подписчики и просмотры темы)
AOS Topic Statistics - модификация для phpbb3, добавляющая на страницу просмотра тем информацию о количестве подписчиков и просмотров конкретной темы.

DeaDRoMeO

84

6165

Аватар пользователя

19 июл 2017, 13:19

DeaDRoMeO

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


Самая неформальная поддержка phpBB :P