form 表单通过 GET 方式提交的 URL,怎样自定义它的形式?

2017-02-16 13:02:18 +08:00
 Reign

目前网站的站内搜索功能,想按照 microdata 方式来写, schema.org 给出的参考例子为: https://schema.org/SearchAction , 如下代码:

<link itemprop="url" href="http://www.example.com/"/>

<form itemprop="potentialAction" itemscope itemtype="http://schema.org/SearchAction">

      <meta itemprop="target" content="http://example.com/search?q={query}"/>
      
  <input itemprop="query-input" type="text" name="query"/>
  
  <input type="submit"/>
  
</form>
这样 form 表单最终生成的 URL 就不是伪静态的了,与 SEO 的原则违背,我想最终提交的表单生成的 URL 为这种样式: www 。 example 。 com/search/this-is-my-query-words.html ,目前只想到两种方法:
  1. 用 js 阻止 form 的 submit(),然后用 js 构造 URL 再跳转
  2. form 表单提交后的 URL ,服务器 header 301 的跳转到 www 。 example 。 com/search/this-is-my-query-words.html

上面两种方法貌似都不太好,求 V2 们给出最合理的答案,谢谢

2919 次点击
所在节点    程序员
7 条回复
Felldeadbird
2017-02-16 13:10:24 +08:00
你用 form GET 提交就会变成不友好的。所以用第一个方法吧。
1762628386
2017-02-16 13:14:15 +08:00
表单 GET 方式提交的 URL 搜索引擎根本不感兴趣 也不会去抓取 也没法去抓取
Reign
2017-02-16 13:14:46 +08:00
@1762628386 我会将用户搜索的 URL 存到 sitemap 里面去
nfroot
2017-02-16 13:41:02 +08:00
扯了这么长还是没说清楚自己想要什么样的。

“求 V2 们给出最合理的答案”

你是要我们玩猜谜游戏吗,那起码给点提示好么
eirk2004
2017-02-16 14:29:09 +08:00
http://example.com/search?q={query}
->
http://example.com/search/this-is-my-query-words.html

写一条 rewrite 规则,我没理解错吧
keller
2017-02-16 15:33:34 +08:00
seo ? 弄个热门搜索呗
halden
2017-02-17 02:47:38 +08:00
搜索引擎好像不会去抓你动态生成的 query words 吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/340864

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX