草庐IT

prerender-spa-plugin

全部标签

javascript - 带有 pushstate SEO 的可爬取的 javascript spa

我制作了一个单页应用程序。我读过以下文章create-crawlable-pushstate.我在使用hashbang时遇到了问题。这对我来说似乎是一个解决方案。但我不太确定我是否了解那里发生的事情。这是文章中的示例://We'reusingjQueryfunctionstomakeourlivesloadseasier$('nava').click(function(e){url=$(this).attr("href");//Thisfunctionwouldgetcontentfromtheserverandinsertitintotheid="content"element$.g

asp.net-mvc - 使用 Angular 和 ASP.NET MVC(不是 SPA)的 SEO

我有一个使用ASP.NETMVC和AngularJS的混合架构。我使用ASP.NETMVC进行路由,所以我没有单页应用程序。我在我的ASPView中使用init()方法将我的C#ViewModel注入(inject)AngularController:@modelAddictLive.Core.ViewModel.Mobile.ViewModels.MovieViewModel@usingNewtonsoft.Json...为了在我的AngularController中获取我的ViewModel,我使用:$scope.init=function(movieViewModel){$sco

angularjs - Prerender.io 与 AngularJs 应用程序中的 CRUD 冲突

我正在使用prerender.io使我的AngularJS网站可抓取。但是,自从我开始使用prerender.io以来,我的大部分CRUD请求(例如更新、删除)都会返回nginx405NotAllowed响应。原始(工作)nginx位置block(在使用prerender.io之前):location/{try_files$uri$uri//index.php?$query_string;}当前位置block(由于Google正确显示静态html,CRUD不起作用):location/{try_files$uri@prerender;}当前预渲染blocklocation@preren

seo - 使 Durandal SPA 网站 SEO 友好

我正在尝试使单页应用程序可抓取,并已成功按需创建HTML快照,但我很难理解“#”片段是否被视为“漂亮的URL”,或者它是否只是“#!“?我读过http://durandaljs.com/documentation/Making-Durandal-Apps-SEO-Crawlable.html和https://developers.google.com/webmasters/ajax-crawling/docs/specification在我看来只有“#!”是一个漂亮的URL,但Durandal不支持它。不过它支持pushState。根据最后一个链接,如果页面已经在使用漂亮的URL,则不

javascript - 如何检测请求是来自 prerender.io(爬虫)还是来自 JavaScript 中的真实用户(浏览器)?

我想检测请求是来自prerender.io(当请求来自爬虫时用于呈现angularjs应用程序的库)还是来自真实用户。如果请求来自prerender,那么我必须重定向到仅包含专为SEO目的而设计。我尝试设置cookie来检测,但它不起作用,因为prerender.io执行javascript代码,甚至cookie/session存储在prerender.io中工作。经过一些研究,我发现我们可以检测到用户代理,因为prerender.io在headless浏览器(即phantomJS)中调用站点if(/PhantomJS/.test(window.navigator.userAgent)

html - REACT spa 应用程序 - 为 SEO、优点和缺点提供单独和不同的预渲染静态 html

如果您提供针对SEO优化的精简版页面,如果机器人爬行,并且如果人们来自网络,那么ReactSPA完全是javascript应用程序,这是否有任何好处或缺点。基本上问题是,是否有实践像简短的HTML版本一样实际服务,它只包含SEO重要的东西,并为机器人撕掉所有其他内容,为用户撕掉整个页面。是否有人使用过此技术的任何用例或示例? 最佳答案 这将被视为Cloaking由爬虫并可能使您的网站在搜索结果中受到惩罚。如果您提供预呈现页面,您需要确保它是您的用户在执行javascript后将看到的确切页面,以防止任何隐藏真实内容的问题。

node.js - 使用 REST 服务的 SPA 中的同构

我目前正处于一个新项目的规划阶段,该项目由一个店面、一个高度react性的用户仪表板和通过店面提供的单个产品组成,这些产品是高度互动的迷你应用程序。我们试图摆脱使整个平台成为SPA的局面,并在Flux架构上设计整个事物,并为前端View使用React。与大多数SPA一样,一个问题是SEO。我已经基于este.js开发栈制作了一个同构解决方案的原型(prototype)。一个问题是我们的应用程序几乎所有数据都来自RESTful服务器,该服务器独立于为SPA提供服务的Web服务器。这意味着Web服务器需要从RESTful服务器获取大量数据,以同构方式生成HTML快照。我考虑过让我自己的一个

angularjs - Prerender.io 不缓存我的页面

所以我正在尝试设置prerender.io对于我的带有ExpressJS后端的AngularJS应用程序,遵循此tutorial.我完全按照指示做了,唯一的区别是我启用了HTML5mode.我已经包含了meta(name="fragment"content="!")在我的index.jade和我的server.js的预呈现token文件(使用prerender-node包),但不知何故我的页面似乎没有被缓存或生成任何抓取统计信息。config.coffeeangular.config['$stateProvider','$urlRouterProvider','$locationPro

reactjs - SPA 的 React-router 和 google 缓存页面

我对google结果中的react-router和google缓存页面有疑问。在这种情况下,我们有一个SPA,它使用react-router(通过browserHistory),这里的问题是:google缓存页面是一个页面包装器,其中URL-a与SPA路由器中定义的URL不同,在在这种情况下,应用程序的路由属于未找到页面的定义。(示例)Google的SPA页面缓存结果,而不是显示页面内容显示组件PageNotFoundApp(找不到页面的路由*)。您是否知道如何解决所描述的问题? 最佳答案 一个选项是使用onEnter事件拦截路由逻

angular - 仅使用 prerender.io 客户端预渲染 Angular 7 SPA

我有一个Angular7应用程序,我在其中尝试预呈现页面以支持网络爬虫/搜索引擎优化。我已经决定要使用prerender.io来促进预渲染、缓存和为这些爬虫提供静态HTML,但我正在努力将它们的中间件安装到我的Angular7应用程序中。我想弄清楚我是否可以以纯粹的客户端方式使用prerender.io,因为我不是从节点服务器提供Angular服务,我只是在CDN中托管静态文件。根据theirdocs,有一个我可以安装的中间件,它会检测网络爬虫何时发出页面请求,并将请求重定向到预渲染服务器。但是,我找到的所有示例都涉及修改某些后端节点服务器。我不能全部在客户端执行此操作吗?我的问题是: