web-dev-qa-db-fra.com

Duplication de menus via JavaScript ou PHP: quel meilleur choix pour le référencement et les performances de page?

J'ai un site avec un menu déroulant de bureau typique. Pour le menu mobile (et sur les appareils tactiles), j'utilise javascript pour le faire glisser sur la page du côté droit en appuyant sur un bouton du menu.

Le problème est que j'utilise javascript pour dupliquer le menu du bureau et le renseigner dans le div du côté caché. Est-ce une mauvaise idée? Je ne vois pas beaucoup de baisse de performances (seulement 50 ms environ lorsque je désactive JS), mais est-ce que cela pourrait causer des problèmes sur les ordinateurs plus lents?

Ou serait-il préférable de dupliquer le menu dans le côté div par PHP afin qu'il soit directement dans le code source? Faire cela sera probablement plus rapide, mais cela aura-t-il un impact sur mon référencement en affichant deux fois la navigation vers les moteurs de recherche?

En regardant http://searchengineland.com/tested-googlebot-crawls-javascript-heres-learned-220157 , il semble que cela ait déjà été analysé deux fois. Je devrais donc penser à l'expérience globale de mes visiteurs et dupliquez-le sans utiliser javascript.

Quelle est la meilleure pratique lorsque vous utilisez plusieurs fois le même menu sur la page?

2
Seth Alling

Le moyen le plus parfait serait de laisser votre menu unique compatible dans les deux cas en utilisant différentes CSS pour différentes résolutions en utilisant les requêtes @media . Le gros avantage est que vous ne vous souciez pas de quel appareil visite votre site Web, vous changez simplement la disposition à la volée en fonction de la largeur du navigateur.

La duplication du contenu de votre site Web n’est pas bonne et, comme vous le voyez, Google peut même analyser votre code JavaScript et l’obtenir. (Je suis juste surpris, merci de me l'avoir montré.) Si vous décidez d'utiliser PHP pour afficher l'un de vos deux menus, il ne sera pas très réactif, c'est-à-dire que vous ne pourrez pas changer de menu lorsque la largeur change. comme vous le pouviez avec les requêtes _@media_.

Par exemple, je visite votre site Web avec ma tablette en mode portrait et vous affichez le menu réduit. Une fois que je suis passé en mode paysage, j'aimerais voir la version de bureau, car ma résolution pourrait convenir à cela et ce serait plus confortable. Mais ce ne sera pas le cas lorsque vous aurez deux menus.

3
modiX