Skip to content

Instantly share code, notes, and snippets.

@aktaumag
Created September 25, 2018 12:04
Show Gist options
  • Save aktaumag/0bd19b252f4cee771b1a106cd0025e31 to your computer and use it in GitHub Desktop.
Save aktaumag/0bd19b252f4cee771b1a106cd0025e31 to your computer and use it in GitHub Desktop.

Выводим микроразметку в разных ситуациях

@aktaumag
Copy link
Author

aktaumag commented Sep 25, 2018

LocalBusiness +условие для WordPress, чтобы выводить только на главной

<?php if( is_front_page() ) : ?>
    <script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "LocalBusiness",
        "name": "РДК Восток",
        "description": "Профессиональная дезинфекция в Хабаровске с грантией 1 год и заключением договора.",
        "url": "https://rdkvostok.ru",
        "address": {
            "@type": "PostalAddress",
            "addressLocality": "Хабаровск",
            "addressRegion": "RU",
            "streetAddress": "ул. Костромская, 27"
        },
        "image": "https://rdkvostok.ru/rdk-price-logo.png",
        "priceRange": "$$",
        "email": "[email protected]",
        "telephone": "+7(4212)688-288"
    }
    </script>
<?php endif; ?>

@aktaumag
Copy link
Author

WPHeader - разметка шапки сайта

Обязательно: заголовок, описание
НЕ обязательно: ключевики

<header itemscope itemtype="http://schema.org/WPHeader">
    <meta itemprop="headline" content="Название сайта">
    <meta itemprop="description" content="Описание сайта">
    <meta itemprop="keywords" content="асфальт, москва, недорого, доставка">
</header>

или

<header itemscope itemtype="http://schema.org/WPHeader">
    <h1 itemprop="headline">Название сайта</h1>
    <span itemprop="description">Описание сайта</span>
    <meta itemprop="keywords" content="асфальт, москва, недорого, доставка">
</header>

@aktaumag
Copy link
Author

aktaumag commented Sep 28, 2018

SiteNavigationElement - разметка для главного меню сайта

Для себя принял решение, что правильно делать так:
(вложенные/выпадающие подменюшки не размечаем)

<?php $wsmmlinkpos = 0; ?>
<ul itemscope itemtype = "http://schema.org/ItemList">
    <li itemprop="itemListElement" itemscope itemtype="http://www.schema.org/SiteNavigationElement">
        <meta itemprop="position" content="<?=++$wsmmlinkpos?>">
        <a itemprop="url" href="урл адрес первой ссылки"><span itemprop="name">Название первой страницы</span></a>
    </li>
    <li itemprop="itemListElement" itemscope itemtype="http://www.schema.org/SiteNavigationElement">
        <meta itemprop="position" content="<?=++$wsmmlinkpos?>">
        <a itemprop="url" href="урл адрес второй ссылки"><span itemprop="name">Название второй страницы</span></a>
    </li> 
    <li itemprop="itemListElement" itemscope itemtype="http://www.schema.org/SiteNavigationElement">
        <meta itemprop="position" content="<?=++$wsmmlinkpos?>">
        <a itemprop="url" href="урл адрес третей ссылки"><span itemprop="name">Название третей страницы</span></a>
    </li>
</ul>
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "ItemList",
  "itemListElement": [{
      "@type": "SiteNavigationElement",
      "position": "1",
      "url": "урл адрес первой ссылки",
      "name": "Название первой страницы"
  },{
      "@type": "SiteNavigationElement",
      "position": "2",
      "url": "урл адрес второй ссылки",
      "name": "Название второй страницы"
  },{
      "@type": "SiteNavigationElement",
      "position": "3",
      "url": "урл адрес третей ссылки",
      "name": "Название третей страницы"
  }]
}
</script>

хотя везде советуют так:

<ul itemscope itemtype="http://www.schema.org/SiteNavigationElement">
    <li itemprop="name"><a itemprop="url" href="#">Link</a></li>
    <li itemprop="name"><a itemprop="url" href="#">Link</a></li>
    <li itemprop="name"><a itemprop="url" href="#">Link</a></li>
</ul>
<nav itemscope itemtype="http://schema.org/SiteNavigationElement">
    <a itemprop="url" href="mysite.com/news/"><span itemprop="name">Новости</span></a>
    <a itemprop="url" href="mysite.com/articles/"><span itemprop="name">Статьи</span></a>
    <a itemprop="url" href="mysite.com/contact/"><span itemprop="name">Контакты</span></a>
</nav>

@aktaumag
Copy link
Author

aktaumag commented Sep 28, 2018

WPFooter - разметка футера

обязательно: год копирайта

<footer itemscope itemtype="http://schema.org/WPFooter">
    <div>MySite.com<span itemprop="copyrightYear">2017</span>. Все права защищены</div>
</footer>

@aktaumag
Copy link
Author

PostalAddress - разметка адреса (можно разметить просто в футере)

<address itemscope itemtype="http://schema.org/PostalAddress">
    <div itemprop="name">название сайта</div>
    <div>
        <span itemprop="postalCode">110575</span>,
        <span itemprop="addressLocality">Россия, Москва</span>,
        <span itemprop="streetAddress">ул. Ленина</span>
    </div>
    <div itemprop="telephone">8-212-85-06</div>
    <div itemprop="email">[email protected]</div>
</address>

@aktaumag
Copy link
Author

WPSideBar - разметка сайдбара (название виджетов в боковой колонки)

<aside itemscope itemtype="http://schema.org/WPSideBar">
    <section>
        <h3 itemprop="name">Группа ВКонтакте</h3>
        <!-- код виджета -->
    </section>
    <section>
        <h3 itemprop="name">Страница Facebook</h3>
        <!-- код виджета -->
    </section>
    <section>
        <h3 itemprop="name">Последние новости</h3>
        <!-- код новостей -->
    </section>
    <section>
        <h3 itemprop="name">Мой опрос</h3>
        <!-- код опроса -->
    </section>
</aside>

@aktaumag
Copy link
Author

aktaumag commented Sep 28, 2018

mainEntityOfPage - указываем главную разметку сайта (основной элемент страницы)

Все страницы по умолчанию имеют разметку WebPage.
Как-будто вместо <body> написано <body itemscope itemtype="http://schema.org/WebPage">

На странице может быть много разных разметок и даже если вставить только одну, то по сути их как-будто две, учитывая WebPage.
Нужно вставить этот тег внутрь самой важной из разметок <link itemprop="mainEntityOfPage" href="канонический-адрес"> , чтобы указать её приоритет над другими.

<div itemscope itemtype="http://schema.org/Product">
    <link itemprop="mainEntityOfPage" href="канонический-адрес-текущей-страницы">
    <span itemprop="name">Название продукта</span>
    ...
</div>

itemprop="mainEntity" - как и первый вариант, но вроде бы хуже и кажется валидацию не проходит. Если не известна каноническая ссылка, то указываем так:

<div itemprop="mainEntity" itemscope itemtype="http://schema.org/Product">
    <span itemprop="name">Название продукта</span>
    ...
</div>

@aktaumag
Copy link
Author

aktaumag commented Sep 29, 2018

AggregateRating - разметка рейтинга

<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
    <meta itemprop="bestRating" content="5">
    <meta itemprop="worstRating" content="1">
    <meta itemprop="ratingValue" content="3.92">
    <meta itemprop="ratingCount" content="133">
</div>

@aktaumag
Copy link
Author

aktaumag commented Sep 29, 2018

Organization +Review +AggregateRating - разметка организации с отзывами и рейтингом

разметка для организации +Place (место), +LocalBusiness (местная фирма), +Restaurant (ресторан)...

Без рейтинга отзывы не разметить.

<div itemscope itemtype="http://schema.org/Organization">
    <link itemprop="mainEntityOfPage" href="https://mysite.com/">
    <link itemprop="url" href="https://mysite.com/">
    <meta itemprop="name" content="MySite.com">
    <meta itemprop="description" content="Это мой сайт для меня">
    <meta itemprop="image" content="https://mysite.com/og-img.jpeg">
    <meta itemprop="logo" content="https://mysite.com/logo.jpeg">
    
    <div class="container">
        <h2>Отзывы</h2>
        <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
            <meta itemprop="bestRating" content="5">
            <meta itemprop="worstRating" content="1">
            <meta itemprop="ratingValue" content="5">
            <meta itemprop="ratingCount" content="3">
        </div>

        <div>
            <div class="rewiew_item" itemprop="review" itemscope itemtype="http://schema.org/Review">
                <div class="rewiew_text" property="reviewBody">Текст отзыва</div>
                <meta property="reviewRating" content="5">
                <div property="datePublished">2006-06-19</div>
                <div itemprop="author">Имя автора</div>
            </div>
            <div class="rewiew_item" itemprop="review" itemscope itemtype="http://schema.org/Review">
                <div class="rewiew_text" property="reviewBody">Текст отзыва</div>
                <meta property="reviewRating" content="5">
                <div property="datePublished">2006-06-14</div>
                <div itemprop="author">Имя автора</div>
            </div>
            <div class="rewiew_item" itemprop="review" itemscope itemtype="http://schema.org/Review">
                <div class="rewiew_text" property="reviewBody">Текст отзыва</div>
                <meta property="reviewRating" content="5">
                <div property="datePublished">2006-05-28</div>
                <div itemprop="author">Имя автора</div>
            </div>
        </div>

    </div>
</div>

@aktaumag
Copy link
Author

aktaumag commented Sep 29, 2018

Ещё, чтобы не забыть расписать

http://schema.org/Article - разметка статьи с контентом (статья, блог, новость)
(обязательно: ) (НЕ обязательно: ) - название статьи, текст статьи, описание, имя автора статьи, дату публикации, рубрику, изображения, видео и т.д.

http://schema.org/Comment - разметка комментария
(обязательно: ) (НЕ обязательно: ) - имя комментатора, дата, текст комментария

http://schema.org/Product - разметка товара +Offer (предложение), +AggregateOffer (сводное предложение)

http://schema.org/ItemList - разметка списка любых сущностей (чаще всего применяется к товарам на странице каталога)

https://schema.org/HowTo (http://schema.org/HowToSection) (http://schema.org/HowToTip) - Для инструкций по самостоятельной работе (подходит для пошаговых руководств и т.д.)

http://schema.org/BlogPosting - Область списка анонсов на главной, рубриках и архивов
(обязательно: ) (НЕ обязательно: ) - название статьи, текст статьи, описание, имя автора статьи, дату публикации, рубрику, изображения, видео и другие;

http://schema.org/ContactPage - Страница контактов

http://schema.org/Person (http://schema.org/Person) Персона (тип для описания человека)

http://schema.org/Event Событие (тип для проводимых мероприятий)

http://schema.org/WPAdBlock - Реклама
разметка рекламного блока (наверное своей внутренней рекламы, когда можно разметить название, описание и т.д.)

https://schema.org/Question - Вопросы и ответы (блок с часто задаваемыми вопросами)

Творческие произведения: CreativeWork (творческое произведение), Book (книга), Movie (фильм), MusicRecording (музыкальная запись), Recipe (рецепт), TVSeries (телесериал)...

Встроенные нетекстовые объекты: AudioObject (аудио), ImageObject (изображение), VideoObject (видео)
Изображение (itemscope="" itemtype="https://schema.org/ImageObject")

https://schema.org/LikeAction - узнать подробнее. Есть и другие Акшионы.

https://schema.org/WebSite (разузнать подробности применения) (WebSite представляет собой набор связанных веб-страниц и других элементов, обычно обслуживаемых из одного веб-домена и доступных через URL-адреса.)

@aktaumag
Copy link
Author

aktaumag commented Aug 7, 2019

BreadcrumbList - разметка для хлебных крошек

Обращаем внимание, что у последнего элемента нет ссылки и ссылка прописана в meta теге

<ol itemscope itemtype="http://schema.org/BreadcrumbList">
    <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
        <a itemprop="item" href="https://example.com/dresses">
            <span itemprop="name">Dresses</span>
        </a>
        <meta itemprop="position" content="1" />
    </li>
    <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
        <a itemprop="item" href="https://example.com/dresses/real">
            <span itemprop="name">Real Dresses</span>
        </a>
        <meta itemprop="position" content="2" />
    </li>
    <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
        <meta itemprop="item" content="https://example.com/dresses/real/man" />
        <span itemprop="name">Real Dresses</span>
        <meta itemprop="position" content="3" />
    </li>
</ol>

@aktaumag
Copy link
Author

Источник: https://t.me/drmaxseo/56

Как выбрать категорию бизнеса для микроразметки.

Все компании должны добавлять разметку Organization - Schema.org на свои сайты. С помощью этой разметки вы подтверждаете поисковым системам кто вы и чем занимаетесь.

Если у вас правильная, развернутая страница «О компании» с расписанными видами деятельности, юридическими и физическими реквизитами, с корпоративными изображениями компании/завода/офиса – то рекомендую внедрять структурированные данные Organization и на главную, и на страницу «О компании». Разметка (структурированные данные) должны быть максимально заполнены.

В иных местах и на иных страницах эта разметка не нужна.

Здесь указываем (и это минимум, который вы должны включить в разметку):
• Тип компании
• Название компании
• Официальный сайт
• Адрес
• Официальный логотип
• Описание
• Социальные аккаунты
• Уникальный идентификационный URL

Оффлайн компании должны использовать «Корпорацию», а не более общую «Организацию». Собственно говоря, большинство компаний должны использовать Corporation, как более точный тип, чем просто "Организация" (если нет иных типов первого уровня, более подходящих для вас).

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

В идеале вы должны выбрать ту же категорию, что и в Google My Business (GBP). Однако, поскольку My Business и Schema.org не используют одну и ту же категоризацию, это не всегда возможно. Выберите максимально близкое совпадение. Их более 100 штук, так что можно выбрать подходящее.

Если вы не нашли максимально подходящую категорию для своего бизнеса, вы можете создать ее. Найдите страницу в Википедии, которая раскрывает вашу бизнес-категорию, добавьте ее в конец этого URL

http://www.productontology.org/doc/

и добавьте «additonalType» к вашей разметке.

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

Ищем описание пивного магазина (Beer Shop) в Википедии:

https://en.wikipedia.org/wiki/Beer_shop

берем Beer_shop - часть URL после /wiki/ и подставляем эту часть к productontology.org. Вот что выходит:

http://www.productontology.org/doc/Beer_shop

Для нас крайне важно описание (реферат), которое продуктонтология подтягивает из вики. Опираясь на это описание Google и будет выстраивать сущности, связанные с этой пивнушкой.

В итоге получаем вот такую конструкцию:

"additionalType" : "http://www.productontology.org/doc/Beer_shop "

Которую и добавляем в свою микроразметку

————————-
цитируется по "SEO Монстр Next"

@aktaumag
Copy link
Author

aktaumag commented Jan 16, 2023

Разметка формы поиска

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

<script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "WebSite",
        "url": "https://wseo.pw/",
        "potentialAction": {
            "@type": "SearchAction",
            "target": {
                "@type": "EntryPoint",
                "urlTemplate": "https://wseo.pw/search/?q={input-name}"
            },
            "query-input": "required name=input-name"
        }
    }
</script>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment