制作SEO友好的形式

时间:2012-08-22 17:30:53

标签: javascript jquery forms html5 seo

我想知道是否有可能在不使用JS或者以搜索引擎友好的方式更改表单提交数据的方式

我有两个非常基本的形式。第一个包含一个下拉菜单,允许您选择一个主题。另一个用于完全相同的目的,它只允许您在文本框中键入主题(并使用自动完成),而不是从长列表中选择它。

目前,两个表单都以GET方法提交数据,因此相同选择的基本提交将产生以下URL:

http://example.com/subject/?text=XXXXXX

(我正在使用.htaccess重写/使用实际的php脚本...)

我想要做的是让URL看起来像这样:

http://example.com/subject/XXXXXX

目前我的.htaccess会识别这两个没有问题的网址,我只是想知道是否有办法使用第二种方法提交表单而不使用JS或任何SE友好方法

4 个答案:

答案 0 :(得分:1)

要发送表单,所有http客户端(浏览器和SE,虽然我不知道SE是否填写和发送表单)将构造名称=值对。您可以通过触摸表单的action属性来更改它(并且可能在发送之前删除变量),但这当然需要Javascript。

没有JS,你就无法改变它,因为这就是表格必须发送的方式。

如果您想索引搜索引擎友好的URL,我认为您最好的选择是使用.htaccess指令重定向,但这只能在您收到参数化的URL后发生。

答案 1 :(得分:1)

您可以使用所有网址制作选项列表,如果禁用了js(SE),则显示此列表(并隐藏表单)。如果启用了js,则显示表单。

您可以在css中隐藏表单并使用js将其设置为可见。或者使用js生成整个表单。

答案 2 :(得分:0)

搜索引擎蜘蛛不会提交表单。您必须将列表中所需的项目放在蜘蛛会找到它们的页面中的其他位置 - 例如在组合框上方的段落中。你可以将它们放在元描述或关键字标签中,但前提是它们实际上很重要 - 如果谷歌决定你试图在页面中进行过多的优化,谷歌会惩罚你的排名。

答案 3 :(得分:0)

根据我的经验,最佳解决方案是添加一个小的解析器脚本来修复URL格式,并对新链接进行302重定向。

换句话说,假设表单提交了以下链接:

http://example.com/subject/?text=XXXXXX

PHP脚本将收到链接,将部分替换为:?text = XXXXXX with XXXXXX,并将用户重定向到新页面。

这个解决方案可以为我们节省.htaccess的复杂性,让我们在将来更灵活地维护表单。