Google宣布“时代变了。今天,只要您不阻止Googlebot抓取您的JavaScript或CSS文件,我们通常能够像现代浏览器一样呈现和理解您的网页”,这是否意味着甚至如果我们不在服务器上生成html快照并提供给Googlebot,它会抓取我们使用angularjs开发的网站。 最佳答案 Google确实不再需要它了。但其他服务可能会使用它。请参阅:https://webmasters.stackexchange.com/questions/86262/should-we-drop-ajax-crawling-scheme
所以我正在尝试设置prerender.io对于我的带有ExpressJS后端的AngularJS应用程序,遵循此tutorial.我完全按照指示做了,唯一的区别是我启用了HTML5mode.我已经包含了meta(name="fragment"content="!")在我的index.jade和我的server.js的预呈现token文件(使用prerender-node包),但不知何故我的页面似乎没有被缓存或生成任何抓取统计信息。config.coffeeangular.config['$stateProvider','$urlRouterProvider','$locationPro
我刚刚上传了我的第一个有Angular的网站。当我在Google上查看它是否被编入索引时,我看到了:它是设置动态标题/描述的动态Angular代码..我怎样才能避免这种情况?! 最佳答案 为了使没有散列片段的页面可抓取,您需要包含标记在页面HTML的头部。但是,您的情况的完整解决方案可能是https://prerender.io/ThePrerender.iomiddlewarethatyouinstallonyourserverwillcheckeachrequesttoseeifit'sarequestfromacrawler.
我正在开发一个动态的angular网站(使用html5mode删除#)。它使用Elasticsearch获取一些数据并呈现内容。nginx负责映射到Elasticsearch和我的网站根目录。为了让整个网站具备SEO功能,我正在尝试整合prerender,使用本地实例(http://localhost:3000)。我拼命尝试将预渲染魔法与nginxlocation/angular_test结合使用。默认的nginxprerender中间件配置不适用于location。在下面找到我的nginx配置:upstreamelasticsearch{zoneelasticsearch64K;se
我有一个大量使用AngularJS/AJAX的网络应用程序,我希望它可以被Google和其他搜索引擎抓取。我的理解是我需要做一些特别的事情才能让它工作,如下所述:https://developers.google.com/webmasters/ajax-crawling不幸的是,这看起来很讨厌,我不想引入散列标签。我想做的是直接或通过向其发送302重定向向Googlebot(基于用户代理)提供静态页面。这样,Web应用程序就可以相同,并且整个Googlebot变通办法都很好地隔离,直到不再需要它为止。我担心的是Google可能会错误地认为我在试图欺骗Googlebot,而我的目标是帮助
我有一个有Angular的SPA并生成了静态html页面,以便网络爬虫能够找到并抓取该网站。我将以下代码片段添加到我的nginx站点配置中。if($args~"_escaped_fragment_=/?(.+)"){set$path$1;rewrite^/snapshots/$pathlast;}虽然这对像/abc这样像?_escaped_fragment_=abc这样被抓取的页面的所有子文件夹都有效,但在根url/在?_escaped_fragment_=为空的地方抓取。在这种情况下,nginx会回退到/并提供.js应用程序而不是静态内容。知道正确的重写语句是什么样子的吗?或者我到底
我有一个单页AngularJS应用程序,我希望初始页面呈现包含所有相关信息作为HTML,以便在禁用JavaScript的情况下抓取它。为简单起见,我考虑只添加一个替代的HTML版本,它会在Angular应用程序加载时隐藏。这种方法(提供完整的预渲染副本)有什么缺点?Angular应用程序从呈现为页面一部分的JavaScript对象中提取数据,我很高兴能够忍受数据被发送两次。 最佳答案 Google定义了一个规范,允许您在所有必要的Javascript都运行到搜索引擎之后提供页面HTML的快照。这得到了Google、Bing、Yand
我有一个AngularJS单页应用程序,用于显示短期资源,其url类似于/auction/103。但是,当资源不再可用时,我希望从搜索引擎的索引中删除该页面。因此,当搜索引擎爬虫经过时,我需要返回状态码410或404。但是,对于页面未在服务器上呈现的单页面应用程序,我该如何做到这一点? 最佳答案 当您使用Prerender进行SEO时,您可以指定一个元标记,使Prerender向搜索引擎爬虫返回一个http状态代码:https://prerender.io/server#http-headers.我创建了一个Plunker来使用An
Angular应用程序索引的现状如何?有很多谣言说谷歌了解Angular客户端编译。但我们仍在努力让它理解我们的动态标题。可以看看here.UPD:也在GoogleForums上询问.UPD2:现在它不存在了,但这只是因为我将默认文本放入其中并使用了ng-attr-,如下所示: 最佳答案 Google在SPA上花费的时间似乎比在标准网站上花费的时间更多。当我插入我的投资组合时,我也有同样的想法。推送后大约两周,结果是“人类可读的”,这是当前结果的屏幕截图: 关于angularjs-SEO
我们都知道HTML5语义标签的最大优势之一是SEO。但是SEO是否认为所有(阅读自定义、非HTML5)标签都是语义的?假设我正在制作一个电子商务门户网站,它使用AngularJS前端销售鞋子,并使用如下自定义Angular指令:我知道shoeClass对Google机器人来说是不可见的,因为在编译AngularJS之前它不存在,但DOM本身确实存在于静态HTML中。因此,标签肯定对机器人可见。但是机器人会理解这个标签吗?这会给我加分吗(考虑到SEO的所有其他方面都得到了照顾,并且我使用Meteor或PhantomJS提供静态预渲染页面)?或者机器人会将标签丢弃为乱码?