node.js - ExpressJS 动态生成页面 - 搜索引擎会根据查询参数创建列表吗?

标签 node.js express mongoose

我正在创建一个地理区域内本地企业的目录网站。我们希望,如果您搜索“纽约市的管道工”之类的内容,您将看到一个指向该域的链接,该链接将显示纽约市 10 英里半径内的所有管道工记录。

假设我的路线设置如下:

app.get('/location', function(req, res) {
    if (req.query.zip) { // Search by zip code
        mongoose.model('cities').find({zipCode: req.query.zip}, function(err, entries) {
            if (err) throw err;
            res.render('location.ejs', {data: entries});
        });
    }
});

因此,像“http://www.example.net/location?zip=10001”这样的传入 URL 将从邮政编码 10001(纽约市)中提取记录,并且页面将显示该区域中的所有条目。它将生成一个 h1 标签、标题等,以及与查询字符串 zip 关联的城市。

既然页面会根据url参数动态生成,那么搜索引擎是否能够抓取所有可能的邮政编码并创建准确的搜索列表?换句话说,搜索引擎是否足够智能,可以根据上述示例从我的网站中显示“纽约市的公司”等列表?

最佳答案

简短的回答,不。搜索引擎也许能够通过递增方法发现新页面,但这不是预期或可预测的行为。

最简单的解决方案是一个页面链接到所有其他页面,从而允许搜索引擎发现它们。

将这些页面编入索引后,访问者应该能够通过关键字“纽约市的公司”访问 URL 类似于“http://www.example.net/location?zip=10001”的页面。

我建议您还生成一个 sitemapthis module以及您的邮政编码列表。

关于node.js - ExpressJS 动态生成页面 - 搜索引擎会根据查询参数创建列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31305936/

相关文章:

node.js - 如何从 socket.io 中访问 req.session 变量?

javascript - 为什么 mongo 中的新文档有一个对象而不是 ObjectId?

windows - 有没有办法在 Windows 环境下通过 npm 升级 nodejs 版本?

javascript - 如何获取从 Node 服务器到 AngularJS Controller 的请求路径变量值

node.js - 使用 Sequelize 进行数据库迁移后,列名不同

javascript - Node.JS、ExpressJS、React 和 HTML JSON 渲染

mongodb - geoNear 异常 : 'near' field must be point

node.js - Mongoose 进行身份验证导致超时

javascript - 如何顺序处理websocket消息

oracle - 如何在 Windows 中连接 Oracle 11g 和 nodejs?