586 votes

Comment changer dynamiquement le titre d'une page web ?

J'ai une page Web qui met en œuvre un ensemble d'onglets affichant chacun un contenu différent. Les clics sur les onglets ne rafraîchissent pas la page mais masquent/démasquent le contenu du côté client.

Il est maintenant nécessaire de modifier le titre de la page en fonction de l'onglet sélectionné sur la page (pour des raisons de référencement). Est-ce possible ? Quelqu'un peut-il suggérer une solution pour modifier dynamiquement le titre de la page via javascript sans recharger la page ?

3 votes

document.title = "new title"; mais si la page a des iframes, vous pouvez utiliser : window.top.document.title

0 votes

Comment faites-vous pour rendre votre jeu d'onglets individuel et distinct ?

804voto

Alex Fort Points 9961

Mise à jour selon les commentaires et la référence sur SearchEngineLand la plupart des robots d'exploration du Web indexeront le titre mis à jour. La réponse ci-dessous est obsolète, mais le code est toujours applicable.

Vous pouvez juste faire quelque chose comme, document.title = "This is the new page title."; mais cela irait totalement à l'encontre de l'objectif du référencement. La plupart des La plupart des robots d'exploration ne vont pas supporter le javascript en premier lieu, alors ils prendront ce qui se trouve dans l'élément comme titre de la page.

Si vous voulez qu'il soit compatible avec la plupart des principaux crawlers, vous allez devoir modifier la balise titre elle-même, ce qui implique ce qui implique de recharger la page (PHP, ou autre). Vous ne pourrez pas être en mesure de contourner cela, si vous voulez changer le titre de la page d'une manière de manière à ce qu'un crawler puisse le voir.

32 votes

Si vous utilisez déjà le pushState de html5 pour modifier l'historique lors de la mise à jour de votre page, pourquoi ne pas mettre à jour le titre également. Si la configuration est correcte, les robots d'exploration obtiendront toujours les bons résultats et vous voudrez toujours que l'utilisateur voie le titre correspondant à la vue sur laquelle il se trouve. Pour la plupart des applications web, etc., il semble que ce soit une bonne solution de continuer à utiliser ce système. J'ai peut-être négligé une autre fonction ?

2 votes

Malheureusement, les navigateurs ignorent actuellement l'argument "title" dans pushState() et replaceState(). stackOverflow blog de twiter

1 votes

Le robot d'exploration suivra les liens (ou un plan de site), donc si vous pouvez charger complètement la page avec la nouvelle URL et atteindre cet état par le biais de javascript, alors, pour le robot d'exploration, tous les titres seront valides.

48voto

lc. Points 50297

Utilisez document.title .

Voir cette page pour un tutoriel rudimentaire également.

11 votes

J'adore le lien, il y a des captures d'écran de netscape navigator :)

0 votes

J'espère que les araignées n'utilisent pas le javascript. Un bon moyen d'envoyer un code malveillant à Google ?

0 votes

@AdrianoVaroliPiazza C'est peut-être inutile, mais cela fonctionne et aidera les personnes venant des moteurs de recherche. Pas besoin de downvoter si c'est la bonne réponse !

47voto

Sarat Points 1014

Je ne vois pas comment le fait de changer le titre de la page via Javascript va aider le référencement. La plupart (ou la totalité) des robots de recherche n'exécutent pas de Javascript et ne lisent que le titre initialement chargé qui est la balise.

Si vous souhaitez favoriser le référencement, vous devrez modifier le titre de la page dans le back-end et proposer différentes versions de la page.

3 votes

D'accord - cela n'aidera pas du tout le référencement, car les robots d'indexation ne feront rien avec votre JS.

0 votes

Peut-être veulent-ils un seul titre mais tout le contenu sur le SE, puis une organisation plus conviviale des données une fois que vous êtes sur la page ?

0 votes

Alors ils vont à l'encontre du concept de référencement.

43voto

Kev Points 5046

Le code est le suivant
document.title = 'test'

3 votes

J'utilise top.document.title pour faire référence à la fenêtre elle-même (j'ai des framesets...).

2 votes

@AdrianoVaroliPiazza pas besoin d'aller -1 cependant, qu'en est-il des applications qui ne nécessitent pas de référencement ou qu'en est-il des sites web qui utilisent réellement certaines fonctions HTML5. Je veux dire que si vous configurez votre site web correctement, que vous utilisez ajax et que vous avez une solution de repli pour les non-js/crawlers, cela ne fera qu'accélérer l'expérience de l'utilisateur et aussi garder le titre correspondant visible. Cela me semble être une bonne idée.

0 votes

N'avez-vous pas besoin d'ajouter un ; jusqu'à la fin ?

11voto

TheTXI Points 24470

L'utilisation de document.title est la façon dont vous le feriez en JavaScript, mais comment cela est-il censé contribuer au référencement ? Les robots n'exécutent généralement pas de code JavaScript lorsqu'ils parcourent les pages.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X