Rich Snippets

This will be implemented with tagto.

Tagto is coming ! :]

Rich Snippets

Rich Snippets is a definition, apparently coined by google itself, to group some existing and different technics for semantic markup and vocabularies, that can be integrated to html or xml, that describe page contents a little bit more meaningfully for both machines and humans and that can be used by google to show more information about an SERP's item.

Rich Snippets group primarily, three technologies:

Accordingly to google, Rich Snippets are supported by google search in a way that it enriches and differentiates a SERP's item from other ones, and gives webmasters a better return in hits/visits to their websites and also better ranking over time.

Google's Rich Snippets

All rich snippets available to a webmaster can be found on google documentation. Links are bellow:

Google supports rich snippets for these content types:

Is it possible?

We don't know yet, this is a "study", but we will try to find a way to do it. Even if some of it is not possible with PmWiki current doctype declarations and markup (xhtml).


Here we will start the tests to certify that it is possible. For the examples we are going to use RichSnippets examples for the 3 technologies that follow.

Here is the example code in html:

My name is Bob Smith, but people call me Smithy. Here is my home page:
<a href=""></a>.
I live in Albuquerque, NM and work as an engineer at ACME Corp.
My friends:
<a href="">Darryl</a>,
<a href="">Edna</a>


In this example and with just a quick visual inspection of the code, we can see that there is a span nesting and AFAIK, that is not possible with current PmWiki markup. Still microformats can be used with PmWiki.

<div class="vcard">
   My name is
   <span class="fn">Bob Smith</span>,
   but people call me
   <span class="nickname">Smithy</span>.
   Here is my home page:
   <a href="" class="url"></a>.
   I live in
   <span class="adr">
      <span class="locality">Albuquerque</span>,
      <span class="region">NM</span>
   and work as an
   <span class="title">engineer</span> at
   <span class="org">ACME Corp</span>.
   My friends:
   <a href="" rel="friend">Darryl</a>,
   <a href="" rel="friend">Edna</a>


Here we find the same problem, nesting spans... Not that, when writing a recipe, one cannot use html markup directly and bypass all the code related to restriction of some of the features that raw html has.

But no, it is not possible to write this with current PmWiki markup.

Perhaps trying to expand wikistyles a little bit, it would be possible.

<div itemscope itemtype="">
  My name is <span itemprop="name">Bob Smith</span>, 
  but people call me <span itemprop="nickname">Smithy</span>.
  Here is my homepage: 
  <a href="" itemprop="url"></a>.
  I live in 
  <span itemprop="address" itemscope
    <span itemprop="locality">Albuquerque</span>, 
    <span itemprop="region">NM</span> 
  and work as an <span itemprop="title">engineer</span>
  at <span itemprop="affiliation">ACME Corp</span>.
  My friends:
  <a href="" rel="friend">Darryl</a>, 
  <a href="" rel="friend">Edna</a>


Nesting spans again, so it also not possible. Even if you tried other "possible" alternatives, like using the div markup and css propertie display:inline, it wouldn't be possible to do it.

<div xmlns:v="" typeof="v:Person">
   My name is <span property="v:name">Bob Smith</span>,
   but people call me <span property="v:nickname">Smithy</span>.
   Here is my homepage:
   <a href="" rel="v:url"></a>.
   I live in
   <span rel="v:address">
      <span typeof="v:Address">
         <span property="v:locality">Albuquerque</span>,
         <span property="v:region">NM</span>
   and work as an <span property="v:title">engineer</span>
   at <span property="v:affiliation">ACME Corp</span>.
   My friends:
   <a href="" rel="v:friend">Darryl</a>,
   <a href="" rel="v:friend">Edna</a>

Wikistyles and ParseArgs examples

Attempt to use atributes with ":" in the middle, like xml:lang

%xml:lang=en class=example %'''example'''


Attempt to use atributes with ":" in the middle, like xml:lang .

(:div xml:lang=ro class=example:)


Attempt to use atributes with ":" in the middle, like xml:lang, plus rev and rel attributes.

%rev=45 rel=friends xml:lang=li%[[Example/Example|Example]]


Attempt to nest spans.

%rel=nofolow xml:lang=pt-bt% %typeof="v:Address"%lalala%% %%


Attempt to nest spans.

%rel=nofolow xml:lang=pt-bt% %typeof="v:Address"%lalala%% %%


My preliminary Conclusion

There is no point in trying to expand current WikiStyles accepted html attributes, if we cannot nest spans. We can nest divs but, it would not be semantically correct to use it in the examples above.

I believe there is also difficulties in ParseArgs and wikistyle into accepting attributes that use ":" in the middle, like xml:lang...

I need to do more testing to write a final conclusion but, the solution I see in the meanwhile is to create new markup, to be able to write nesting spans, and to use attributes in tags like b, i, em, strong and others.