gpt4 book ai didi

node.js - Heroku 上 Node.js 服务器中的 Angular SEO : Google Webmaster Tools and Prerender. io

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

按照有关在 heroku 上设置 prerender.io 服务器的文档和教程进行操作后,GWT 仍然在没有数据的情况下获取和呈现我的网站。

prerender.io 正在正确缓存页面,我在 index.html 中设置了片段元标记,在我的 app.js 中设置了 $locationProvider.hashPrefix('!')。

谁能解释一下正确抓取网站的必要条件,或者 GWT 呈现的内容是否不像看起来那么适用?

谢谢!

这是 express 服务器

var gzippo = require('gzippo');
var express = require('express');
var app = express();
app.use(require('prerender-node').set('prerenderToken', 'MYTOKEN'));

var prerender = require('prerender-node').set('prerenderServiceUrl', 'http://blooming-brushlands-2690.herokuapp.com/');
app.use(prerender);
app.use(express.logger('dev'));
app.use(gzippo.staticGzip("" + __dirname + "/dist"));
app.listen(process.env.PORT || 5000);

最佳答案

TL;DR Google 抓取效果很好,但要看看它在 GWT 的 Fetch as Google 中看到了什么:

YOURBASEURL/?_escaped_fragment_=/RESTOFTHEURL

事实证明,GWT 正在使用 prerender.io 的托管进行适当的爬行,因此在删除自托管位后:

var prerender = require('prerender-node').set('prerenderServiceUrl', 'http://blooming-brushlands-2690.herokuapp.com/');
app.use(prerender);

其余的 web.js 是:

var gzippo = require('gzippo');
var express = require('express');
var app = express();
app.use(require('prerender-node').set('prerenderToken', 'MYTOKEN'));
app.use(express.logger('dev'));
app.use(gzippo.staticGzip("" + __dirname + "/dist"));
app.listen(process.env.PORT || 5000);

GWT 适本地获取和呈现。如果您想查看正确获取和呈现的结果,您应该使用YOURBASEURL/?_escaped_fragment_=/RESTOFTHEURL在 GWT 的 Fetch as Google 中。

感谢 Prerender.io 的 Todd 帮助解决这个问题。

关于node.js - Heroku 上 Node.js 服务器中的 Angular SEO : Google Webmaster Tools and Prerender. io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26416421/

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