Перейти к содержанию
Официальный форум поддержки Simpla

Микроразметка для Google


Рекомендуемые сообщения

Выкладываю микроразметку для гугла, если кому нужно.

Для index.tpl

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebSite",
  "name": "Название сайта",
  "alternateName": "Имя компании",
  "url": "http://domen.ua",
  "description": "Описание сайта"  
}
</script>
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Organization",
  "url": "http://domen.ua",
  "name": "Имя компании",
  "logo": "http://domen.ua/design/шаблон/images/logo.png",
  "contactPoint": [
  {
    "@type": "ContactPoint",
    "name": "Алексей",
    "telephone": "+380 11-111-11-11",
    "contactType": "customer service",
    "email": "seller@domen.ua",
    "availableLanguage": "RU", //язык сайта
    "areaServed" : "UA" //распложение сайта RU, BY, UA и т.д.
  },{
    "@type": "ContactPoint",
    "name": "Алексей",
    "telephone": "+380 22-222-22-22",
    "contactType": "customer service",
    "email": "seller@domen.ua",
    "availableLanguage": "RU", //язык сайта
    "areaServed" : "UA" //распложение сайта RU, BY, UA и т.д.    
  },{
    "@type": "ContactPoint",
    "name": "Алексей",
    "telephone": "+380 33-333-33-33",
    "contactType": "customer service",
    "email": "seller@domen.ua",
    "availableLanguage": "RU", //язык сайта
    "areaServed" : "UA" //распложение сайта RU, BY, UA и т.д.
  }],
  "description": "Описание сайта",
  "address": {
  "@type": "PostalAddress",
  "addressLocality": "Днепр, Украина" // Город, страна
    }
}
</script>

product.tpl

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Product",
  "name": "{/literal}{$product->name}{literal}",
  "image": "{/literal}{$product->image->filename|resize:800:600:w}{literal}",
  "description": "{/literal}{$product->description}{literal}",
  "mpn": "{/literal}{$product->variant->sku}{literal}",
  "brand": {
    "@type": "Brand",
    "name": "{/literal}{$product->brand->name}{literal}"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4", //Если на сайте сделан рейтинг товаров, то можно вывести сюда "{/literal}{$product->rate}{literal}"
    "reviewCount": "89" // тоже самое с количеством голосов
  },
  "offers": {
    "@type": "Offer",
    "priceCurrency": "UAH", //Валюта
    "price": "{/literal}{$product->variant->price}{literal}",
    "priceValidUntil": "{/literal}{$smarty.now|date_format:"%Y-%m-%d"}{literal}",
    "itemCondition": "http://schema.org/UsedCondition",
    "availability": "http://schema.org/InStock",
    "seller": {
      "@type": "Organization",
      "name": "Имя сайта"
    }
  }
}
</script>

 

post.tpl

<script type="application/ld+json"> 
{ 
"@context" : "http://schema.org", 
"@type" : "Article", 
"name" : "{/literal}{$post->name}{literal}", 
"author" : { "@type" : "Person", "name" : "Имя сайта или автор темы" }, 
"headline" : "{/literal}{$post->name}{literal}",
"datePublished" : "{/literal}{$post->date}{literal}",
"mainEntityOfPage": {"@type": "WebPage", "@id": "http://domen.ua/blog"},
"dateModified" : "{/literal}{$post->date}{literal}",
"image" : "http://domen.ua/files/posts/{/literal}{$post->image}{literal}", 
"articleBody" : "{/literal}{$post->annotation}{literal}",
"url" : "{/literal}{$post->url}{literal}",
"publisher" : { "@type" : "Organization", "name" : "Имя сайта", "logo" : "http://domen.ua/design/шаблон/images/logo.png" }
}
</script>

Все скрипты заключить в

{literal}......{/literal}

Пересмотрите все значения, типа Имя сайта, domen, шаблон и т.д., и замените на нужные.

Изменено пользователем koteyka
Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 68
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Изображения в теме

Супер! В список доработок, которые нужно сделать сразу после установки

 

Вопрос _ Несколько контактов ContactPoint в index.tpl по какому принципу отображаются в гугле?

Изменено пользователем Maksclub
Ссылка на сообщение
Поделиться на другие сайты

Вопрос _ Несколько контактов ContactPoint в index.tpl по какому принципу отображаются в гугле?

Точно не скажу, еще не проиндексировались страницы, но валидатор принимает нормально

 

post-1516-0-63152600-1473231061_thumb.png

 

Единственное, что микроразметка постов блога имеет два предупреждения, но я ни как не могу понять, почему. Всю инфу уже перерыл.

 

post-1516-0-63674100-1473231568_thumb.png

 

Хотя валидатор яндекса ошибок или предупреждений не показывает. Там всё нормально.

Изменено пользователем koteyka
Ссылка на сообщение
Поделиться на другие сайты

Раздел можно расширить:

"address": {
  "@type": "PostalAddress",
  "addressLocality": "Россия, г.Мухобойск", // Город, страна
  "streetAddress": "ул. Мухобойская,69 оф.69", // Адрес
  "postalCode": "696969" // Почтовый индекс
 }
Ссылка на сообщение
Поделиться на другие сайты

А есть ли готовая разметка для хлебных крошек?

Пример:

<ol vocab="http://schema.org/" typeof="BreadcrumbList">
  <li property="itemListElement" typeof="ListItem">
    <a property="item" typeof="WebPage"
        href="https://example.com/arts">
      <span property="name">Arts</span></a>
    <meta property="position" content="1">
  </li>
  ›
  <li property="itemListElement" typeof="ListItem">
    <a property="item" typeof="WebPage"
        href="https://example.com/arts/books">
      <span property="name">Books</span></a>
    <meta property="position" content="2">
  </li>
  ›
  <li property="itemListElement" typeof="ListItem">
    <a property="item" typeof="WebPage"
        href="https://example.com/arts/books/poetry">
      <span property="name">Poetry</span></a>
    <meta property="position" content="3">
  </li>
</ol>
Ссылка на сообщение
Поделиться на другие сайты

Раздел можно расширить:

Да, можно. Просто в моем случае офиса у сайта нет, а что подробный адрес нужен будет другим людям, не сообразил. Спасибо за дополнение.

Изменено пользователем koteyka
Ссылка на сообщение
Поделиться на другие сайты

Нашел причину предупреждений по image. Код в post.tpl должен выглядеть так

<script type="application/ld+json"> 

{ 
"@context" : "http://schema.org", 
"@type" : "Article", 
"name" : "{/literal}{$post->name}{literal}", 
"author" : { 
    "@type" : "Person", 
    "name" : "ИМЯ САЙТА" 
    }, 
"headline" : "{/literal}{$post->name}{literal}",
"datePublished" : "{/literal}{$post->date}{literal}",
"mainEntityOfPage": {"@type": "WebPage", "@id": "http://ДОМЕН/blog"},
"dateModified" : "{/literal}{$post->date}{literal}",
"image" : {
    "@type" : "ImageObject", 
    "url" : "http://ДОМЕН/files/posts/{/literal}{$post->image}{literal}",
    "height" : "640",
    "width" : "640"
    }, 
"articleBody" : "{/literal}{$post->annotation}{literal}",
"url" : "{/literal}{$post->url}{literal}",
"articleSection" : "КАТЕГОРИЯ ПОСТА ИЛИ СТАТЬИ",
"publisher" : { 
    "@type" : "Organization", 
    "name" : "НАЗВАНИЕ ОРГАНИЗАЦИИ", 
"logo" : {
    "@type" : "ImageObject",
    "url" : "http://ДОМЕН/design/trizzy/images/logo.png",
    "height" : "102",
    "width" : "75"
    }
   }
}
</script>
Изменено пользователем koteyka
Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

В ProductView.php после

		// Категория и бренд товара
		$product->categories = $this->categories->get_categories(array('product_id'=>$product->id));

добавить

$product->brand = $this->brands->get_brand(intval($product->brand_id)); 
Ссылка на сообщение
Поделиться на другие сайты

 

В ProductView.php после

		// Категория и бренд товара
		$product->categories = $this->categories->get_categories(array('product_id'=>$product->id));

добавить

$product->brand = $this->brands->get_brand(intval($product->brand_id)); 

 

не проще заменить

{$product->brand->name}

на

{$brand->name}

и не выбирать второй раз бренд.

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

Да, проще. На том сайте, для которого я это делал, почему-то строка выбора бренда была удалена из ProductView.php, а с дефолтным файлом я не сравнивал.

Изменено пользователем koteyka
Ссылка на сообщение
Поделиться на другие сайты

Спасибо за быстрый ответ. В post при двух ваших вариантах ошибка такая

 

Изменено пользователем zikkit
Ссылка на сообщение
Поделиться на другие сайты

Попробуйте в скрипте заменить кавычки на одинарные. У Вас в теле поста есть кавычки, а само тело обернуто в кавычки скрипта. Идет конфликт.

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

Так же по первому вопросу. А если есть товар без бренда и выдает ошибку

 

 

То так можно оставить или есть вариант решения?

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

Перед скриптом добавьте

{if !$brand}{$brand->name = 'Нет бренда'}{/if}

либо

{if !$prosuct->brand}{$prosuct->brand->name = 'Нет бренда'}{/if}

смотря, как вы прописали в скрипте.

Изменено пользователем koteyka
Ссылка на сообщение
Поделиться на другие сайты

Что-то не реагирует оно никак. Ставил уже и перед и после <script type="application/ld+json"> оба варианта. Если поставить за {literal}.

 

Кстати, я правильно понимаю, что ваш второй поста за 08.09.2016 - 10:10 стоит использовать для правок post.tpl?

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

Если поставить за {literal}.

Нужно до литерала. Туда, где обычный код шаблона.

Кстати, я правильно понимаю, что ваш второй поста за 08.09.2016 - 10:10 стоит использовать для правок post.tpl?

Да.

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

Спасибо за ответы. Но у меня белый экран в таком случае, что с первым вариантом, что со вторым. В чем может быть причина?

Изменено пользователем zikkit
Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответы. Но у меня белый экран в таком случае, что с первым вариантом, что со вторым. В чем может быть причина?

 

Скиньте кусок кода. Там хитро с литералами, в середине кода нужно неожиданно закрыть, вывести переменную и снова открыть ;)

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

хм.... у меня тоже {if !$brand}{$brand->name = 'Нет бренда'}{/if} выдает белый экран... не важно где ставить в коде шаблона.. даже просто саму надпись вывести "нет бренда" не дает - ошибка в самой конструкции условия?

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

хм.... у меня тоже {if !$brand}{$brand->name = 'Нет бренда'}{/if} выдает белый экран... не важно где ставить в коде шаблона.. даже просто саму надпись вывести "нет бренда" не дает - ошибка в самой конструкции условия?

 

 

{if $brand}{else}Нет бренда{/if}
 
Изменено пользователем Maksclub
Ссылка на сообщение
Поделиться на другие сайты


 

{if $brand}{else}Нет бренда{/if}

Такая конструкция выведет надпись в шаблон, но переменная $brand->name всё равно останется пустой. Тогда уже лучше так

        {if !$brand}
	    {$p_brand = 'Не известен'}
        {else}
            {$p_brand = $brand->name}
	{/if}

и в скрипте указывать не $brand->name, а $p_brand.

 

А не работала конструкция потому, что переменная $brand - это массив и мы пытались 'Не известен' всунуть в массив и делали это не правильно.

Изменено пользователем koteyka
Ссылка на сообщение
Поделиться на другие сайты

Перед скриптом добавьте

 

{if !$brand}{$brand->name = 'Нет бренда'}{/if}

либо

{if !$prosuct->brand}{$prosuct->brand->name = 'Нет бренда'}{/if}

смотря, как вы прописали в скрипте.

 

Совсем неправильно и плохо:

1. Не будет работать, так как нарушает правила Smarty.

2. Изменять данные в шаблоне в принципе неправильно. Шаблон предназначен для ВЫВОДА только. Если нужно, то надо менять во view/*.php

 

 

Такая конструкция выведет надпись в шаблон, но переменная $brand->name всё равно останется пустой. Тогда уже лучше так

 

{if !$brand}
{$p_brand = 'Не известен'}
{else}
{$p_brand = $brand->name}
{/if}

и в скрипте указывать не $brand->name, а $p_brand.

 

А не работала конструкция потому, что переменная $brand - это массив и мы пытались 'Не известен' всунуть в массив и делали это не правильно.

 

3. Переменная $brand - совсем не массив.

4. "переменная $brand->name всё равно останется пустой" - а зачем ее менять-то?

5. Maksclub напомнил Вам про типовую простую шаблонную конструкцию {if $brand}{else}Нет бренда{/if}  - применяется в шаблонах в десятках мест. Зачем велосипед изобретаете?

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...