gpt4 book ai didi

ajax - 用于 SEO 的 CouchDB URL 重写

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:31:33 25 4
gpt4 key购买 nike

我正在尝试使用大量客户端 Jquery/AJAX 魔法创建一个完全托管在 CouchDB 上的整个站点(也没有 nginx 反向代理)。现在我正在让它对 SEO 友好。我正在使用虚拟主机和 URL 重写将流量从根路由到我的 index.html 文件:

虚拟主机:

example.com/dbname/_design/dd/_rewrite/

在我的重写定义中:

rewrites:[
{
"from": "/db/*",
"to": "/../../../*",
"query": {
}
},
{
"from": "/",
"to": "../../static/index.html",
"query": {
}
}
]

When optimizing a site for SEO, Google requires you to do a few things :

  • 在您的友好 URL 中使用哈希符号 (#!) 告诉网络爬虫您是一个具有网络可爬网 Material 的 AJAX 站点:http://example.com/index.html#!home
  • 使用 http 查询参数提供该 AJAX 页面的 HTML 转义片段:http://example.com/index.html?_escaped_fragment=home

我尝试了以下但没有成功:

rewrites:[
{
"from": "/db/*",
"to": "/../../../*",
"query": {
}
},
{
"from": "/",
"to": "../../static/index.html",
"query": {
}
}, /* FIRST ATTEMPT */
{
"from": "/?_escaped_fragment=:_escaped_fragment",
"to": "/_show/escaped_fragment/:_escaped_fragment",
"query": {
}
}, /* SECOND ATTEMPT */
{
"from": "/?_escaped_fragment=*",
"to": "/_show/escaped_fragment/*",
"query": {
}
}, /* THIRD ATTEMPT */
{
"from": "/",
"to": "/_show/escaped_fragment/:_escaped_fragment",
"query": {
}
}
]

据我所知,CouchDB 的 URL 重写器无法区分带 args 和不带 args 的 URL 之间的区别。有没有人幸运地通过 CouchDB URL 重写创建了这样的规则?

最佳答案

我没有这个问题的答案,但我已经开发了一个解决方案来解决更大的问题,即在 CouchDB 上托管可抓取的网站。这是一个利用 Facebook's React 的系统、listshow 函数、客户端上的 ajax 和 window.history 来呈现在 CouchDB 和浏览器中填充了数据的相同 HTML 组件:

https://github.com/fiatjaf/reactive-couch

此解决方案不需要 hashbang,因为对于浏览器导航到的每个唯一 URL,使用 ajax 和 window.history 或简单链接(_list/listName/viewName/_show/displayKind/c305ee4d-8611-4e08-b9d3-3318835632a9 或重写为 /name//kind/c305ee4d-8611-4e08- b9d3-3318835632a9), 服务器可以渲染相关内容。

关于ajax - 用于 SEO 的 CouchDB URL 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18677356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com