I've begun a Next.js project for my internship, and I have a big problem... Google bots doesn't index my main content. I have used getStaticProps to fetch my data (from WordPress API). I give you some screenshot from my code.
and this is the website link : https://www.famillebonnie.com
export async function getStaticProps(context) {
const datasMenuItems = await fetcherWpMenu(context.locale, "menu-items", "GET", "principal")
const idHomepage = (
context.locale === "fr" ? 10
: context.locale === "en" ? 60
: context.locale === "es" ? 274
: 283
)
const datasPage = await fetcherWp(context.locale, "pages", "GET", idHomepage)
const datasOptions = await fetcherACF("options/options", "GET", context.locale)
const datasMenuItemsFooter = await fetcherWpMenu(context.locale, "menu-items", "GET", "footer")
return {
props: {
datasMenuItems,
datasPage,
datasOptions,
datasMenuItemsFooter
},
revalidate: 5
}
}
useEffect(() => {
function renderPageContent() {
if (datasPage.acf.multiblocs) {
const datas = datasPage.acf.multiblocs.map((item, key) => {
const ComponentName = item.acf_fc_layout
/*const DynamicACF = dynamic(() => import(`../components/blocks/` + ComponentName), {
suspense: true,
ssr: true,
loading: () => <div className="loading"><CircleLoader size={150}/></div>
})
return <DynamicACF datas={item} key={item.acf_fc_layout + key}/>*/
switch (ComponentName) {
case 'banniere_photovideo':
return <Banniere_photovideo datas={item} key={item.acf_fc_layout + key}/>
break
case 'mainblock_texte_image':
return <Mainblock_texte_image datas={item} key={item.acf_fc_layout + key}/>
break
case 'presentation_vins':
return <Presentation_vins datas={item} key={item.acf_fc_layout + key}/>
break
case 'press_medias':
return <Press_medias datas={item} key={item.acf_fc_layout + key}/>
break
case 'texte_image':
return <Texte_image datas={item} key={item.acf_fc_layout + key}/>
break
case 'texte_simple':
return <Texte_simple datas={item} key={item.acf_fc_layout + key}/>
break
}
})
setContent(datas)
} else if (!datasPage.acf.multiblocs && page.content.rendered) {
setContent(page.content.rendered)
} else {
setContent("<p>Aucun contenu</p>")
}
}
renderPageContent()
}, [datasPage])