我可以在 SearchAction 上使用友好的 URL 吗?

Can I use a friendly URL on SearchAction?

我目前 URL 的搜索是这个:

https://example.com/search/key/seach_word_here

JSON-LD

<script type='application/ld+json'>
[
  {
   "@context":"http:\/\/schema.org",
   "@type":"WebSite",
   "@id":"#website",
   "url":"https://example.com",
   "name":"Example",
   "potentialAction":{
    "@type":"SearchAction",
    "target":"https:https://example.com/search/key/{search_term_string}",
    "query-input":"required name=search_term_string"
    }    
  },

  {
   "@context":"http:\/\/schema.org",
   "@type":"Organization",
   "url": "https://example.com",
   "name": "Example",
   "logo":"https://example.com/img/logo.png",
   "@id":"#organization", 
   "sameAs": ["https://www.facebook.com/example"]
  }

]
</script> 

如您所见,我在 target.

上使用了友好的 URL

我看到有人在 URL 上使用这样的查询字符串:

https://example.com/?search={search_term_string} 

我没看到有人在 target 上使用友好的 URL。不允许吗?

https://developers.google.com/search/docs/data-types/sitelinks-searchbox 它说:

Verify your search engine implementation by copying the WebSite.potentialAction.target URL from your structured data, replacing search_term_string with a test query, and browsing to that URL in a web browser. For example, if your website is example.com, and you want to test the query "kittens", you would browse to https://www.example.com/search/?q={kittens}.

我测试了这个 url https://example.com/search/hey/{search_word_here} 并且我没有找到 404,但是这个 URL 有效:https://example.com/?p=search&tp=key&word={search_word_here}.

所以我的问题是:我可以在target上使用友好的URL吗?我的代码片段中的代码是正确的吗?

当然,您必须使用 URL

Google 将使用 target URL 作为他们的附加链接搜索框,这样用户就可以在 Google 的 SERP 上搜索并最终到达你的内部 SERP。如果您指定 target URL 导致 404 页,则拥有此功能毫无意义,并且 Google 没有兴趣为您的结果启用它。

如果 URL 恰好是友好的(例如,没有查询组件),so be it

同意@unor的上述解决方案,现在回答你的代码更正

请检查发布的目标 url JSON-LD:-

 "target":"https:https://example.com/search/key/{search_term_string}",

删除双 https:

同样在 JSON-LD 的情况下:您不能将名称值映射到 /{search_term_string}

正确的做法总是这样:-

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebSite",
  "url": "[website url]",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "[website search url]={search_term}",
    "query-input": "required name=search_term"
  }
}
</script>

微数据:-

<div itemscope itemtype="http://schema.org/WebSite">
  <meta itemprop="url" content="[website url]"/>
  <form itemprop="potentialAction" itemscope itemtype="http://schema.org/SearchAction">
    <meta itemprop="target" content="[website search url]={search_term}"/>
    <input itemprop="query-input" type="text" name="search_term">
    <input type="submit">
  </form>
</div>