web-dev-qa-db-fra.com

Rendre le site statique HTML plus convivial pour le référencement

Je conçois un site Web comme indiqué dans l'image ci-dessous; pour le moment, il ne s'agit que d'une structure de base. Ce site est totalement statique, j'ai en gros 6 pages principales sur le site. la section de navigation, le curseur et le pied de page seront les mêmes dans toutes les pages. Parmi les 6 pages, une page servira à répertorier les éléments (environ 15 sous-pages pour chaque élément). tous les détails seront chargés dans la section CONTENU.

enter image description here

Maintenant, mon problème est que comment puis-je obtenir quelque chose comme où la navigation, le curseur et le pied de page seront chargés une fois et le contenu sera modifié en fonction de la page.

J'ai pensé à charger le contenu avec AJAX afin qu'il devienne un site Web d'une page. Mais ce problème serait avec le référencement.

Alors, comment puis-je atteindre cet objectif en un seul coup? Lorsque la navigation, le curseur et le pied de page seront chargés une fois et que le référencement sera également correct.

Toute aide serait appréciée.

3
IT ppl

Bien que vous puissiez le faire, je pense que vous vous en préoccupez trop tôt. Dans les logiciels, il existe un dicton: L’optimisation freine l’évolution. En substance, cela signifie que si vous compliquez les choses, elles deviennent plus difficiles à changer.

Cela étant dit, vous pouvez faire certaines choses si vous le souhaitez vraiment. Je conviens qu'il est préférable de garder le contenu sur la page et de ne pas le charger via AJAX.

les iframes sont probablement les plus simples. Vous pouvez mettre le haut et le bas dans les iframes et les charger simplement à partir de chaque page. Il y a du travail à faire pour que l'iframe fonctionne de manière transparente et ouvre les liens au bon endroit.

Vous pourriez envisager de charger votre en-tête et votre pied de page via AJAX à la place, mais je garderais la navigation en ligne afin que les liens internes soient visibles par les robots d'exploration.

Rappelez-vous que ressources est mis en cache. Ainsi, à moins que votre en-tête et vos pieds de page ne contiennent de grandes quantités de HTML, la différence de performances doit être négligeable. Toutes les images et même les objets flash que vous utilisez dans les en-têtes et les pieds de page de toutes les pages seront toujours chargés une fois, en supposant que les en-têtes de cache sont correctement configurés.

2
Itai

Pour faire un compromis entre un bon référencement et des pages chargées en AJAX, vous pouvez procéder comme suit:

Créer un ensemble standard d'éléments dans le menu, avec leurs attributs href respectifs et, de préférence, un indicateur, par exemple sous la forme d'un nom de classe, avec la demande ajax que chaque lien déclencherait

<a href="index.php?page=1" class="nav">Nav 1</a>
<a href="index.php?page=2" class="nav">Nav 2</a>

En cliquant sur l'élément .nav, deux choses vont se produire:

  • envoi d'une demande AJAX
  • déclencher la fonction event.preventDefault () de jQuery

La demande AJAX fera l'évidence - charger le contenu est l'endroit que vous spécifiez, mais le comportement par défaut du navigateur - redirection vers une page spécifiée dans l'attribut href de l'élément - sera annulé, vous permettant ainsi de rester sur la même page. .

Pour les navigateurs avec JavaScript désactivé, les robots d'exploration de Web et les visiteurs accédant d'une manière ou d'une autre à votre page via un lien direct - "index.php? Page = 1" - le fichier index.php effectuera une récupération standard des données de la source utilisée.

Je suis sûr qu'il existe de meilleures méthodes, mais c'est celle que j'ai utilisée et qui fonctionne bien jusqu'à présent.

Comme il s’agit d’un site Web simple, vous n’en aurez peut-être pas nécessairement besoin, mais il est important de garder trace de l’historique de navigation de votre site (à l’aide des demandes AJAX). Je suggère un coup d'oeil à: https://stackoverflow.com/questions/1457/modify-address-bar-url-in-ajax-app-to-match-current-state

0
Maciej Gurban