web-dev-qa-db-fra.com

AJAX + la mise en cache peut-elle être considérée comme une dissimulation?

J'ai un site Web où nous utilisons une technique pour accélérer les temps de chargement en combinant AJAX + mise en cache. Fondamentalement, lorsque nous avons une section dans une page avec un contenu qui est lent à récupérer, nous vérifions d'abord si elle est mise en cache. Si tel est le cas, nous diffusons le contenu. si ce n'est pas le cas, nous servons un espace réservé, puis passons un appel AJAX dans le client pour extraire le contenu, qui est ensuite mis en cache pour les demandes suivantes.

En conséquence, vous obtenez parfois tout le contenu de la page dans la première demande, et parfois les espaces réservés, qui sont immédiatement renseignés avec les réponses de la demande AJAX.

Vous pouvez voir un exemple dans le nombre de résultats par catégorie dans la colonne de droite de cette page:

http://www.inzoco.com/crits/2-1-3-28-185-0-28079-0-0/listado-piso-en-alal- filer-en-madrid-madrid.aspx

Je suis inquiet si les moteurs de recherche pourraient y voir un cloaking, car si vous demandez une page dont le contenu n'est pas mis en cache, puis redemandez la même page, vous obtiendrez des réponses différentes, la première avec les espaces réservés et AJAX demande et le second avec tout le contenu rendu.

3
Angel

Cloaking est lorsque vous servez intentionnellement un contenu différent aux moteurs de recherche puis à vos utilisateurs dans le but de manipuler les résultats de la recherche. Ce n'est pas le cas ici.

Les moteurs de recherche affichant un contenu différent ne se produiront qu'une fois si le cache est créé et enregistré après la visite initiale de la page. Et même dans ce cas, cela ne se produira que si le moteur de recherche est le premier à afficher la page. Donc, ce scénario ne se produira que pour un pourcentage de vos pages et même une seule fois pour ces pages. Ce n'est pas vraiment un problème.

Toutefois, si vous souhaitez éviter cela complètement, vous pouvez envisager de créer un travail cron qui s'exécute lorsque le trafic de votre site Web est le plus faible (probablement autour de 3 heures du matin) afin de mettre en cache le contenu de toutes les nouvelles pages pour lesquelles aucun cache n'a encore été généré. vue de page initiale.

Une autre option, ou une option que vous pouvez implémenter en plus de la suggestion ci-dessus, consiste à avoir des liens vers le contenu complet, puis à les supprimer lors de l'utilisation de JavaScript/Ajax pour télécharger le contenu sur la page. De cette façon, les moteurs de recherche ont toujours accès au contenu complet. Ceci est appelé amélioration progressive et est recommandé car il permet aux utilisateurs sans JavaScript d'avoir également accès à ce contenu.

4
John Conde