Микроразметка Schema.org для InstantCms

#1 7 февраля 2012 в 15:58
Кто работал в этом направлении? Давайте делиться опытом)
#2 7 февраля 2012 в 16:15
Хотел как то попробовать, но подумал, что нет смысла( у меня каталог организаций). Дело в том, что микроразметкой можно выделить например свою организацию, а каталоге где много организаций, это делать не рекомендуют(если только создавать для каждой организации поддомен). Для других тематик думаю микроразметка будет полезна.
#3 7 февраля 2012 в 16:18

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

malanas
Хм… у меня тоже каталог организаций! И почему же нет смысла делать для организаций микроразметку?
#5 7 февраля 2012 в 17:02
Почитал… все-таки спорно… я думаю все-же для сайтов на 1 позиции в поиске должна быть поддержка сниппетов с микроформатами…
#6 15 июня 2012 в 17:43
Интересная тема, особенно если только начинаешь создавать проект.
#7 14 июля 2012 в 13:41


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

Alex dChe
Не соглашусь. Микроразметка будет полезна и уже давно работающим сайтам. Тем более, что делов на пол часа. Жаль, что микроразметка поддерживает ещё не все типы страниц сайтов.

Приведу пару примеров, что сделал для своего проекта(пока только для статей и блогов)
шаблон/название шаблона/components/com_content_read.tpl

  1.  
  2.  
  3.  
  4. {* ======================= Заголовок статьи =============================== *}
  5. <div itemtype="http://schema.org/Article" itemscope="">
  6. {if $article.showtitle}
  7. <h1 itemprop="headline" class="con_heading">{$article.title}</h1>
  8. {/if}
  9.  
  10. {* ======================= Дата публикации =============================== *}
  11. {if $article.showdate}
  12. <div class="con_pubdate">
  13. <span itemprop="datePublished">{if !$article.published}<span style="color:#CC0000">{$LANG.NO_PUBLISHED}</span>{else}{$article.pubdate}{/if}</span> - <span itemprop="author"><a rel="author" href="{profile_url login=$article.user_login}">{$article.author}</a></span>
  14. </div>
  15. {/if}
  16.  
  17. {* =============== Cодержание статьи (список страниц) ========================= *}
  18. {if $is_pages}
  19. <div class="con_pt" id="pt">
  20. <span class="con_pt_heading">
  21. <a class="con_pt_hidelink" href="javascript:void;" onClick="{literal}$('#pt_list').toggle();{/literal}">{$LANG.CONTENT}</a>
  22. {if $cfg.pt_hide} [<a href="javascript:void(0);" onclick="{literal}$('#pt').hide();{/literal}">{$LANG.HIDE}</a>] {/if}
  23. </span>
  24. <div id="pt_list" style="{$pt_disp_style} width:100%">
  25. <div>
  26. <ul id="con_pt_list">
  27. {foreach key=tid item=page from=$pt_pages}
  28. {if ($tid+1 != $page)}
  29. {math equation="x + 1" x=$tid assign="key"}
  30. <li><a href="{$page.url}">{$page.title}</a></li>
  31. {else}
  32. <li>{$page.title}</li>
  33. {/if}
  34. {/foreach}
  35. <ul>
  36. </div>
  37. </div>
  38. </div>
  39. {/if}
  40.  
  41. {* =============== Текст статьи =============================== *}
  42. <div class="con_text" style="overflow:hidden">
  43. {if $article_image}
  44. <div class="con_image" style="float:left;margin-top:10px;margin-right:20px;margin-bottom:20px">
  45. <img itemprop="image" src="/images/photos/medium/{$article_image}" border="0" alt="{$article_image}"/>
  46. </div>
  47. {/if}
  48. <span itemprop="articleBody">{$article_content}</span>
  49. </div>
  50.  
  51. {* ============= Ссылка на тему форума ======================== *}
  52. {if $cfg.af_showlink && $forum_thread_id}
  53. <div class="con_forum_link">
  54. <a href="/forum/thread{$forum_thread_id}.html">{$LANG.DISCUSS_ON_FORUM}</a>
  55. </div>
  56. {/if}
  57. {* ============= Ссылки редактирования и модерации ======================== *}
  58. {if $is_admin || $is_editor || $is_author}
  59. <div class="blog_comments">
  60. {if !$article.published && ($is_admin || $is_editor)}
  61. <a class="blog_moderate_yes" href="/content/publish{$id}.html">{$LANG.ARTICLE_ALLOW}</a> |
  62. {/if}
  63. {if $is_admin || $is_editor || $is_author_del}
  64. <a class="blog_moderate_no" href="/content/delete{$id}.html">{$LANG.DELETE}</a> |
  65. {/if}
  66. {if $is_admin || $is_editor || $is_author}
  67. <a href="/content/edit{$id}.html" class="blog_entry_edit">{$LANG.EDIT}</a>
  68. {/if}
  69. </div>
  70. {/if}
  71.  
  72. {* ================ Теги статьи =============================== *}
  73. {if $article.showtags}
  74. <span itemprop="keywords">{$tagbar}</span>
  75. {/if}
  76.  
  77. {* =============== Рейтинг статьи =============================== *}
  78. {if $cfg.rating && $article.canrate}
  79. <div id="con_rating_block">
  80. <div>
  81. <strong>{$LANG.RATING}: </strong><span id="karmapoints"><span itemprop="contentRating">{$karma_points}</span></span>
  82.  
  83. <span style="padding-left:10px;color:#999"><strong>Голосов:</strong> <span itemprop="interactionCount" content="UserLikes:">{$karma_votes}</span></span>
  84. <span style="padding-left:10px;color:#999">{$article.hits|spellcount:$LANG.HIT:$LANG.HIT2:$LANG.HIT10}</span>
  85. </div>
  86. {if $karma_buttons}
  87. <div><strong>{$LANG.RAT_ARTICLE}:</strong> {$karma_buttons}</div>
  88. {/if}
  89. </div>
  90. {/if}
  91.  
  92. {* ======================= Шаблон комментариев см. в файле com_comments_view.tpl =============================== *}
  93. </div><!--закрывающий див микроразметки-->
  94.  
  95.  
Далее в шаблон/название шаблона/components/com_comments_view.tpl изменил следующее

  1.  
  2.  
  3.  
  4. {* ========================== Вывод комментариев ================================== *}
  5.  
  6. {* ====================================== Заголовок ============================================ *}
  7. <div itemprop = "reviews" itemscope itemtype = "http://schema.org/Review" >
  8. <div class="cmm_heading">
  9. {$labels.comments} <span itemprop="reviews">({$comments_count})</span>
  10. </div>
  11. </div><!--закрывающий див микроразметки-->
  12. {* ========================= Сообщение о добавлении/удалении коммента ========================== *}
  13. {if $cm_message}
  14. <p style="color:green">{$cm_message}</p>
  15. {/if}
  16.  
  17.  
  18. <div class="cm_ajax_list">
  19. {if $cfg.cmm_ajax}
  20. <script type="text/javascript">
  21. {literal}
  22. var anc = '';
  23. if (window.location.hash){
  24. var anc = window.location.hash;
  25. }
  26. {/literal}
  27. loadComments('{$target}', {$target_id}, anc);
  28. </script>
  29. {else}
  30. {$html}
  31. {/if}
  32. </div>
  33.  
  34. {* ========================= Сообщение об ошибке добавления коммента ========================== *}
  35. {if $cm_error}
  36. <p style="color:red">{$cm_error}</p>
  37. {/if}
  38.  
  39. {* ===================== Ссылки на добавление комментария и подписку ========================== *}
  40. <div id="addcommentlink" src="#">
  41. <table cellspacing="0" cellpadding="2">
  42. <tr>
  43. <td width="16"><img src="/templates/_default_/images/icons/comment.png" /></td>
  44. <td><a href="javascript:void(0);" id="addcommentlink" onclick="{$add_comment_js}">{$labels.add}</a></td>
  45. {if $cfg.subscribe}
  46. {if $is_user}
  47. {if !$user_subscribed}
  48. <td width="16"><img src="/templates/_default_/images/icons/subscribe.png"/></td>
#9 14 июля 2012 в 15:11
Я показал разметку от schema.org/ для статей(http://schema.org/Article) и её подраздела блоги( itemscope="BlogPosting") и +добавил раздел отзывы.
А если связать профиль пользователя сайта и профиль Google+ то вообще здорово будет.

Проверено на трёх сайтах — Google принимает на ура, а вот Яндекс акромя рецептов и товаров магазина ещё ничему не научился cryхотя и утверждает, что поддерживает Схема.орг/ help.yandex.ru/webmaster/?id=1122758
#10 14 июля 2012 в 16:04
AlexSF, а поделиться шаблонами, со страждущими, реально ?
и еще, отслеживал ли в ПС ранжирование и вывод, "до" и "после"?
#11 14 июля 2012 в 16:24


отслеживал ли в ПС ранжирование и вывод, "до" и "после" ?

lezginka.ru

на ранжирование это не влияет ни как, влияет на формирование сниппета.
#12 14 июля 2012 в 16:31

а поделиться шаблонами, со страждущими, реально ?

Все коды смотрите под спойлерами в посте №7
Просто не решился показать прямые коды, так-как длинна поста станет аки скатерть самобранка на 300персон smile

на ранжирование это не влияет ни как

Ну я бы не был так уверен. На одном сайте(на Joomla) я подключил профиль пользователя к профилю Google+. В итоге в снипете Гугла к некоторым статьям стали прикрепляться аватар из Google+. В итоге статьи с аватарам пошли вверх в ранжировании Гугла. Яндекс не отслеживал.

Было бы очень здорово вместо <span itemprop="contentRating"> прикрутить
  1.  
  2. <div itemprop = "aggregateRating"
  3. itemscope itemprop = "http://schema.org/AggregateRating" >
  4. Rated <span itemprop = "ratingValue" > 3.5 </span> /5
  5. based on <span itemprop = "reviewCount" > 11 </span> customer reviews
  6. </div>
  7.  
Но как объяснить ПС, что +1голос = 5звёзд пока не придумал
#13 14 июля 2012 в 18:30
AlexSF,

Все коды смотрите под спойлерами в посте №7


можно просто скопировать код и сохранить как com_content_read2.tpl и при создании статьи использовать шаблон?
#14 14 июля 2012 в 19:51


можно просто скопировать код и сохранить как com_content_read2.tpl и при создании статьи использовать шаблон ?

lezginka.ru
Разумеется. Для этого и показал. Хотя о com_content_read2.tpl даже и не знал zst, так-как меньше недели
общаюсь/работаю с InstantCMS
Сейчас колдую над рэйтингами.

Чтобы в снипетах присутствовали звёзды рейтинга нужно размечать кодом типо такого:
  1.  
  2. <div itemprop = "aggregateRating"
  3. itemscope itemprop = "http://schema.org/AggregateRating" >
  4. Rated <span itemprop = "ratingValue" > 3.5 </span> /5
  5. based on <span itemprop = "reviewCount" > 11 </span> customer reviews
  6. </div>
  7.  
но я ещё не решил эту задачу
При проверке на Гугле должен получаться такой вид:


Item 1
Type: schema.org/aggregaterating
ratingvalue = 5.0
bestrating = 5
bestrating = 5
ratingcount = 3

а сейчас я получаю



Item 1
ratingvalue = +1
bestrating = 1
reviewcount = 3

#15 14 июля 2012 в 21:04
AlexSF, по возможности выложи, если получиться, буду следить за новостями :)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.