Окно поиска по сайту

Вы можете предложить своим потенциальным клиентам дополнительное преимущество. Разместите у себя специальный код, чтобы пользователь мог выполнять поиск по вашему сайту или приложению прямо на странице результатов. При этом ему будут доступны подсказки в реальном времени и другие функции окна поиска.

Когда ваш сайт появляется в результатах Google Поиска, под ссылкой на него может автоматически показываться ещё одно окно поиска, которое будет относиться только к самому сайту. Вам ничего не нужно будет для этого предпринимать. По умолчанию поиск в этом окне выполняется с помощью технологии Google. Однако вы можете внедрять на веб-страницы структурированные данные типа WebSite, которые помогают Google корректно интерпретировать ваш контент.

Если в Google Поиске уже доступно окно поиска по вашему сайту, вы можете настроить некоторые его параметры, добавив структурированные данные WebSite.

Как реализовать окно поиска по сайту

Как добиться того, чтобы при показе вашего контента в результатах поиска Google показывалось окно поиска:

  1. Интегрируйте поисковую систему в свой сайт или в приложение Android.

    Введя поисковый запрос в дополнительном окне, пользователь будет переадресован на сайт или в приложение и увидит страницу с результатами. Чтобы эта функция работала, вам понадобится настроить поисковую систему.

    • Сайты. Добавьте поисковую систему на сайт. Она будет перенаправлять запросы пользователей на нужную страницу с учетом синтаксиса ваших структурированных данных. Поисковая система должна поддерживать запросы в кодировке UTF-8.
    • Приложения. Узнайте, как интегрировать поисковую систему в приложение. Приложение Android должно поддерживать намерение ACTION_VIEW из результатов поиска и соответствующий URI данных, указанный в свойстве potentialAction.target вашей разметки.
  2. Добавьте элемент структурированных данных WebSite на главную страницу сайта. Приложение обязательно должно быть связано с сайтом, даже если он состоит из одной страницы. В противном случае поиск работать не будет. Дополнительные рекомендации:
    • Добавляйте эту разметку только на стартовую страницу сайта.
    • Всегда указывайте одно свойство SearchAction для поиска по сайту, а другое – для поиска по приложению (если применимо). Обратите внимание, что указывать тип SearchAction для сайта обязательно, даже если поиск в приложении для вас приоритетен. Это необходимо, чтобы у пользователей, которые отправили запрос не с телефона Android или не установили ваше приложение, появился список результатов, относящийся к сайту.
    • Изучите сведения о том, в какой области страницы размещать структурированные данные того или иного формата, который вы используете.
  3. Выполните инструкции, которые обеспечат показ расширенных результатов.
  4. Протестируйте свой код с помощью инструмента проверки расширенных результатов.
  5. Проверьте, как работает ваша поисковая система. Для этого скопируйте URL WebSite.potentialAction.target из структурированных данных, подставьте вместо {search_term_string} тестовый запрос и выполните поиск по этому URL в браузере. Например, если у сайта адрес example.com и вы хотите протестировать запрос kittens (котята), URL будет таким: https://www.example.com/search/?q=kittens.
  6. Укажите предпочтительный канонический URL главной страницы домена, добавив атрибут rel="canonical" на все варианты главной страницы. Это поможет алгоритму Google Поиска выбрать корректный URL для разметки. Обратите внимание, что ваш сервер должен поддерживать кодировку UTF-8.
  7. В приложении включите точные фильтры намерений. Это обеспечит функционирование ведущего к приложению URL, который вы указали в разметке. С примером создания фильтров intent можно ознакомиться для URL Google Поиска можно ознакомиться в статье, посвященной индексированию приложений Firebase.
  8. Опубликуйте страницу и с помощью инструмента проверки URL посмотрите, как она выглядит в результатах поиска Google. Убедитесь, что доступ Google к странице не заблокирован файлом robots.txt или метатегом noindex и для него не требуется авторизация. Если все в порядке, запросите повторное сканирование ваших URL.
  9. Отправляйте нам файл Sitemap, чтобы информировать нас об изменениях на сайте. Отправку такого файла можно автоматизировать с помощью Search Console Sitemap API.

Пример

Ниже приведен пример для запроса "Pinterest" в Google. Среди полученных результатов пользователь увидел окно поиска сразу под ссылкой на нужный сайт.

Использование окна поиска по сайту

Далее приведены примеры разметки для окна поиска по сайту, на котором установлена пользовательская система поиска.

JSON-LD

Нажмите кнопку ниже, чтобы увидеть пример кода в формате JSON-LD.


<html>
  <head>
    <title>The title of the page</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "url": "https://www.example.com/",
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://query.example.com/search?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>
Микроданные

Нажмите кнопку ниже, чтобы увидеть пример кода в формате микроданных.


<div itemscope itemtype="https://schema.org/WebSite">
  <meta itemprop="url" content="https://www.example.com/"/>
  <form itemprop="potentialAction" itemscope itemtype="https://schema.org/SearchAction">
    <meta itemprop="target" content="https://query.example.com/search?q={search_term_string}"/>
    <input itemprop="query-input" type="text" name="search_term_string" required/>
    <input type="submit"/>
  </form>
</div>
  

Нажмите кнопку ниже, чтобы увидеть пример кода JSON-LD для сайта и приложения.

<html>
  <head>
    <title>The title of the page</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "url": "https://www.example.com/",
      "potentialAction": [{
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://query.example.com/search?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      },{
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "android-app://com.example/https/query.example.com/search/?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Рекомендации

Чтобы материалы вашего сайта могли появляться в расширенных результатах, вам необходимо следовать перечисленным ниже рекомендациям.

Алгоритм Google Поиска может добавить окно поиска под ссылкой на ваш сайт, даже если вы не предпринимали действий, описанных в статье. Вы можете избежать этого, указав на главной странице следующий метатег:

<meta name="google" content="nositelinkssearchbox" />

Типы структурированных данных

Чтобы ваш контент мог демонстрироваться в расширенных результатах, необходимо задать все обязательные свойства.

Измененный тип WebSite

Google Поиск использует измененный тип структурированных данных WebSite для окон поиска сайтов и приложений. Подробное описание структурированных данных типа WebSite приведено на сайте schema.org, однако в случае с Google Поиском оно немного отличается от стандартного. Более подробные сведения представлены ниже.

Обязательные свойства
potentialAction

Массив из одного или двух объектов SearchAction.

Объект описывает URI, к которому нужно направить запрос, и синтаксис этого запроса. Вы должны добавить страницу или обработчик намерений, который может получить запрос и выполнить корректный поиск по отправленной строке. Если пользователь не работает с приложением Android (или намерение для Android отсутствует), версия запроса для сайта будет отправлена из поискового окна по указанному маршруту. Если пользователь работает с устройством Android, а URI намерения известен, будет отправлено это намерение.

Чтобы включить поддержку поиска в браузере на компьютере, для сайта необходимо создавать объект SearchAction. Если поддерживается также поиск в приложениях, вы можете дополнительно указать объект SearchAction для вашего приложения. В каждом объекте SearchAction должны быть указаны следующие вложенные свойства:

Пример для сайта

В приведенном ниже примере запрос GET отправлен по адресу https://query.example.com/search?q=user%20search%20string.


"potentialAction": [{
  "@type": "SearchAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://query.example.com/search?q={search_term_string}"
  }
  "query-input": "required name=search_term_string"
}]

Пример для приложения

В приведенном ниже примере намерение Android отправлено по адресу android-app://com.example/https/query.example.com/search/?q=user_search_string.


"potentialAction": [{
  "@type": "SearchAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "android-app://com.example/https/query.example.com/search/?q={search_term_string}"
  }
  "query-input": "required name=search_term_string"
}]
potentialAction.query-input

Text

Используйте строку required name = search-term или любой плейсхолдер, который применяли для свойства target. Убедитесь, что эти два плейсхолдера совпадают. Например, в обоих плейсхолдерах из свойств target и query-input используется строка search-term:


"potentialAction": [{
  "@type": "SearchAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://query.example.com/search?q={search-term}"
  }
  "query-input": "required name=search-term"
}]
potentialAction.target

EntryPoint

Объект EntryPoint со свойством urlTemplate.

В качестве свойства urlTemplate должна быть строка в следующем формате: search_handler_uri{search_term_string}.

Пример:

https://query.example.com/search?q={search_term_string}
search_handler_uri На сайтах применяется URL обработчика, который должен получать и обрабатывать поисковый запрос. В приложениях – URI обработчика намерения для вашей поисковой системы, который должен обрабатывать запрос.
search_term_string

Строка плейсхолдера, который замещается поисковым запросом пользователя, когда он нажимает кнопку "Поиск" в поисковом окне. Убедитесь, что строка плейсхолдера, которым вы пользуетесь, соответствует значению элемента name в свойстве query-input.

url

URL

Указывает на URL сайта, который является целью поиска. Ведет на каноническую главную страницу сайта. Пример: https://www.example.org

Сбор статистики по расширенным результатам в Search Console

С помощью Search Console вы можете собирать данные об эффективности страниц вашего ресурса в Google Поиске. Вам не обязательно регистрироваться в этом сервисе, чтобы ваши страницы попали в результаты поиска. Однако это позволит узнать, как роботы Google воспринимают сайт, и оптимизировать его. Рекомендуем проверять информацию в Search Console в следующих случаях:

  1. После первого размещения структурированных данных
  2. После выпуска новых шаблонов или обновления кода
  3. При регулярном анализе трафика

После первого размещения структурированных данных

Когда ваши страницы будут проиндексированы, проверьте их на наличие ошибок с помощью отчета о статусе расширенных результатов. В идеальном случае количество правильных страниц должно вырасти, а число ошибок и предупреждений – нет. Если в структурированных данных будут обнаружены ошибки, примите следующие меры:

  1. Внесите исправления.
  2. Проверьте исправленную страницу, чтобы узнать, обнаруживаются ли ошибки по-прежнему.
  3. Запросите проверку ресурса, используя отчет о статусе расширенных результатов.

После выпуска новых шаблонов или обновления кода

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

    Анализировать трафик сайта из Google Поиска можно с помощью отчета об эффективности. Из этого отчета вы узнаете, как часто страница появляется в Поиске в виде расширенного результата, с какой регулярностью пользователи нажимают на нее и какова ее средняя позиция в результатах поиска. Эти сведения также можно автоматически получать с помощью Search Console API.

    Устранение неполадок

    Если у вас возникли трудности с добавлением или отладкой структурированных данных, вам помогут ресурсы и сведения, доступные по приведенным ниже ссылкам.