草庐IT

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

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,则不

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快照。我考虑过让我自己的一个

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,有一个我可以安装的中间件,它会检测网络爬虫何时发出页面请求,并将请求重定向到预渲染服务器。但是,我找到的所有示例都涉及修改某些后端节点服务器。我不能全部在客户端执行此操作吗?我的问题是:

angularjs - nginx escape_fragment 重写 Angular SPA 的静态内容

我有一个有Angular的SPA并生成了静态html页面,以便网络爬虫能够找到并抓取该网站。我将以下代码片段添加到我的nginx站点配置中。if($args~"_escaped_fragment_=/?(.+)"){set$path$1;rewrite^/snapshots/$pathlast;}虽然这对像/abc这样像?_escaped_fragment_=abc这样被抓取的页面的所有子文件夹都有效,但在根url/在?_escaped_fragment_=为空的地方抓取。在这种情况下,nginx会回退到/并提供.js应用程序而不是静态内容。知道正确的重写语句是什么样子的吗?或者我到底

node.js - 在服务器端使用 node.js + express.js 在 SPA(单页应用程序)中动态生成内容的 SEO

我的客户端代码是一个单页应用程序(用knockout.js编写),它有自己的路由系统,所以当谷歌爬虫机器人尝试访问链接时(这与从后端请求新页面无关,只是一个客户端路由的一部分)它会要求服务器(node.js+express.js)提供页面(例如“mywebsite/about”),当然服务器会返回404,因为它不知道客户端路由系统。这是我当前的服务器代码:router.get('*',function(req,res,next){res.sendFile(path.resolve('../dist/index.html'));});我的想法是定义与客户端相同的路由结构,并在搜索参数中为

seo - 如果我的网站在 SPA 中开发,谷歌是否会惩罚搜索引擎的预渲染服务?

我已经说过很多次“如果你想要SEO可用,你永远不应该在SPA中开发你的网站”。有人告诉我,如果您的SPA返回一个空的index.html给最终用户,如下所示:demo并且您使用搜索引擎的预呈现服务,爬虫将检索完整呈现的html内容。这意味着最终用户和爬虫获取的html内容是不同的。如果我们这样做,我的网站将被谷歌惩罚。谁能给我一份关于这个的官方文件? 最佳答案 这不是隐藏真实内容,我们(Google)不会因此受到处罚。请看AjaxCrawlingScheme,它本质上描述的是同一件事,只是它适用于不同的URL。您可以在任何URL上执