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

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


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

Maksclub напомнил Вам про типовую простую шаблонную конструкцию {if

$brand}{else}Нет бренда{/if}  - применяется в шаблонах в десятках мест.

Зачем велосипед изобретаете?

Если прописать это непосредственно в сам скрипт, а не до него.

 

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

Простите, объект. Хотя в данном варианте не суть.

 

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

Имелось в виду, если условие будет в шаблоне, а в скрипте так и останется

{/literal}{$brand->name}{literal}

Maksclub не указал, что это нужно вставить в скрипт.

 

Kors, как всегда в своем заподлистом (не могу другого слова подобрать) репертуаре. Подождет, пока напишут пару косяков и давай потом показывать, какой он розовый и пушистый, всё знаю, жаль, бл..., не летаю.

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

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

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

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

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

Kors, как всегда ... Подождет, пока напишут пару косяков и давай потом показывать...

 

Уже отвечал как-то на подобные выпады от mishanya. Повторю свой ответ:

 

Напрасно Вы сердитесь, потому что:

1. Мои замечания обычно приводят к тому, что первоначальное  решение улучшается.

2. Каждый занимается тем, что ему проще и ближе. Мне нравится анализировать чужие решения и находить ошибки.

2.1 Во-первых, это полезно для разработчика.

2.2 Во-вторых, это полезно многих пользователей.

2.3 В-третьих, это совсем не так просто, как Вы себе представляете. Если считаете, что найти ошибку - это пустячок, попробуйте впредь перед публикацией своих решений их анализировать на наличие ошибок и публиковать СРАЗУ БЕЗ ОШИБОК.

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

4. Как говорится в одном старом фильме - "А вместе делаем общее дело: я по-своему, а ты по-своему".

 

А вообще надо бы думать больше о существе темы, а поменьше - о своей (ложной) гордости...

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

А вообще надо бы думать больше о существе темы, а поменьше - о своей (ложной) гордости...

А почему ложной? Я горд собой. Пусть не в части программирования, но у меня два сына и дочь, я, когда мне было 28 лет уже построил дом, я посадил сад. Почему мне не гордиться? И 15% бывших "совков" так не живут.

 

Напрасно Вы сердитесь, потому что:..........................

Да потому, что Вы, как будто специально выжидаете, пока кто нить какой-то косяк не напишет. Пересмотрите свои посты. Вы в решение влазите только тогда, когда кто-то ошибется. И начинаете рисоваться своим умом. Руб за сто даю, что Вам уже либо немногим под 50 лет, либо уже за. Так, как Вы ведут себя только ворчливые старики. Вам уже не раз писали, просто ответьте, что верно будет не так, а вот так. Но тогда не получится подколоть же автора, тогда Вы не насытитесь своей колкостью....

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

А почему ложной? Я горд собой. Пусть не в части программирования, но у меня два сына и дочь, я, когда мне было 28 лет уже построил дом, я посадил сад. Почему мне не гордиться? И 15% бывших "совков" так не живут.

 

Да потому, что Вы, как будто специально выжидаете, пока кто нить какой-то косяк не напишет. Пересмотрите свои посты. Вы в решение влазите только тогда, когда кто-то ошибется. И начинаете рисоваться своим умом. Руб за сто даю, что Вам уже либо немногим под 50 лет, либо уже за. Так, как Вы ведут себя только ворчливые старики. Вам уже не раз писали, просто ответьте, что верно будет не так, а вот так. Но тогда не получится подколоть же автора, тогда Вы не насытитесь своей колкостью....

Ему 58 ))) и Не Вы один такого мнения )))

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

Ему 58 ))) и Не Вы один такого мнения )))

Ну вот, как в жо... смотрел :)

Ладно. Флудим уже.

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

А почему ложной? Я горд собой.

 

Потому что это понятие субъективное, то есть для одного ложной, для другого - нет...

 

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

 

В данном случае как раз и написал Вам, что правильно будет, как указал Maksclub.

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

 

Maksclub не указал, что это нужно вставить в скрипт.

 

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

 

Эта Ваша придирка будет похлеще любых ворчливых стариков.

 

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

 

В то время как на самом-то деле это вставлять надо в шаблон, а не в скрипт...

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

Снова здарова.... Флудим ведь уже.

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


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

 

Мне нравится анализировать чужие решения и находить ошибки.

Да пожалуйста, кто Вам мешает. Но вы же не напишите, что вот здесь автор ошибся, и вот так будет правильнее. Вы же, как обычно напишите в духе:

Если бы автор думал о коде, а не о женской груди и прежде, чем выкладывать решение сто раз проверил его на 15-ти разных шаблонах, то он знал бы...... бла-бла-бла.
Или
Прежде, чем писать такое, автору нужно прочесть 20 томов по смарти, изучить принципы программирования на РНР, а потом давать ответы на вопросы пользователей.

 

Это называется не иначе, как тонко, скрытно и нагло подъебнуть автора какого либо поста (простите за нецензурщину, но это слово больше всего здесь уместно).

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

По сути: В данном конкретном случае мною было написано точно, что именно неверно, почему неверно, и как надо правильно.

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

 

Потому продолжаете придирки, достойные ворчливого старика.

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

Косяк нашел при тестировании... может кто подскажет как его обойти?

Суть такая - если в имени товара встречаются кавычки - то Google ругается:

JSON-LD Missing ',' or '}' in object declaration.
Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Добрый день.

Прежде всего спасибо за код разметки. Очень помогло.

Для index.tpl и product.tpl - всё работает хорошо, а вот post.tpl не определяет гугловский валидатор (https://search.google.com/structured-data/testing-tool). Определяет только Organization.
 
В коде post.tpl скопировал от верха до окончания скрипта:

{* Страница отдельной записи блога *}
{* Канонический адрес страницы *}
{$canonical="/blog/{$post->url}" scope=parent}

{* Микроразметка *}
{literal}
<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://xxxx.ru/blog"},
"dateModified" : "{/literal}{$post->date}{literal}",
"image" : {
    "@type" : "ImageObject", 
    "url" : "http://xxx.ru/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" : "ООО XXX", 
"logo" : {
    "@type" : "ImageObject",
    "url" : "http://xxx.by/design/sapphire-new-2/images/logo.png",
    "height" : "102",
    "width" : "75"
    }
   }
}
</script>
{/literal}
 

Подскажите, что делаю не так?

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

 

 

 "image" : {
"@type" : "ImageObject", 
"url" : "http://xxx.ru/files/posts/{/literal}{$post->image}{literal}",
 

 

 

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

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

Да. Если у блога нет изображений постов, то этот кусок можно убрать.

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

Спасибо.все круто. Но с товаром проблемы, точнее с его рейтингом( Пишет: 

JSON-LD
Отсутствует символ "," или "}" в декларации объекта.
Ссылка на сообщение
Поделиться на другие сайты

Спасибо.все круто. Но с товаром проблемы, точнее с его рейтингом( Пишет: 

JSON-LD

Отсутствует символ "," или "}" в декларации объекта.

 

По рейтингу - сделай вот так - все работает:

{if $product->rating>0}{literal}
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "{/literal}{$product->rating|escape}{literal}",
    "reviewCount": "{/literal}{$product->votes}{literal}"
    },{/literal}{/if}
Изменено пользователем service79
Ссылка на сообщение
Поделиться на другие сайты

По рейтингу - сделай вот так - все работает:

 

{if $product->rating>0}{literal}

  "aggregateRating": {

    "@type": "AggregateRating",

    "ratingValue": "{/literal}{$product->rating|escape}{literal}",

    "reviewCount": "{/literal}{$product->votes}{literal}"

    },{/literal}{/if}

 

то же самое( только чуть по другому...теперь пишет: 

SON-LD
Отсутствует символ "}" или название объекта.
Ссылка на сообщение
Поделиться на другие сайты

то же самое( только чуть по другому...теперь пишет: 

SON-LD

Отсутствует символ "}" или название объекта.

значит ты до этого где-то не закрыл...

 

Вот мой кусок кода - полностью рабочий:

<!-- Микроразметка -->
{literal}
<script type="application/ld+json">
{
"@context": "[url=http://schema.org/]http://schema.org/[/url]",
"@type": "Product",
"name": "{/literal}{$product->name|escape}{literal}",
"image": "{/literal}{$product->image->filename|resize:800:600:w}{literal}",
"description": "{/literal}{if $meta_description}{$meta_description|escape}{elseif $product->annotation}{$product->annotation|strip_tags:true}{elseif $product->body}{$product->body|strip_tags:true}{else}{$product->name|escape}{/if}{literal}",
"mpn": "{/literal}{$product->variant->sku}{literal}",
"brand": {
"@type": "Brand",
"name": "{/literal}{if $brand}{$brand->name|escape}{else}Нет бренда{/if}{literal}"
},
{/literal}{if $product->rating>0}{literal}
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "{/literal}{$product->rating|escape}{literal}",
"reviewCount": "{/literal}{$product->votes}{literal}"
},{/literal}{/if}{literal}

"offers": {
"@type": "Offer",
"priceCurrency": "RUB",
"price": "{/literal}{$product->variant->price}{literal}",
"priceValidUntil": "{/literal}{$smarty.now|date_format:"%Y-%m-%d"}{literal}",
"itemCondition": "[url=http://schema.org/UsedCondition]http://schema.org/UsedCondition[/url]",
"availability": "[url=http://schema.org/InStock]http://schema.org/InStock[/url]",
"seller": {
"@type": "Organization",
"name": "Интернет-магазин ********"
}
}
}
</script>
{/literal}
<!-- /Микроразметка -->
Изменено пользователем service79
Ссылка на сообщение
Поделиться на другие сайты

 

значит ты до этого где-то не закрыл...

 

Вот мой кусок кода - полностью рабочий:

<!-- Микроразметка -->
{literal}
<script type="application/ld+json">
{
"@context": "[url=http://schema.org/]http://schema.org/[/url]",
"@type": "Product",
"name": "{/literal}{$product->name|escape}{literal}",
"image": "{/literal}{$product->image->filename|resize:800:600:w}{literal}",
"description": "{/literal}{if $meta_description}{$meta_description|escape}{elseif $product->annotation}{$product->annotation|strip_tags:true}{elseif $product->body}{$product->body|strip_tags:true}{else}{$product->name|escape}{/if}{literal}",
"mpn": "{/literal}{$product->variant->sku}{literal}",
"brand": {
"@type": "Brand",
"name": "{/literal}{if $brand}{$brand->name|escape}{else}Нет бренда{/if}{literal}"
},
{/literal}{if $product->rating>0}{literal}
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "{/literal}{$product->rating|escape}{literal}",
"reviewCount": "{/literal}{$product->votes}{literal}"
},{/literal}{/if}{literal}

"offers": {
"@type": "Offer",
"priceCurrency": "RUB",
"price": "{/literal}{$product->variant->price}{literal}",
"priceValidUntil": "{/literal}{$smarty.now|date_format:"%Y-%m-%d"}{literal}",
"itemCondition": "[url=http://schema.org/UsedCondition]http://schema.org/UsedCondition[/url]",
"availability": "[url=http://schema.org/InStock]http://schema.org/InStock[/url]",
"seller": {
"@type": "Organization",
"name": "Интернет-магазин ********"
}
}
}
</script>
{/literal}
<!-- /Микроразметка -->

 

вот такая фигня получается https://yadi.sk/i/lxIw53BGyPjeF

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

вот такая фигня получается https://yadi.sk/i/lxIw53BGyPjeF

http://prntscr.com/d5x15m

Видишь? После значения рейтинга у тебя нет запятой

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

http://prntscr.com/d5x15m

Видишь? После значения рейтинга у тебя нет запятой

я эту запятую уже сто раз ставил) тогда вот что пишет: https://yadi.sk/i/4w4e5fN5yPocG

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

я эту запятую уже сто раз ставил) тогда вот что пишет: https://yadi.sk/i/4w4e5fN5yPocG

Ну а теперь у тебя эта запятая после кол-ва голосов стоит, а там ее не нужно... (до этого у тебя не хватало запятой после цифрового значения рейтинга)

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

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

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

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

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

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

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

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

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

Загрузка...

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