我已經發布了一個reactjs網站,該網站依賴於AJAX請求(在graphQL API上發出POST請求,如果相關的話)來顯示數據。Google控制檯抓取並呈現的確會顯示AJAX抓取的內容
使用Google控制檯提取&呈現服務,我可以看到只有我的組件不需要調用任何API。任何基於AJAX的組件都不會被渲染。
谷歌取回&呈現確實顯示我2我的網站(谷歌vs訪客)呈現圖片,但都缺少AJAX內容。
服務器渲染在這種情況下是強制性的嗎?
我沒有robots.txt文件。
我做這樣的事情:
import React, { Component } from 'react';
import { observer } from 'mobx-react';
import { observable, runInAction } from 'mobx';
import axios from 'axios';
import ContributorList from '~/components/global/ContributorList';
import type { User } from '~/types';
import CSSModules from 'react-css-modules';
import styles from './style.less';
@observer
@CSSModules(styles)
export default class Footer extends Component {
@observable contributors: Array<User> = [];
async loadContributors() {
const { data: {
data: data
} } = await axios.post('/', {
query: `
{
users {
id,
name,
slug,
avatar {
secure_url
}
}
}
`
});
runInAction(() => {
this.contributors = data.users;
});
}
componentDidMount() {
this.loadContributors();
}
render() {
return (
<div styleName='contributors'>
{ 'Static content' }
<ContributorList
contributors={ this.contributors }
/>
</div>
);
}
};
在我的瀏覽器,我可以看到一切正常(「靜態內容」 +貢獻者罕見獲取異步)。但通過谷歌獲取和渲染,我看到2個屏幕截圖僅顯示「靜態內容」。
因此,我的動態內容未顯示在Google搜索結果中。
發佈一些相關的代碼。沒有附加信息很難查明問題 –