Uporządkowane dane pola wyszukiwania z linkami do podstron (WebSite)

Pole wyszukiwania z linkami do podstron umożliwia szybkie wyszukiwanie w Twojej witrynie lub aplikacji bezpośrednio na stronie wyników wyszukiwania. Pole to obsługuje wyświetlanie podpowiedzi w czasie rzeczywistym i inne funkcje.

Wyszukiwarka Google może automatycznie wyświetlać pole wyszukiwania treści w Twojej witrynie, gdy pojawia się ona w wynikach wyszukiwania (nie musisz nic robić). Obsługą tego pola wyszukiwania zajmuje się wyszukiwarka Google. Jeśli jednak chcesz, możesz podać odpowiednie informacje, dodając uporządkowane dane WebSite, które mogą pomóc Google w lepszym poznaniu treści umieszczonych w Twojej witrynie.

Jeśli wyszukiwarka Google wyświetla już pole wyszukiwania z linkami do podstron w Twojej witrynie, możesz zarządzać niektórymi aspektami tego pola, dodając uporządkowane dane WebSite.

Jak zaimplementować pole wyszukiwania z linkami do podstron

Aby Twoja strona mogła wyświetlać pole wyszukiwania z linkami do podstron w wynikach wyszukiwania Google, wykonaj te czynności:

  1. Zainstaluj działającą wyszukiwarkę w swojej witrynie lub aplikacji na Androida.

    Zapytania wpisywane w polu wyszukiwania z linkami do podstron mają odsyłać użytkownika do strony z wynikami wyszukiwania ograniczonymi do Twojej witryny lub aplikacji. Do obsługi tej funkcji potrzebujesz więc działającej wyszukiwarki.

    • Witryny: skonfiguruj wyszukiwarkę w swojej witrynie. Ta funkcja przekierowuje zapytanie użytkownika do Twojej strony docelowej, korzystając ze składni określonej przez Ciebie w uporządkowanych danych. Twoja wyszukiwarka powinna obsługiwać zapytania zakodowane zgodnie ze standardem UTF-8.
    • Aplikacje: informacje o sposobie implementowania wyszukiwarki w aplikacji zawiera artykuł Search Overview (Omówienie wyszukiwarki) na stronie dla deweloperów aplikacji na Androida. Twoja aplikacja na Androida musi obsługiwać intencję ACTION_VIEW pochodzącą z wyników wyszukiwania razem z odpowiadającym jej identyfikatorem URI danych podanym w Twoich znacznikach we właściwości potentialAction.target.
  2. Zaimplementuj element uporządkowanych danych WebSite na stronie głównej swojej witryny. Aby ta funkcja działała w przypadku aplikacji, aplikacja musi mieć powiązaną witrynę składającą się przynajmniej z jednej strony internetowej. Kilka dodatkowych wskazówek:
    • Dodaj te znaczniki wyłącznie do strony głównej.
    • Jeśli implementujesz już uporządkowane dane WebSite na potrzeby funkcji nazwy witryn, pamiętaj o zagnieżdżeniu właściwości nazwy witryny w tym samym węźle. Inaczej mówiąc: jeśli nie musisz, nie twórz na stronie głównej dodatkowych bloków uporządkowanych danych WebSite.
    • Zawsze określaj tylko 1 właściwość SearchAction dla swojej witryny i ewentualnie dodatkową w przypadku obsługi wyszukiwania w aplikacji. Musisz określić właściwość SearchAction dla swojej witryny nawet wtedy, gdy Twoim preferowanym celem wyszukiwania jest aplikacja. Dzięki temu, jeśli użytkownik nie wykonuje wyszukiwania na telefonie z Androidem lub nie ma na nim zainstalowanej Twojej aplikacji, wynik wyszukiwania odeśle go do Twojej witryny.
    • Dowiedz się, w którym miejscu na stronie umieścić uporządkowane dane w zależności od używanego formatu.
  3. Przestrzegaj wskazówek.
  4. Zweryfikuj kod za pomocą testu wyników z elementami rozszerzonymi.
  5. Sprawdź swoją implementację wyszukiwarki: skopiuj URL WebSite.potentialAction.target z uporządkowanych danych, zastąp w nim wartość {search_term_string} ciągiem testowym i otwórz powstały w ten sposób URL w przeglądarce. Jeśli np. masz witrynę example.com i chcesz sprawdzić zapytanie „kittens”, otwórz adres https://www.example.com/search/?q=kittens.
  6. Określ preferowany kanoniczny URL strony głównej swojej domeny za pomocą elementu link rel="canonical" we wszystkich odmianach tej strony. Pomoże to wyszukiwarce Google w wyborze adresu URL pasującego do Twoich znaczników. Twój serwer musi obsługiwać kodowanie znaków zgodne ze standardem UTF-8.
  7. W przypadku aplikacji włącz odpowiednie filtry intencji, by obsługiwać adres URL określony przez Ciebie w znacznikach jako docelowa strona aplikacji. Przykład tworzenia filtrów intencji na potrzeby adresów URL występujących w wynikach wyszukiwania Google znajdziesz w artykule o indeksowaniu aplikacji Firebase na Androida.
  8. Możesz wdrożyć kilka stron z uporządkowanymi danymi i dzięki narzędziu do sprawdzania adresów URL zobaczyć, jak Google je odczytuje. Upewnij się, że Twoja strona jest dostępna dla Google i nie jest blokowana przez plik robots.txt lub tag noindex ani nie wymaga logowania. Jeśli strona wygląda dobrze, możesz poprosić Google o ponowne zindeksowanie adresów URL.
  9. Aby na bieżąco informować Google o przyszłych zmianach, prześlij mapę witryny. Możesz zautomatyzować ten proces za pomocą interfejsu Search Console Sitemap API.

Przykład

Oto przykładowy wynik wyszukiwania słowa „Pinterest” w Google, który zawiera pole wyszukiwania z linkami do podstron witryny Pinterest:

Pole wyszukiwania z linkami do podstron w trakcie użycia

Oto przykładowe znaczniki powodujące implementację pola wyszukiwania z linkami do podstron. Pole to korzysta z Twojej wyszukiwarki dostępnej w witrynie:

JSON-LD

Oto przykład z użyciem kodu 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>
Mikrodane

Oto przykład z użyciem mikrodanych:


<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>
  

Oto przykład danych o witrynie i aplikacji zapisanych w postaci kodu 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>

Wytyczne

Aby Twoja witryna mogła się wyświetlać w wynikach z elementami rozszerzonymi, musisz przestrzegać tych wskazówek.

Wyszukiwarka Google może dodać do Twojej witryny pole wyszukiwania z linkami do podstron nawet wtedy, gdy nie umieścisz w niej opisanych tu uporządkowanych danych. Możesz jednak temu zapobiec, dodając do swojej strony głównej tag meta:

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

Definicje typów uporządkowanych danych

Aby Twoje treści mogły wyświetlać się z polem wyszukiwania linków do podstron, uwzględnij wymagane właściwości.

Zmodyfikowany typ WebSite

Wyszukiwarka Google używa zmodyfikowanego typu uporządkowanych danych WebSite do pola wyszukiwania zarówno w przypadku witryny, jak i aplikacji. Pełna definicja znaczników WebSite znajduje się na schema.org, ale wyszukiwarka Google nieco odbiega od tego standardu. Właściwości obsługiwane przez Google:

Właściwości wymagane
potentialAction

Tablica z jednym lub dwoma obiektami SearchAction

Ten obiekt opisuje identyfikator URI, do którego ma zostać przekierowane zapytanie, oraz składnię wysyłanego żądania. Musisz zaimplementować moduł obsługi stron internetowych lub intencji, który może odebrać żądanie i przeprowadzić odpowiednie wyszukiwanie nadesłanego ciągu. Jeśli użytkownik nie korzysta z aplikacji na Androida (lub korzysta z niej, ale nie określił celu intencji w Androidzie), pole wyszukiwania prześle do wskazanej lokalizacji zapytanie w wersji pochodzącej z witryny. Jeśli użytkownik korzysta z urządzenia z Androidem i określił identyfikator URI intencji w Androidzie, pole wyszukiwania prześle tę intencję.

Aby zapewnić obsługę wyszukiwania na komputerze, musisz utworzyć znaczniki SearchAction witryny. Jeśli potrzebujesz też obsługi wyszukiwania w swojej aplikacji, możesz dodatkowo określić dla niej obiekt SearchAction. Każdy obiekt SearchAction musi zawierać te właściwości zagnieżdżone:

Przykład dotyczący witryny

Ten przykładowy kod wysyła żądanie GET do strony 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"
}]

Przykład dotyczący aplikacji

Ten przykładowy kod wysyła intencję w Androidzie do strony 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

Użyj ciągu literału required name = search-term lub dowolnego obiektu zastępczego użytego w polu target. Upewnij się, że obie wartości zmiennej są takie same. Na przykład obie wartości zmiennej we właściwościach targetquery-input używają ciągu 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

Obiekt EntryPoint z właściwością urlTemplate.

Właściwość urlTemplate musi być ciągiem znaków w tym formacie: search_handler_uri{search_term_string}

Na przykład:

https://query.example.com/search?q={search_term_string}
search_handler_uri W przypadku witryn: adres URL modułu obsługi, który odbiera i przetwarza zapytania. W przypadku aplikacji: identyfikator URI modułu obsługi intencji przeznaczonego dla Twojej wyszukiwarki, który przetwarza zapytania.
search_term_string

Ciąg zastępczy, pod który podstawiane jest zapytanie użytkownika, gdy kliknie on w polu wyszukiwania przycisk „Szukaj”. Upewnij się, że ciąg zastępczy, którego używasz w tym miejscu, odpowiada wartości elementu name we właściwości query-input.

url

URL

Określa adres URL witryny, w której nastąpi wyszukiwanie. Podaj tu kanoniczny URL strony głównej swojej witryny, np.: https://www.example.org

Monitorowanie wyników z elementami rozszerzonymi w Search Console

Search Console to narzędzie, które pomaga monitorować skuteczność stron w wyszukiwarce Google. Aby Twoja witryna mogła pojawiać się w wynikach wyszukiwania Google, nie musisz rejestrować jej w Search Console. Jeśli jednak to zrobisz, lepiej zrozumiesz, jak robot Google widzi Twoją witrynę i jak możesz mu ułatwić jej skanowanie. Zalecamy sprawdzenie danych w Search Console w tych przypadkach:

  1. po pierwszym wdrożeniu uporządkowanych danych,
  2. po opublikowaniu nowych szablonów lub zaktualizowaniu kodu,
  3. podczas okresowego analizowania ruchu.

Po pierwszym wdrożeniu uporządkowanych danych

Gdy Google zindeksuje Twoje strony, poszukaj problemów w odpowiednim raporcie o stanie wyników z elementami rozszerzonymi. W idealnej sytuacji powinno się pojawić więcej elementów prawidłowych, a liczba elementów nieprawidłowych nie powinna się zwiększyć. Jeśli zauważysz problemy w uporządkowanych danych:

  1. Napraw nieprawidłowe elementy
  2. Sprawdź opublikowany adres URL, by zobaczyć, czy problem nadal występuje.
  3. Poproś o weryfikację, korzystając z raportu o stanie.

Po opublikowaniu nowych szablonów lub zaktualizowaniu kodu

Po wprowadzeniu istotnych zmian w witrynie monitoruj wzrost liczby nieprawidłowych elementów w uporządkowanych danych.
  • Możesz zauważyć większą liczbę elementów nieprawidłowych, jeśli wprowadzisz nowy szablon, który nie działa, lub jeśli Twoja witryna wykorzystuje istniejący szablon w nowy i nieprawidłowy sposób.
  • Jeśli okaże się, że jest mniej prawidłowych elementów (ale liczba nieprawidłowych elementów się nie zwiększyła), być może na swoich stronach nie umieszczasz już uporządkowanych danych. Użyj narzędzia do sprawdzania adresów URL, by dowiedzieć się, co jest przyczyną problemu.

Okresowe analizowanie ruchu

Analizuj ruch w wyszukiwarce Google za pomocą raportu skuteczności. Zawarte w nim dane pokazują, jak często Twoja strona wyświetla się w wyszukiwarce jako wynik z elementami rozszerzonymi, jak często użytkownicy ją klikają i jaka jest jej średnia pozycja w wynikach wyszukiwania. Możesz też pobrać te wyniki automatycznie za pomocą interfejsu Search Console API.

Rozwiązywanie problemów

Jeśli masz problem z zastosowaniem lub debugowaniem uporządkowanych danych, skorzystaj z tych rozwiązań: