我通过prerender.io表达中间件软件包prerender-node成功地使用了prerender.io服务。
我从机器人/探针/重定向的缓存结果中没有发现很多污染。
我正在尝试实施黑名单。
prenderer节点状态,我可以使用类似以下的方法做到这一点:
if (env === 'production') {
console.log('production environment, prerender.io enabled')
const prerender = require('prerender-node').set('prerenderToken', '******')
prerender.blacklisted(
[
'#!',
'/#!/',
'^/#!/.*'
]
)
app.use(prerender)
}
在此示例中,我只是试图从缓存中过滤掉所有hahsbang URL。
即https://example.com/#!/some/url
但是它似乎没有用。部署此代码后,并清除缓存的结果。缓存中充满了包含“#!”的结果。
Prerender-node README(https://github.com/prerender/prerender-node
)指出,这应该是简单的正则表达式。
正则表达式模式在此处进行验证:https://regex101.com/
答案 0 :(得分:0)
与预先提交的作者联系后,他们指出
实际上#!
被重定向为?_escaped_fragment_=
因此:
const prerender = require('prerender-node').set('prerenderToken', '******')
prerender.blacklisted('_escaped_fragment_');
app.use(prerender)
...似乎按预期工作。