Я опубликовал сайт reactjs, который опирается на запросы AJAX (запросы POST на API-интерфейсе graphQL, если это необходимо) для отображения данных.Google fetch and render отображает содержимое, полученное AJAX
Использование сервиса google console fetch & render service, я вижу, что отображаются только мои компоненты, которые не должны вызывать какой-либо API. Любой компонент на основе AJAX не отображается вообще.
Google fetch & рендеринг показывает мне 2 изображения рендеринга моего сайта (google vs visitor), но оба они не имеют содержимого 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>
);
}
};
В моем браузере, я могу увидеть все хорошо («Статическое содержимое» + плательщикам, которые редко выбираются асинхронно). Но с помощью google fetch и render я вижу 2 скриншота с отображаемым только «Статическим контентом».
В результате мой динамический контент не отображается в результатах поиска Google.
Опубликовать соответствующий код. Трудно определить проблему без дополнительной информации –