Markup processing rules

Markup processing rules

If you would like to add contact information, use the form titled “Addresses and organizations”in the “Site location” section of the Yandex.Webmaster service. This method of submitting contact information does not implicitly differ from using microformats to mark up site pages. Data submitted through the Yandex.Webmaster form is also added to the Organizational registry and is displayed in various Yandex services.

Yandex processes cards according to the rules defined in the format specification.

Data structure requirements

The classes stipulated by hCard format may be arbitrarily combined with other CSS classes. Thus, the class attribute of the card's root element may contain, in addition to the name of the vcard class, any set of names of the classes that are not hCard classes. For example:

<div class="vcard footer">...</div>

The same applies to elements that are card properties.

However, there are certain restrictions on combining hCard classes with each other. It is not permissible to mark an element of the vcard class with another hCard class. Users are also strongly discouraged to nest properties; for example, to place an element with the tel class inside an element with the adr class (such a construct could be processed incorrectly). An exception is made for nested properties that are explicitly listed in the standard, such as the nested properties country-name, region, locality, street-address, extended-address, and postal-code for the adr property, and the nested properties latitude and longitude for the geo property, etc.

Rules for value extraction

In most cases, the value of a property is the text that is contained within the element of the respective class and is visible to site visitors. Some elements are exceptions to the above rule:

  • The <abbr> element with the title attribute: the value of the property is the value of this attribute. Example:
    <abbr class="tel" title="+ 7 (890) 123-45-67">123-45-67</abbr>
    The browser displays the value “123-45-67”, while the value of the tel property is “+ 7 (890) 123-45-67”.
  • The <a> element with the href attribute for URL properties (i.e. properties that have a URL for a value, namely the url, email, logo, and photo properties): the value of the property is the value of the href attribute.


    <a class="fn org url" href="">Cafe Camomile</a>

    The value of the url property is “”.

    For fn and org properties that are not URL properties, the value will be “Cafe Camomile”.

  • For the <img> element with the src attribute for URL properties: the value of the property is the value of the src attribute.

  • For the <img> element with the alt attribute for non-URL properties: the value of the property is the value of the alt attribute.

    <img class="logo fn org" alt="Cafe Camomile" src="images/logo.gif">
    The value of the logo property is “images/logo.gif”, the value of the fn and org properties is “Cafe Camomile”.

In addition, you can distinctively mark part of the element's visible text as the value of the property. To do this, you should add a nested element with the value class to the element.

<div class="tel">Information: <span class="value">+7 (890) 123-45-67</span></div>
In this case, the value of the tel property is “+7 (890) 123-45-67”.

If you would like to make a property value invisible to site visitors (display a different text in place of the value, or not display anything at all), you may use a nested element of the value-title class with the title attribute. In this case, the value of the property is the value of the title attribute.


<div class="tel"> <span class="value-title" title="+7 (890) 123-45-67">123-45-67</span> </div>
<div class="tel"> <span class="value-title" title="+7 (890) 123-45-67"> </span> 123-45-67 </div>

In both cases, the value of the tel property is “+7 (890) 123-45-67”. The second variant lets you avoid the appearance of a pop-up message containing the “real” value of the property whenever the user's mouse pointer is moved over the telephone number.