FD

shema.org - кто использует структурированные данные?

Recommended Posts

Вот вам сервис с кучей генераторов - хоть для организации, хоть для статей, хоть для Твиттера и Фейсбука... Генерируйте и пихайте код на сайт

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

подскажите пожалуйста принцип сам. как делается разметка. я ничего не понимаю. вот я в гугле разметила страницу вторичная недвижимость. получила код с какими то желтенькими полосочками. дальше что с этим делать?

вторичная разметка.jpg

разм2.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 07.09.2016 в 10:24, metrpro сказал:

3. Т.к. мы этот продукт предлагаем, то значит это тип Offer - для этого всю таблицу с характеристиками помечаем нужным образом. Ищем соответствующий <div class="noverview-short"> и меняем его:


<div class="noverview-short" itemprop="offers" itemscope itemtype="http://schema.org/Offer">

5. Все объявления актуальны? Вставляйте в любом месте тег "На складе":


<link itemprop="availability" href="http://schema.org/InStock">

Но у меня цены есть еще и в долларах, поэтому приходится проверять - если в рублях, то рубли, если в USD, то в USD:


<meta itemprop="price" content="{$data_shared.price.value|number_format:0:".":""}">
{if $data_shared.currency_id.value == 2}
<meta itemprop="priceCurrency" content="USD">
{else}
<meta itemprop="priceCurrency" content="RUB">
{/if}

 

PS: модераторы, исправьте, пожалуйста, название этой темы - не хватает одной буквы в слове sChema.org

 

Делаю разметку для объявления. Столкнулся с проблемой в пунктах 3 и 5

В realty_view.tpl не смог найти значение <div class="noverview-short, только <div class="noverview-holder

В пункте 5. У меня на сайте 4 валюты, а системная доллары, другие для вывода и добавления объявлений. Вставил такой код:

{if $data_shared.currency_id.value == 2}
<meta itemprop="priceCurrency" content="USD">
{else}
<meta itemprop="priceCurrency" content="UAH">
<meta itemprop="priceCurrency" content="RUB">
<meta itemprop="priceCurrency" content="BYN">
{/if}

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

По яндексу

ПРЕДУПРЕЖДЕНИЕ: поле availability не определено в спецификации http://schema.org/Product

ПРЕДУПРЕЖДЕНИЕ: поле price не определено в спецификации http://schema.org/Product

ПРЕДУПРЕЖДЕНИЕ: поле priceCurrency не определено в спецификации http://schema.org/Product

ОШИБКА: Не выполнено обязательное условие для продуктовых сниппетов: поле offers отсутствует или пусто

itemType = http://schema.org/Product

По гуглу 

warning

availability

http://schema.org/InStock (Свойство availabilityнедопустимо для объекта типа Product.)

warning

price

7000 (Свойство price недопустимо для объекта типа Product.)

warning

priceCurrency

UAH (Свойство priceCurrency недопустимо для объекта типа Product.)

warning

priceCurrency

RUB (Свойство priceCurrency недопустимо для объекта типа Product.)

warning

priceCurrency

BYN (Свойство priceCurrency недопустимо для объекта типа Product.)

Подскажите как исправить, спасибо!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
51 минуту назад, mykvartira сказал:

В realty_view.tpl не смог найти значение <div class="noverview-short, только <div class="noverview-holder

Внутри него есть блок с классом overview - он вам подойдет.

 

52 минуты назад, mykvartira сказал:

В пункте 5. У меня на сайте 4 валюты, а системная доллары, другие для вывода и добавления объявлений. Вставил такой код:

Если в форме ввода объявления в выпадашке валюты отображаются у вас в виде знаков а не кодов (EUR|RUB) то все сделали правильно.

Только должно быть как-то так. А то сечас вываливает три валюты, если не доллар.

{if $data_shared.currency_id.value == 2}
<meta itemprop="priceCurrency" content="USD">
{elseif $data_shared.currency_id.value == 1}
<meta itemprop="priceCurrency" content="UAH">
{elseif $data_shared.currency_id.value == 2}
<meta itemprop="priceCurrency" content="RUB">
{else}
<meta itemprop="priceCurrency" content="BYN">
{/if}

 

58 минут назад, mykvartira сказал:

ПРЕДУПРЕЖДЕНИЕ: поле price не определено в спецификации http://schema.org/Produc

Свойство Price является свойством не элемента Product а элемента типа Offer который должен быть дочерним к Product

Вот пример вложенности в скрипте

$JSONLDL=array();
$JSONLDL['@context']='http://schema.org/';
$JSONLDL['@type']='Product'; /*Верхний уровень - Product*/
/*Тут параметрі продукта типа имя, урл*/
$JSONLDL['name']=$form_data_shared['meta_h1']['value'];
...
/*Тут начинаются предложения. Єто нечто более узкое чем продукт вообще*/
$JSONLDL['offers']=array();
$JSONLDL['offers']['@type']='Offer';
if($form_data_shared['optype']['value']==2){
$JSONLDL['offers']['businessFunction']='Sell';
}elseif($form_data_shared['optype']['value']==1){
$JSONLDL['offers']['businessFunction']='LeaseOut';
}
/*и вот для оффера мы уже определяем цену, валюту и доступность*/	
$JSONLDL['offers']['price']=$form_data_shared['price']['value'];
		$JSONLDL['offers']['priceCurrency']=$form_data_shared['currency_id']['value_string'];
		$JSONLDL['offers']['availableAtOrFrom']['@type']='Place';
		$JSONLDL['offers']['availableAtOrFrom']['address']['@type']='PostalAddress';
		$JSONLDL['offers']['availableAtOrFrom']['address']['addressCountry']=$form_data_shared['country_id']['value_string'];
		$JSONLDL['offers']['availableAtOrFrom']['address']['addressRegion']=$form_data_shared['region_id']['value_string'];
		$JSONLDL['offers']['availableAtOrFrom']['address']['addressLocality']=$form_data_shared['city_id']['value_string'];
		
		

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Примерно вот так бы это выглядело в плане вложенности в разметке.

<div itemscope itemtype="http://schema.org/Product">
  <div itemprop="name">Аренда квартир / 1-комн., Россия, Белгородская область, Белгород, Молодежная, 7 000 руб.</div>
  <div itemscope itemtype="http://schema.org/Offer">
    <div itemprop="price" content="7000">
	<div itemprop="priceCurrency" content="UAH">
  </div>
</div>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если не растеряться, то можно понять структуру вложенности еще отсюда https://search.google.com/structured-data/testing-tool/u/0/?hl=uk#url=http%3A%2F%2Fprorealproperty.com%2Frealty68953.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, abushyk сказал:

Если не растеряться, то можно понять структуру вложенности еще отсюда https://search.google.com/structured-data/testing-tool/u/0/?hl=uk#url=http%3A%2F%2Fprorealproperty.com%2Frealty68953.html

Да разметка очень крутая, прям как в банке. Все на своих местах, круто. Может есть код разметки? Вставил бы в вид объявления и готово))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Где-то на втором часу попыток расписать разметку схемы в шаблоне, что бы и вложенность обеспечить и свои данные согласно макета разместить, я плюнул и реализовал сборку json-кода разметки в локальном модуле карточки и заброску его в шаблон.)))) Разборщики схемы понимают ее не только в виде тегов, но и в виде json-объектов. В разметке осталась только разметка крошек и блок о компании. А весь продукт внутри генератора карточки. Вот сам код сборки объекта (в данном случае в функции makeUserOperatios, там же собираются и всякие og-параметры и прочая дребедень для соцсеток, телеграмма и шары):

$JSONLDL=array();
		
$JSONLDL['@context']='http://schema.org/';
$JSONLDL['@type']='Product';
$JSONLDL['name']=$form_data_shared['meta_h1']['value'];
$JSONLDL['url']=$this->getServerFullUrl().'/'.Sitebill::getClearRequestURI();
$JSONLDL['description']=mb_substr(strip_tags($form_data_shared['text']['value']), 0, 200, 'utf-8');
$JSONLDL['image']=$this->getServerFullUrl().'/img/data/'.$form_data_shared['image']['image_array'][0]['normal'];
$JSONLDL['offers']=array();
$JSONLDL['offers']['@type']='Offer';
if($form_data_shared['optype']['value']==2){
$JSONLDL['offers']['businessFunction']='Sell';
}elseif($form_data_shared['optype']['value']==1){
$JSONLDL['offers']['businessFunction']='LeaseOut';
}

$JSONLDL['offers']['price']=$form_data_shared['price']['value'];
$JSONLDL['offers']['priceCurrency']=$form_data_shared['currency_id']['value_string'];
$JSONLDL['offers']['availableAtOrFrom']['@type']='Place';
$JSONLDL['offers']['availableAtOrFrom']['address']['@type']='PostalAddress';
$JSONLDL['offers']['availableAtOrFrom']['address']['addressCountry']=$form_data_shared['country_id']['value_string'];
$JSONLDL['offers']['availableAtOrFrom']['address']['addressRegion']=$form_data_shared['region_id']['value_string'];
$JSONLDL['offers']['availableAtOrFrom']['address']['addressLocality']=$form_data_shared['city_id']['value_string'];



$this->template->assign('ldjson', json_encode($JSONLDL));

и вот так он внутри head-тега вставляется

{if $ldjson!=''}
<script type="application/ld+json">{$ldjson}</script>
{/if}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Круто

как я понимаю создали шаблон 

ldjson.tpl

в него разместили код 

и вставили в шаблон head

 

{if $ldjson!=''}
<script type="application/ld+json">{$ldjson}</script>
{/if}

Правильно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, mykvartira сказал:

Круто

как я понимаю создали шаблон 


ldjson.tpl

в него разместили код 

и вставили в шаблон head

 


{if $ldjson!=''}
<script type="application/ld+json">{$ldjson}</script>
{/if}

Правильно?

Не думаю... В ступор ввела фраза "...реализовал сборку json-кода разметки в локальном модуле карточки и заброску его в шаблон..."

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Было бы здорово, если бы просто вышло без ковыряния, а то с этой разметкой провозишься день и то не факт что сделаешь 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
24 минуты назад, mykvartira сказал:

Было бы здорово, если бы просто вышло без ковыряния, а то с этой разметкой провозишься день и то не факт что сделаешь 

 

Работы на пару часов, для стандартной структуры шаблона.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, TopRaN сказал:

Работы на пару часов, для стандартной структуры шаблона.

Дык вернемся к вышеуказанному коду Константина, а куда его пихать-то?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я делал локальный обработчик карточки - https://www.sitebill.ru/s/topic/3635-howto-локальный-обработчик-карточки/

Тянул в него функцию protected function makeUserOperatios($form_data_shared) в которую приходит полная модель данных просматриваемого объекта.

<?php
class Local_Kvartira_View extends Kvartira_View {
	protected function makeUserOperatios($form_data_shared){

	}
}

Внутри нее ставил код создания.

И в header.tpl внутри head-тега размещал вставку результата

{if $ldjson!=''}
<script type="application/ld+json">{$ldjson}</script>
{/if}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
13 часа назад, abushyk сказал:

{$ldjson}

Это шаблон в котором указаны 

$JSONLDL=array();
		
$JSONLDL['@context']='http://schema.org/';
$JSONLDL['@type']='Product';
$JSONLDL['name']=$form_da 

и т.д.

Остальные пункты мне удалось осилить, чтобы сайт не рухнул)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все заглохло, нужно как-то доделать разметку. Кто делал по примеру Константина, поделитесь!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 01.12.2017 в 23:22, abushyk сказал:

Я делал локальный обработчик карточки - https://www.sitebill.ru/s/topic/3635-howto-локальный-обработчик-карточки/

Тянул в него функцию protected function makeUserOperatios($form_data_shared) в которую приходит полная модель данных просматриваемого объекта.


<?php
class Local_Kvartira_View extends Kvartira_View {
	protected function makeUserOperatios($form_data_shared){

	}
}

Внутри нее ставил код создания.

И в header.tpl внутри head-тега размещал вставку результата


{if $ldjson!=''}
<script type="application/ld+json">{$ldjson}</script>
{/if}

 

Все эти пункты сделаны, а что дальше? Подскажите ребята

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот тут есть пример генератора 

У вас на руках модель объекта с данными $form_data_shared и вы уже на свое усмотрение что-то берете из нее, что-то тянете дополнительно и заполняете поля схемы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, abushyk сказал:

Вот тут есть пример генератора 

У вас на руках модель объекта с данными $form_data_shared и вы уже на свое усмотрение что-то берете из нее, что-то тянете дополнительно и заполняете поля схемы.

Спасибо буду разбираться, вникать 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

<div class="" itemscope itemtype="http://schema.org/RealEstateAgent"><h3><span itemprop="name">Фазенда БГ</span></h3><span itemprop="description">Агентство недвижимости Фазенда БГ поможет Вам купить или арендовать недвижимость в Болгарии. В услуги  агентства   также входит   помощь в переезде в Болгарию,  в подаче документов на ВНЖ и ПМЖ,в оформлении фирм, представительств, помощь в покупке авто.</span><br /><span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"><span itemprop="streetAddress"> Поморие Марина Холидей Клуб</span><br /><span itemprop="postalCode"></span><br /><span itemprop="addressCountry">Болгария</span><br />Phone: <span itemprop="telephone">+359879470736</span><br /><span itemprop="url">https://fazendabg.com/</span><br /></div>

не знаю правильно или нет. подскажите пожалуйста а куда ее надо запихать? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 20.02.2017 в 20:07, Chernetskiy сказал:

Вот вам сервис с кучей генераторов - хоть для организации, хоть для статей, хоть для Твиттера и Фейсбука... Генерируйте и пихайте код на сайт

Это все зашибись, конечно, только вот по факту все этих схемыорг на продвижение никак не влияют :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 15.03.2019 в 13:30, TrashSmash0x0 сказал:

Это все зашибись, конечно, только вот по факту все этих схемыорг на продвижение никак не влияют :)

Это немного разные вещи, уж точно не SEO :) Однако поисковики определяют рейтинг сайта исходя из нескольких сотен критериев, среди которых есть и карта сайта, и структурированные данные, и возраст домена, и фото офиса на странице контаков в том числе...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: TopRaN
      <meta property="og:title" content="{if $meta_title != ''}{$meta_title}{else}Мой сайт{/if}"> <meta property="og:description" content="{if $meta_description != ''}{$meta_description}{else}{$data.text.value|truncate:200}{/if}"> <meta property="og:image" content="http{if $smarty.server.HTTPS ne ''}s{/if}://{$smarty.server.HTTP_HOST}/img/data/{$photo[0].normal}" alt="{$title}"> <meta property="og:type" content="website"> <meta property="og:type" content="http{if $smarty.server.HTTPS ne ''}s{/if}://{$smarty.server.HTTP_HOST}" /> <meta property="og:url" content="http{if $smarty.server.HTTPS ne ''}s{/if}://{$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI}"> <meta property="og:site_name" content="{$title}"> <meta property="og:logo" content="http{if $smarty.server.HTTPS ne ''}s{/if}://{$smarty.server.HTTP_HOST}/template/frontend/{$current_theme_name}/img/logo.png" alt=""> <meta property="og:locale" content="ru_RU"> в тег html 
      <html xmlns:og="http://ogp.me/ns#"/>  
    • Автор: Chernetskiy
      Друзья, 1PS подарил книгу по SEO-копирайтингу в 2-х частях (в файлах PDF). Решил поделиться ею в разделе Файлы, многим наверняка будет полезно и снимет кучу вопросов с продвижением своего сайта.
    • Автор: Chernetskiy
      Книга в 2-х частях - в подарок от 1PS
      В первой части книги ответы на самые популярные вопросы, которые волнуют многих владельцев сайтов и интернет-маркетологов: что писать, чтобы это было интересно и полезно, как удержать внимание клиента на сайте, чтобы он совершил целевое действие и где брать идеи.
      Пора сказать «прощай» длинным полотнам с ключевыми словами и активно осваивать LSI-копирайтинг. Во второй части книги собраны знания об оптимизации, полученные за все время создания продающих и оптимизированных текстов: каждый совет или прием проверены на собственном опыте.
       
    • Автор: Дмитрий Кондин
      1. Добавляем сайт в вебмастеры гугла и яндекса
      2. По возможности включить все дополнительные опции в Приложения - SEO-оптимизация http://wiki.sitebill.ru/index.php?title=Приложение_"SEO-Оптимизация"
      3. Заполняем мета-теги для категорий в Структуре
      4. Заполняем вкладку Мета-теги в самих объявлениях.
      5. При желании можно создать дополнительные SEO-адреса для продвижения.
      6. Генерируем sitemap.xml, для этого в Настройки - Sitemap указываем опции Выводить категории, Выводить объявления в sitemap
      7. Отправляем URL http://ваш_сайт/sitemap.xml в вебмастеры гугла и яндекса (см. п. 1)
      8. Для усиления эффекта закупаем ссылки на ключевые страницы сайта для повышения позиций в поисковиках. Рекомендую систему сеопульт для автоматической закупки ссылок.
      ------
      Для отслеживания статистики ставим счетчики.
       
       
    • Автор: dmx
      Подскажите, замечал кто-нибудь положительное влияние директа на продвижение сайта в естественной выдаче?
      Есть "молодой" сайт, хочу его пошевелить в плане продвижения и вот рекомендуют немного на директ потратиться, что мол это поможет и в поисковой выдаче.