27 ответ(ов) в теме
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
1
12:44

Версия WP-Recall: 16.8.0

Приветствую.
Рейтинг теперь великолепен во всех отношениях и я не вижу конкурента прямого.
Но остался один момент и как его реализовать можно пока не соображу. Что бы конкурентов не осталось.
Сам по себе звездный рейтинг был сделан под сниппеты в пс и отсюда в нем используется микроразметка разных типов. Рецепты, книга, статья и тд. Конечно понимание их яндексом и гуглом слегка различается скажем в публикациях, но можно сделать интернациональную, дабы не пихать туда еще 100500 данных по автору.

Продвинутые топовые плагины дают фильтр на смену разметки, например в wp-postratings

<?php
add_filter( 'wp_postratings_schema_itemtype', 'wp_postratings_schema_itemtype' );
function wp_postratings_schema_itemtype( $itemtype ) {
return 'itemscope itemtype="http://schema.org/Recipe"';
}
?>

Но у них косяк, меняя тип рейтинга, надо и составляющие некоторые поменять иначе яндекс упрется. Единственную схему удалось сделать интернациональной мне, это Book. Конечно проверить надо еще и еще.
Хотя можно без фильтра и давая просто вписать тип схемы.

И отсюда вопрос, имеет смысл мне сейчас потестить разметку и планируется такое внедрить или индивидуально сие останется?
Оба варианта хороши))

0
Андрей CS
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 9620
2
13:20

тема хорошая, внедрить поддержку разметки можно и нужно, если будут предложения по реализации этого функционала, то буду готов внедрить

2
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
3
13:21

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

0
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
4
20:44

Вот так вроде ошибок не показывают валидаторы.

function get_html_stars($args){

        $title = ($this->user_vote)? __('Cancel vote','wp-recall'): __('Vote','wp-recall');
        
        $classes = array('stars-wrapper');
        
        if($this->user_can['vote']){
            $classes[] = $this->user_vote? 'user-vote': 'must-vote';
        }
        
        $content = '<span itemscope="" itemtype="http://schema.org/AggregateRating"><span class="'.(implode(' ',$classes)).'">';
		$content .= '<meta itemprop="name" content="Название статьи">';
		$content .= '<meta itemprop="itemReviewed" content="Название статьи">';
		$content .= '<meta itemprop="description" name="description" content="Описание- на будущие">';
		$content .= '<meta itemprop="bestRating" content="5">';
		$content .= '<meta itemprop="ratingValue" content="5">';
		$content .= '<meta itemprop="ratingCount" content="2">';
        for($a = 1; $a <= $this->item_count; $a ++){
            
            $itemValue = round($a * $args['item_value'], 1);
            
            if($itemValue == $args['average_rating'] || $itemValue < $args['average_rating']){
                $procent = 100;
            }else if(!$args['rating_value'] || round(($itemValue - $args['item_value']),1) >= $args['average_rating']){
                $procent = 0;
            }else{
                $procent = round($args['average_rating'] - $itemValue, 1) * 100 / $args['item_value'];
                if($procent < 0) $procent += 100;
            }
            
            $stars = '<span class="fa fa-star stars__out" aria-hidden="true">'
                        . '<span class="fa fa-star stars__in" style="width:'.$procent.'%;" aria-hidden="true"></span>'
                    . '</span>';
            
            if($this->user_can['vote']){

                $content .= '<span class="'.$this->get_class_vote_button('star').' vote-star" data-value="'.$itemValue.'" data-rating="'.$this->get_encode_string('plus', $itemValue).'" onclick="rcl_edit_rating(this);" title="'.$title.'">'
                                . $stars
                            . '</span>';
            
            }else{
                
                $content .= '<span class="vote-star" data-value="'.$itemValue.'">'
                                . $stars
                            . '</span>';
                
            }
            
        }
        
        $content .= '</span></span>';
        
        return $content;
        
    }
    
}

Но конечно я поля не заполнил))
Два к статье и
itemprop="ratingCount" для обозначения количества оценок
itemprop="ratingValue" – сама оценка
itemprop="bestRating" – максимальное значение рейтинга

Тестил кучу типов и вариантов, совместить гугл и яндекс мего трудно. Суть в том, что еще учесть кто какую разметку использует в целом, плюс плагины для этого дела и тд, беда))
А этот вариант интернационален, по крайней мере пока не вижу другого.
Если делать Article тип, то там еще 100500 полей и кучу всего учитывать и будет монстр.))

Редакции сообщения
29.10.2017 20:54garryПричина: не указано
0
Андрей CS
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 9620
5
20:59

как я понял, эти метатеги лучше выводить в head сайта и только для одиночных сущностей, страниц или записей, ну или тем на форуме.
ок, рассмотрю внедрение этих тегов.

0
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
6
21:01

Мето теги я привел только пока тестил и забыл тут поменять на span поля на свои места расставить можно и не надо в head, а ту всю страницу зацепим. Только блок рейтинга, сорри.
Сразу можно туда, где это выводиться или определяется и все.

Редакции сообщения
29.10.2017 21:02garryПричина: не указано
0
Андрей CS
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 9620
7
21:04

garry сказал(а)
а ту всю страницу зацепим

ну а разве не это требуется - сообщить поисковикам о рейтинге текущей страницы? проверим, есть ли у страницы рейтинг и используются ли для него звезды и выводим метатеги, вроде логично.

0
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
8
21:08

Эти поля можно выводить в любом теге, внутри него и обработчики пс их найдут о поймут. Можно как сейчас оставить, но все внутри блока рейтинга. Сначала тип рейтинга

Вы не можете просматривать опубликованные ссылки

(в данном случаи) со всеми определениями и потом уже что он включает.

Редакции сообщения
29.10.2017 21:08garryПричина: не указано
0
Андрей CS
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 9620
9
21:10

ну ок, я понял, будем работать в этом направлении позже

1
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
10
21:11

Вот как видет валидатор яндекса - нет ошибок

Вы не можете просматривать опубликованные ссылки
0
Otshelnik-Fm
не в сети 10 минут
На сайте с 27.01.2013
Модератор
Тем 22
Сообщения 10619
11
21:12

Андрей CS сказал(а)
ну а разве не это требуется - сообщить поисковикам о рейтинге текущей страницы? проверим, есть ли у страницы рейтинг и используются ли для него звезды и выводим метатеги, вроде логично.

так - а если рейтинг у комментариев тоже звезды будут?
Или блок отзывов будет где будет 3-4 варианта с рейтингом звездами по типу этого

Вы не можете просматривать опубликованные ссылки
1
Андрей CS
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 9620
12
21:13

Otshelnik-Fm сказал(а)
так - а если рейтинг у комментариев тоже звезды будут?

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

1
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
13
21:14

Однозначно только для статей, остальные конечно не надо.

1
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
14
21:17

Otshelnik-Fm сказал(а)
Или блок отзывов будет где будет 3-4 варианта с рейтингом звездами по типу этого

А вот тут уже можно сделать как раз будет и под отзывы с вариантами и рецепты и кинчик и товары. Но это после первого этапа))

0
Андрей CS
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 9620
15
10:57

Игорь, смотрю на верстку предложенную тобой, возник вопрос: обязательно помещать верстку звезд внутрь тега
<span itemscope="" itemtype="http://schema.org/AggregateRating"> ?

Например, так сделать нельзя?

<span class="stars-wrapper">
	<span itemscope="" itemtype="http://schema.org/AggregateRating">
		<meta itemprop="name" content="WP Pay Access">
		<meta itemprop="itemReviewed" content="WP Pay Access">
		<meta itemprop="bestRating" content="5">
		<meta itemprop="ratingValue" content="4.6">
		<meta itemprop="ratingCount" content="26">
	</span>
	<span class="vote-star" data-value="1">
		<span class="fa fa-star stars__out" aria-hidden="true">
			<span class="fa fa-star stars__in" style="width:100%;" aria-hidden="true"></span>
		</span>
	</span>
	<span class="vote-star" data-value="2">
		<span class="fa fa-star stars__out" aria-hidden="true">
			<span class="fa fa-star stars__in" style="width:100%;" aria-hidden="true"></span>
		</span>
	</span>
	<span class="vote-star" data-value="3">
		<span class="fa fa-star stars__out" aria-hidden="true">
			<span class="fa fa-star stars__in" style="width:100%;" aria-hidden="true"></span>
		</span>
	</span>
	<span class="vote-star" data-value="4">
		<span class="fa fa-star stars__out" aria-hidden="true">
			<span class="fa fa-star stars__in" style="width:100%;" aria-hidden="true"></span>
		</span>
	</span>
	<span class="vote-star" data-value="5">
		<span class="fa fa-star stars__out" aria-hidden="true">
			<span class="fa fa-star stars__in" style="width:60%;" aria-hidden="true"></span>
		</span>
	</span>
</span>

0
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
16
11:05

Андрей CS сказал(а)
Например, так сделать нельзя?

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

Внутри блока, имел ввиду:

<span itemscope="" itemtype="http://schema.org/AggregateRating">
		
	</span>

PS
Пришло уведомление о ответе в теме этой и без ссылки на пост.

Редакции сообщения
31.10.2017 11:06garryПричина: не указано
0
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
17
11:09

Вот твой вариант в валидаторе гугла, ошибок нет

0
Андрей CS
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 9620
18
11:16

понятно, ну я тогда еще немного изменю разметку
Перешли плиз на почту поддержки письмо, которое получил о новом сообщении

0
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
19
11:17

Не так написал ответ, да можно в любом месте имел ввиду весь блок куда угодно.))

0
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
20
11:20

Письмо переслал.
По твоему варианту, сейчас подумал, можно в принципе вообще делать хоть под киношку в последствии и уже с полноценной раметкой всех полей или под персону и товар. Добавляя в блок все нужные поля.

0
Андрей CS
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 9620
21
11:22

garry сказал(а)
Добавляя в блок все нужные поля.

пока погоняем жестко, а потом фильтр туда добавим и можно будет добавлять по желанию

1
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
22
11:24

Отлично, конечно надо все оттестить, поисковики загадочны в своих определениях и начинаниях. Например гугл на днях сообщил, что через несколько лет вообще сможет обходиться без микроразметки и определять все сам))

0
Андрей CS
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 9620
23
11:26

garry сказал(а)
вообще сможет обходиться без микроразметки и определять все сам))

надеемся и верим)

0
Андрей CS
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 9620
24
11:29

погоняем пока эту разметку на этом сайте для товаров, понаблюдаем за реакцией поисковиков

0
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
25
11:31

Андрей CS сказал(а)
погоняем пока эту разметку на этом сайте для товаров, понаблюдаем за реакцией поисковиков

Это не быстро у них со звездами или как повезет))
Но в любом случаи посмотрим конечно и скорректируем если что.

0
SAZONISCHE
не в сети 11 минут
На сайте с 20.07.2017
Участник
Тем 13
Сообщения 134
26
07:44

а как убрать с превью полосу рейтинга?

0
garry
не в сети 1 час
На сайте с 04.01.2014
Участник
Тем 89
Сообщения 1256
27
08:50

SAZONISCHE сказал(а)
а как убрать с превью полосу рейтинга?

Создайте новую тему в соответствующем разделе и более конкретно задайте вопрос, тогда получите ответ по вашей проблеме или вопросу.

2
Вы не имеете права на публикацию сообщений в этой теме