我在一个纯粹面向客户的项目中,我一直在使用create-react-app来启动它,它似乎运行良好。但是,我在理解create-react-app和seo时遇到了问题,而且我找不到任何关于两者如何齐头并进的相关文章。项目正在进行中,目前在路由方面使用react-router,在插入元数据方面使用react-document-meta。当我在浏览器和Mozbar(SEO工具栏)中检查页面元素时,我能够看到元数据和标题。但它不会出现在googlefetch和render中——主要是脚本标签。是不是因为metadata是在单独的component-render方法中加载的,所以google加
总结我正在将Schema.orgJSON-LD结构化数据实现到内容非常丰富的React应用程序中。我已正确设置所有内容,但我质疑我的设置方式是否是最佳实践或可接受的?问题我在每个元素中的代码主体中都缩小了标签。我质疑这种方法,因为在整个主体中使用脚本标签似乎效率低下,而不是尝试将它们整合到head标签下的1个大脚本标签下,所有JSON-LD。示例:假设我有一个电子商务类别,页面上有很多产品。每个产品都包含在中.在每个产品div中,我提供了一个schema.org标签。{"@context":"http://schema.org/","@type":"Product","name":"3
如果我想使用Google分析并同时在React中使我的网站SEO友好,最好的方法是什么?目前我使用react-router和fluxpattern来更改路由,然后在componentDidMount中触发一个操作,通过ajax加载我的数据,然后更新发出更改的商店,最后我重新渲染受影响的组件。在ajax加载期间,我发送一个事件,以便我的商店知道ajax正在加载并在我的组件中呈现一个微调器。我注意到,当我将我的跟踪数据发送到Google时,ajax尚未完成加载,我只发送新页面URL而不是标题或我通过ajax加载的任何其他数据(我想这对SEO来说很糟糕这对我的GA数据绝对不利)。这是我的GA
构建具有服务器端渲染的React/Relay/GraphQLSEO友好应用程序的最可靠方法是什么? 最佳答案 前段时间我写了isomorphic-relay和isomorphic-relay-router来解决这个问题。我仍然支持和更新它们,因为它们仍然非常真实。我个人在我的项目中使用这些库,其他人也在生产中使用它们。 关于reactjs-React/Relay服务器端渲染和SEO友好的应用程序,我们在StackOverflow上找到一个类似的问题: http
React应用程序动态地动态呈现组件,因此搜索引擎无法索引页面,并使社交共享复杂化。处理此类问题并使React-Redux应用对SEO友好的最佳做法是什么? 最佳答案 我们需要服务器端渲染来为React应用程序做SEO!让我们将应用程序的架构分为三个部分:一个提供数据的API服务器,一个将与客户端共享代码并呈现HTML的Web服务器,最后是客户端,即在浏览器中运行的代码.基本上,服务器端渲染将允许您的部分代码首先在您的网络服务器上运行。这意味着服务器将首先从您的API获取需要在初始页面的HTML上呈现的数据,然后将这些数据打包并以H
我正在为ExpressJS使用预渲染应用程序。我保留了在index.html页。当我使用mywebsite.com/?_escape_fragment_=时它工作正常,但是当我将fetchasgoogle用于mywebsite.com/时我没有看到任何数据。但是对于?_escape_fragment_=的丑陋格式它就像魅力一样工作。Googlebot会抓取mywebsite.com作为mywebsite.com/?_escape_fragment_=什么时候它被编入索引或者我需要为此做些什么? 最佳答案 FetchasGoogle有
我在单页Web应用程序中使用React和ReactRouter。因为我在做客户端渲染,所以我想用CDN来提供我所有的静态文件(HTML、CSS、JS)。我使用AmazonS3来托管文件,并使用AmazonCloudFront作为CDN。当用户请求/css/styles.css时,该文件存在,因此S3提供它。当用户请求/foo/bar时,这是一个动态URL,因此S3添加了一个hashbang:/#!/foo/bar。这将服务于index.html。在我的客户端,我删除了hashbang,所以我的URL很漂亮。这对我100%的用户来说都很好。所有静态文件都通过CDN提供动态URL将被路由到
例如,如果内容动态加载并具有像“mysite.com/#/some/page”这样的散列URL,那么它是否对SEO友好,或者它不会被Google和Bing编入索引? 最佳答案 由于搜索引擎不运行javascript,您需要为您的页面制作静态html版本,以便它们可以被它们索引,您还应该有一个站点地图。有一个库可以帮助使用phantomjs完成此操作:https://github.com/steeve/angular-seo这在此处进一步解释:http://www.yearofmoo.com/2012/11/angularjs-and
在Angular设置中,我选择了AngularUI-router来在View之间切换。我的配置如下:.config(function($stateProvider,$urlRouterProvider){$urlRouterProvider.otherwise('/app/home');$stateProvider//Nav.state('app',{url:'/app',templateUrl:'templates/navbar.html',abstract:true,controller:'AppCtrlasapp',})//Home.state('app.home',{url:'
我有一个AngularSPA,它根据一些餐厅数据的不同裁剪(请参阅m.amsterdamfoodie.nl)提供各种推荐列表和位置的Googlemap。我希望每个列表都有自己的URL。为了让Google抓取不同的列表,我使用Canvas导航的标签。目前标记会导致View刷新,这在map上非常明显。我可以使用ng-click来防止这种情况发生和$event.preventDefault()(请参阅下面的代码片段),但我需要实现一种更新浏览器URL的方法。但是在尝试Angular的$state或浏览器的history.pushstate,我最终触发了状态更改和View刷新...!因此我的问