28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous !

Pourquoi ma mise en page CSS n'est-elle prise en compte qu'à moitié dans le cache de google ?
voir le cache de ma page ici
Le body en position relative pourrait-il en être la cause ?
Si oui, est-il possible d'indiquer un fichier css spécialement pour google ou faut-il trouver une solution qui fonctionne partout ? (en plus, pas très évident de tester en instantanner !...)
Pour info, l'outil de google permettant de voir comment le robot voit les pages m'affiche un résultat correct contrairement à ce qu'on peut voir en réel dans le cache de google !

Merci d'avance

jojo
Salut,

Tout d'abord, je ne vois pas pourquoi tu donne une position à body. Il doit rester en place normalement.

Au niveau du cache de Google, est-ce que ton site est particulièrement long à loader ? Les performances peuvent créer ce genre de problème si ta page n'a pas entièrement chargé lorsque Google la copie.
Bon, j'ai déjà 2 bouts de réponse :

1. Je pense que le cache ne sert à rien : alors je peux supprimer l'affichage du cache de mes pages dans google avec la balise meta robots, probablement aussi avec le fichier robots.txt

2. Je pense que le cache est utile dans certains cas : je dois modifier mon code pour obtenir une présentation convenable... Voici la voie choisie pour le moment.
J'ai réussi à rendre cette page correcte en indiquant simplement un min-width:100% à la div ajoutée par google qui contient mon site (div qui n'est jamais fermée d'ailleurs, mais les br non plus ne sont pas fermés et la balise base que je ne connaissais pas n'est pas non plus fermée).

Le code ajouté par google avant la copie conforme de la page en cache :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<base href="http://www.chambreshotesjolivet.fr/Accueil.htm"><div style="background:#fff;border:1px solid #999;margin:-1px -1px 0;padding:0;"><div style="background:#ddd;border:1px solid #999;color:#000;font:13px arial,sans-serif;font-weight:normal;margin:12px;padding:8px;text-align:left">Ceci est le cache Google de <a href="http://www.chambreshotesjolivet.fr/Accueil.htm" style="text-decoration:underline;color:#00c">http://www.chambreshotesjolivet.fr/Accueil.htm</a>. Il s&#39;agit d&#39;un instantané de la page telle qu&#39;elle était affichée le 8 août 2011 22:35:35 GMT. La <a href="http://www.chambreshotesjolivet.fr/Accueil.htm" style="text-decoration:underline;color:#00c">page actuelle</a> peut avoir changé depuis cette date. <a href="http://www.google.com/intl/fr/help/features_list.html#cached" style="text-decoration:underline;color:#00c">En savoir plus</a><br><br><div style="float:right"><a href="http://webcache.googleusercontent.com/search?q=cache:-pUHfJFlEIIJ:www.chambreshotesjolivet.fr/Accueil.htm+site:chambreshotesjolivet.fr&amp;hl=fr&amp;client=firefox-a&amp;gl=fr&strip=1" style="text-decoration:underline;color:#00c">Version en texte seul</a></div>
<div>&nbsp;</div></div></div><div style="position:relative">


Le problème, c'est que je ne peux pas jouer comme ceci sur les propriétés de la div ajoutée par google, ça serait pourtant si simple...
Je continue à chercher la solution qui permettrait à mon html de reprendre un height:100%...
Salut Vaxilart !

Non, ça ne vient pas du temps, j'ai copié le code ajouté par ggogle en local pour faire mes essais, et ça rend pareil ! Normal puisque la plupart de mes divs sont en absolute !!! Alors ça fonctionne très bien lorsque on commence avec un html height:100% mais lorsque ce html est lui-même placé dans une div en position relative, ça ne fonctionne plus... Cette dernière ne prend la hauteur que de mon titre et peut-être mon pied de page...

mon body est positionné parce que mon #menu doit être positionnée pour que je puisse placer mes vignettes en absolute, hors, IE me fout le b... dans mes z-index si je déclare #menu en position:relative car étant enfant au même titre que #entête et #reference, IE démarre un "complexe de formatage" (je ne suis pas très sure du terme) en tous cas, il donne un z-index à cette div #menu, ce qui place les vignettes trop tôt par rapport au reste du site...
Je peux éviter le position:relative sur le body en créant une div enfant du body, elle-même en position;:relative mais ça ne vient pas de là, j'ai aussi essayé, alors je laisse comme ça tant que ça fonctionne.

Le problème vient beaucoup plus de mon manque de contenu non absolu je pense...
Bon, je crois que j'ai perdu ma journée !!!

J'ai trouvé un outil dans mon compte google : "outils pour les webmasters"/"Labos"/"Aperçus instantanés" qui permet comme le dit son nom d'avoir un aperçu instantané de n'importe quelle page de notre site. Il n'y a apriori pas de soucis pour moi, juste une remarque en bas qui me dit que le fichier css a été bloqué par le fichier robots.txt.

En effet, j'ai laissé ce fichier 1 nuit avec écrit disallow:/styles, c'est pourtant ce que j'avais vérifié en premier mais comme j'avais changé ce fichier hier déjà et que certaines pages en cache avaient été vérifiées bien après mon changement de fichier, j'étais persuadé que ce n'était pas la cause.

J'ai l'impression que google a gardé l'écriture de mon ancien fichier robots, tout simplement, je reviendrai pour confirmer dès que je vois un changement...

2eme remarque : Ma technique qui consistait à copier le code ajouté par google en local n'était peut-être pas la meilleure, en tous cas, il aurait fallu comprendre dès le début que mon affichage local était lié à la fois au css de mon site et au css en local. Probablement du à la balise <base> que je ne connais toujours pas...

EDIT : Je pense que javais trop envie d'y croire !!! Smiley sweatdrop je ne vois pas comment le fait d'avoir "plus" accès au CSS changera quelque-chose, si les fonds étaient présents, c'est bien que le css jouait bien sont rôle.... HELP !!!
Modifié par jojoledemago (09 Aug 2011 - 23:21)
YOUPIIIIIIIIIIIIIIIIIIII Smiley langue Smiley biggrin Smiley langue

J'ai trouvé la solution !!! Le problème venait bien du fait que rien ne "remplissait" la div crée par le cache de google.
J'ai tellement de choses qui doivent se superposer dans mon design que j'avais tout mis en absolute... Juste le fait de passer ma div de contenu en relatif a tout remis dans l'ordre. Même quand on croit avoir bien saisit le placement CSS, il reste encore bien des surprises...