首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么Google不索引我的AJAX获取的内容?

为什么Google不索引我的AJAX获取的内容?
EN

Stack Overflow用户
提问于 2017-08-29 10:39:12
回答 2查看 393关注 0票数 0

我有一个使用ReactJS构建的网站,我试图在componentDidMount方法中添加一个使用AJAX获取数据的新页面。

该页面有一些静态组件,例如导航条和页脚,它在获取数据之前显示一个加载程序,但奇怪的是,当我提交url作为Google进行抓取时,它显示的是一个完全空白的页面。

对我来说,这似乎很奇怪,因为我预期如果Google不等待我的AJAX调用的返回,它至少应该向我展示作为Google结果的Fetch中的导航条、脚注和加载程序。

这就是密码:

代码语言:javascript
运行
复制
import React from 'react'; 
import axios from 'axios';
import CustomLoader from './CustomLoader';
import AppBar from './AppBar';

export default class GamePage extends React.Component{
    constructor(){
        super();
        this.state={loading:true,description:''};
    }
    componentDidMount(){
        axios.get(`/someinternalAPI`).then((response)=>{
            this.setState({description:response.data,loading:false});
        });
    }

    render(){
        return(<div>
                    <AppBar />
                    {this.state.loading ? <CustomLoader /> : this.state.description}
                </div>);
    }

}
EN

Stack Overflow用户

发布于 2017-08-29 11:57:14

简单地说,Google的爬虫不解析动态内容。

好的做法是确保动态加载的内容也可以在静态链接上访问,所以当您导航到“yourwebsite.com/page1 1”时,它至少应该显示通常加载了axios的静态文本,这样爬虫就可以知道您的网站/应用程序上的内容。

进一步的解决办法将是利用服务器端呈现,这是搜索引擎优化友好,并解决问题,如你,因为它预先在服务器端的所有内容和网站本身,并提供完整的网站。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45936969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档