---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.2
alternate:
  - https://yandex.ru/support/webmaster/en/hcard/markup-processing-rules.md
  - https://yandex.ru/support/webmaster/ru/hcard/markup-processing-rules.md
  - href: en/hcard/markup-processing-rules.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/webmaster/en/llms.txt


# Markup processing rules

To add contact information, use the **Site geography** → **Addresses and organizations** form in Yandex Webmaster. Submitting contact information through the form is the same as marking up the site pages. Data submitted through the Yandex Webmaster form is also added to [Yandex Business](http://sprav.yandex.ru/) and displayed in various Yandex services.

Yandex processes cards according to the [rules defined in the format specification](http://microformats.org/wiki/hcard#Human_vs._Machine_readable).


## Data structure requirements {#datastructure}

The classes provided by hCard format can be combined with other CSS classes. For example, the `class` attribute of the card's root element can contain, in addition to the `vcard` class name, any set of non-hCard class names:

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

The same applies to the elements that are card properties.

There are restrictions on combining hCard classes. It isn't allowed to mark a`vcard` class element with another hCard class. Also, it isn't recommended to nest properties. For example, you can't place a `tel` class element inside an `adr` class element (this structure might be processed incorrectly). An exception is made for nested properties that are explicitly listed in the standard, such as `country-name`, `region`, `locality`, `street-address`, `extended-address`, `postal-code` properties nested in the `adr` property;  `latitude` and `longitude` properties nested in the `geo` property, and so on.


## Rules for extracting values {#valueextraction}

In most cases, the property value is the text contained within the element of the corresponding class and visible to the users. Some elements are exceptions:

- The `<abbr>` element with the `title` attribute: the value of the property is the value of this attribute. Example:
    ```xml
    <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 the URL properties (that is, properties that have a URL for the value, namely `url`, `email`, `logo` and `photo`): the value of the ` href` attribute is assigned as the value of the property.
    
    Example:
    
    ```xml
    <a class="fn org url" href="http://www.cafe.com">Cafe Camomile</a>
    ```
    
    The `url` property value is “http://www.cafe.com”.
    
    For the `fn` and `org` properties that are not URL properties, the value is “Camomile Cafe”.
    
- The `<img>` element with the `src` attribute for URL properties: the value of the `src` attribute is assigned as the value of the property.
    
- For the `<img>` element with the `alt` attribute for non-URL properties: the value of the `alt` attribute is assigned as the value of the property.
    
    Example:
    ```xml
    <img class="logo fn org" alt="Cafe Chamomile" src="images/logo.gif">
    ```
    The value of the `logo` property is “images/logo.gif”, and the value of the `fn` and `org` properties is “Camomile Cafe”.
    

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

Example: 
```xml
<div class="tel">Inquiry office: <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”.

To make a property value invisible to site visitors (display a different text on the page instead of it, or nothing at all), use a nested element of the `value-title` class with the `title` attribute. In this case, the value of the `title` attribute is assigned as the value of the property.

Examples:

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

```xml
<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 option lets you avoid showing a pop-up with the “actual” value of the property whenever the user mouses over the phone number.


<div class="cut-button">

{% cut "Contact support" %}

<!-- source: en/_includes/popup/id-popup/form-intro.md -->
Tell us what your question is about so we can direct you to the right specialist:
<!-- endsource: en/_includes/popup/id-popup/form-intro.md -->


{% cut "How often is markup generated?" %}


The markup is created within two weeks. If Yandex doesn't support any of the markup types on a page or the markup is incorrect, it skips it.


{% endcut %}

{% cut "There was no suitable markup" %}


The Yandex robot will be able to index the site information even without markup, and it doesn't affect displaying pages in the search results. To set the desired page description in the search results, use the [Description](https://yandex.ru/support/webmaster/en/indexing-options/description.md) meta tag.


{% endcut %}

{% cut "Error in the structured data validator" %}


For a detailed description of errors, see [Structured data validator](https://yandex.ru/support/webmaster/en/yandex-indexing/validator.md).


{% cut "Error could not be fixed" %}



<div style="padding: 15px;
      margin: 10px 0;
      background: #FFFFFF;
      border-radius: 10px;
      border: 1px solid var(--yc-color-line-generic);">
  <iframe style="background: #FFFFFF;"
        height="700"
        width="100%"
        frameborder="0"
        src="https://forms.yandex.ru/surveys/5252/?&iframe=1&lang=en">
  </iframe>
</div>



{% endcut %}


{% endcut %}

{% cut "Other questions about the partner program or markup" %}



<div style="padding: 15px;
      margin: 10px 0;
      background: #FFFFFF;
      border-radius: 10px;
      border: 1px solid var(--yc-color-line-generic);">
  <iframe style="background: #FFFFFF;"
        height="700"
        width="100%"
        frameborder="0"
        src="https://forms.yandex.ru/surveys/5252/?&iframe=1&lang=en">
  </iframe>
</div>


{% endcut %}

{% endcut %}

</div>


<!-- source: en/_includes/footer.md -->
<div width="100%" align="center" class="main-footer"> 
<br><br><br>
You can also go to 
<br><br>


[![](../_assets/logo/logo-pic.svg)](https://webmaster.yandex.ru/) [![](../_assets/logo/logo-ru.svg)](https://webmaster.yandex.ru/)





</div>


<!-- source: en/_includes/styles/footer-style.md -->

<!-- endsource: en/_includes/styles/footer-style.md -->
<!-- endsource: en/_includes/footer.md -->

<!-- source: en/_includes/cut-button-style.md -->

<!-- endsource: en/_includes/cut-button-style.md -->



<!-- source: en/_includes/remove-minitoc.md -->

<!-- endsource: en/_includes/remove-minitoc.md -->
