web-dev-qa-db-fra.com

Indexation de page SPA basée sur AngularJS

J'ai récemment travaillé sur un portail basé sur AngularJS. L'un des principaux domaines du portail consiste à répertorier les offres d'emploi disponibles pour l'organisation. À l'heure actuelle, Google indexe certaines de nos offres d'emploi. Étant donné que les emplois expirent et que de nouveaux emplois sont régulièrement mis à jour, Google n'a en fait pas toujours les dernières données.

Lorsque je vérifie si quelques liens de travail sont indexés sur la console de recherche Google, certains des liens de travail le sont, mais seule la section racine de SPA est indexée (aucun contenu de travail disponible sur la page indexée), certains rencontrent une erreur de redirection et quelques-uns ne sont pas en mesure de charger les scripts JS requis pour afficher correctement la page, même si aucun des scripts n'est hébergé en externe.

Quelle est la bonne façon de gérer l'optimisation des moteurs de recherche pour les applications d'une seule page? Dois-je créer une version parallèle de la page traitée qui serait servie au robot?

Dois-je écrire un planificateur pour créer un sitemap.xml pour répertorier toutes les tâches disponibles et le pousser pour analyse? Même dans ce cas, comment forcer la suppression des tâches périmées?

3
Paras

Vous pouvez supprimer des tâches périmées avec la balise Si j'étais à votre place, je ferais une partie du menu pour mener aux travaux dans un sous-onglet ou quelque chose. Le fait de disposer d'un lien vers eux que Google détecte peut considérablement aider à l'indexation.

Au tout début du mois d'avril, Google a bousillé et désindexé de nombreuses pages de personnes pour "Page avec redirection". Ils ont travaillé pour le corriger et pour la réindexation. La terre de moteur de recherche a fait un article là-dessus. https://searchengineland.com/does-google-owe-us-more-than-just-an-apology-over-de-indexing-315468

J'ai inclus les informations de balise non disponible_after au bas de cette page ...

non disponible_après: [date/heure RFC-850] Ne pas afficher cette page dans les résultats de recherche après la date/heure spécifiée. La date/heure doit être spécifiée au format RFC 850.

2
Leonard Treman
  1. Assurez-vous que votre SPA est correctement rendu par Google. Habituellement, lorsque Google explore la page racine, il suit les liens tels qu'il les trouve. Pour vérifier si votre page est correctement affichée par Google, téléchargez Chromium version 41. Suivez cet article sur searchengineland.com Priorités pour diagnostiquer les sites Web basés sur JavaScriptCrawling the modern web

    Recherchez d'éventuelles erreurs dans Chromium 41, ce qui revient généralement à ajouter des polyfills pour prendre en charge les anciennes versions des navigateurs

  2. Assurez-vous que vos balises Title, Meta et Canonical sont restituées côté serveur (recommandé pour Google). Veuillez vous référer à cette vidéo Fournissez des sites Web propulsés par JavaScript (Google I/O '18) . Il est préférable de considérer le rendu côté serveur, mais la vidéo explique une architecture hybride où vos balises Title, Meta et Canonical sont envoyées côté serveur et le reste du code est rendu côté client. Google a son propre outil de navigateur sans tête appelé Puppeteer qui vous aidera avec le rendu côté serveur Headless Chrome: une réponse aux sites JS de rendu côté serveur
  3. Envisagez de créer un plan du site dynamique dans lequel vos URL sont mises à jour automatiquement lorsque vous les ajoutez à votre site Web. Cela rendra les nouvelles pages faciles à découvrir pour Google
  4. Réduisez le temps de réponse de votre serveur, ce qui donnera à Google une indication qu'il peut explorer les pages à un bon rythme
1
Shahzeb Qureshi