Google analytics 如何使react应用程序SEO友好

Google analytics 如何使react应用程序SEO友好,google-analytics,seo,reactjs,react-router,Google Analytics,Seo,Reactjs,React Router,如果我想使用谷歌分析,同时使我的网站搜索引擎优化友好的反应,什么是最好的方式 目前,我使用react router和flux模式更改路由,然后在componentDidMount中启动一个操作,通过ajax加载数据,然后更新发出更改的存储,最后重新呈现受影响的组件。在ajax加载过程中,我发送一个事件,以便我的存储知道ajax正在加载并在我的组件中呈现一个微调器 我注意到,当我将我的跟踪数据发送到Google时,ajax还没有完成加载,我只发送新页面URL,而不是通过ajax加载的标题或任何其他

如果我想使用谷歌分析,同时使我的网站搜索引擎优化友好的反应,什么是最好的方式

目前,我使用react router和flux模式更改路由,然后在componentDidMount中启动一个操作,通过ajax加载数据,然后更新发出更改的存储,最后重新呈现受影响的组件。在ajax加载过程中,我发送一个事件,以便我的存储知道ajax正在加载并在我的组件中呈现一个微调器

我注意到,当我将我的跟踪数据发送到Google时,ajax还没有完成加载,我只发送新页面URL,而不是通过ajax加载的标题或任何其他数据(我想从SEO的角度来看,这是不好的,对我的GA数据肯定是不好的)

这是我的GA设置(我使用react GA):

如果可能的话,我希望能够有一个单一的GA跟踪点。我还希望页面的SEO处理是正确的:

  • 页面标题
  • OG数据
  • H1
  • 等等
解决这个问题的最佳方法是什么

我应该为此使用react router中的WillTransitiono选项吗?(如果我选择此解决方案,是否可以使用加载微调器?)

如果我找不到任何相关的好例子,我将如何以适当的方式处理WilltTransistion解决方案


我是否应该添加更多代码,或者我是否清楚我想要实现什么?

在商店获得新数据并呈现后触发ga.pageview。

在react中处理SEO的适当方法是在服务器端使用
react.renderToString同构呈现,以便任何搜索引擎都能看到处于完整状态的页面,而不仅仅是谷歌的蜘蛛,而且只有在你手动调用它的时候

这是React最初的设计标准之一

Router.run(routes, Router.HistoryLocation, function(Handler, state) {
    ga.pageview(state.pathname);
    React.render(<Handler />, document.body);
});
componentDidMount: function() {
    ItemStore.addChangeListener(this._onChange);

    if(itemSlug) {
        ItemActions.loadItemBySlug(this.props.slug);
    }
}
statics: {
    willTransitionTo: function (transition, params, query, callback) {
        // LOAD AJAX HERE ?
        callback();
    }
}