web-dev-qa-db-fra.com

Est-il convivial pour le référencement de désactiver les clics sur les liens en JavaScript lorsque le clic est géré avec AJAX ou Angular?

Si j'utilise la balise d'ancrage comme:

<a href="/page1" onclick="return false;">page 1</a>
  • Les moteurs de recherche le verront-ils?
  • Passera le lien jus à elle?
  • Est-ce correct pour le référencement?

J'utilise angular4 pour construire mon site. Si vous utilisez une balise d'ancrage, le href recharge l'application ou la page, si j'utilise l'attribut routerLink en tant qu'angular4, l'application change de page sans recharger la page ou l'application, comme ajax. En outre, le contenu sera chargé à partir d'une base de données, à partir d'un éditeur wysiwyg. Par conséquent, le site ne peut pas être rechargé à chaque fois que l'utilisateur clique sur des liens. À cet égard, je peux passer l'URL de l'événement à une fonction routerLink sans perdre le "lien"

2
jcdsr

Vous devez reconsidérer la manière dont vous gérez les événements de clics. Dans la plupart des cas, les utilisateurs ne seront pas dérangés s’ils doivent recharger la page.

Une autre observation serait que les gestionnaires d'événements en ligne sont obsolètes. Les méthodes ne sont pas compatibles avec l'approche moderne de comportement et de séparation des structures. Vous devriez utiliser preventDefault().

Mais pour répondre à votre question, chaque navigateur a défini ses comportements par défaut et les méthodes pour les éviter. Ce qui est attendu est que lorsqu'un utilisateur clique sur un lien, le navigateur charge la page spécifiée dans <a href=”...”>. Dans votre cas, avant que le navigateur ne respecte son comportement par défaut, il doit d'abord exécuter le gestionnaire d'événements. Par conséquent, si vous spécifiez return false, le lien ne sera jamais suivi.

La bonne nouvelle est que les robots ou les robots Web ont également leur propre comportement par défaut et ne se comportent pas comme des navigateurs. Nous pouvons donc nous attendre à ce qu'ils trouvent tout le contenu de l'attribut hrefs et, par défaut, suivent les liens.

Tant que l’URL href définie est accessible et que les ressources sont accessibles, se charge seule (aucun lien cliqué) et crée une toute nouvelle page Web crawlable sans aucun problème de référencement ou d’équité de lien.

2
Raul Reyes

Empêcher les clics sur les liens de charger de nouvelles pages facilite le référencement, à condition que:

  • Lorsque les utilisateurs cliquent sur ce lien, ils voient le contenu de la page 1.
  • Lorsque les utilisateurs et les robots consultent l'URL /page1, le contenu de la page 1 est chargé et visible.

Il est même préférable d'utiliser pushState pour modifier l'URL visible par l'utilisateur lorsqu'il clique sur le lien. Ensuite, l'utilisateur verra la nouvelle page et la nouvelle URL sans provoquer de rechargement de la page dans votre application Web.

1
Stephen Ostermiller