web-dev-qa-db-fra.com

Comment structurer mon application Web progressive de manière à ce que les moteurs de recherche trouvent facilement le contenu généré par les utilisateurs?

Super noob-ish question, j'en suis sûr, mais c'est la première fois que je construis une application Web destinée aux consommateurs. Pour éviter d'être fermé pour duplication, cette question est très spécifique à React + GraphQL.

Je crée un site Web qui aura beaucoup de contenu généré par les utilisateurs, et il est extrêmement important que le contenu soit optimisé pour pouvoir être trouvé par les moteurs de recherche. Cependant, le contenu va être stocké dans une base de données quelque part et récupéré via des requêtes GraphQL. Comment structurer mon application Web de manière à ce qu'il soit facile pour les moteurs de recherche de trouver du contenu généré par l'utilisateur? Quelles sont les décisions architecturales et les modèles à respecter dès le début?

Je sais qu'il y a beaucoup de paquets pour aider avec cela (Helm, React-Router, Next/Razzle), mais comment puis-je rassembler toutes ces différentes parties de la meilleure façon possible?

Des exemples de code aideraient certainement à clarifier les choses.

1
Meme Overlord

Je pense que cela est tout à fait faisable, bien que cela représente certainement plus de travail qu'un site rendu de manière statique. La plus grande chose à faire est de vous assurer que votre le contenu est rendu au robot de recherche Google . Googlebot exécute JavaScript en général, mais vous devrez éviter ou transpiler tout ES6 et ne pas utiliser d’API qui n’existent pas dans Chrome 41. Et assurez-vous que vos pages sont bien présentées à Googlebot en les récupérant. dans Google Search Console pour voir comment ils sont rendus.

Avec l'approche standard, vos miles peuvent varier en fonction des moteurs de recherche autres que Google. Si vous souhaitez présenter aux robots d'exploration de moteur de recherche des éléments plus élémentaires que ceux de Google, vous voudrez regarder dans prérendering . Le pré-rendu fait en sorte que votre serveur renvoie une page déjà rendue lorsque l'utilisateur (ou le robot) la charge.

Plus d'informations sur ce qu'est le pré-rendu:

https://www.netlify.com/blog/2016/11/22/prerendering-explained/

1