Règles du forum

Attention ce forum est destiné avant tout à ceux qui découvrent le référencement. Les membres qui auront l'amabilité de répondre à leurs questions sont priés de rester courtois, polis, indulgents, patients et pédagogues... Merci d'avance !

Par ailleurs, inutile d'utiliser ce forum uniquement pour obtenir des liens vers vos sites, les liens sont désactivés pour le référencement (nofollow).

Messages: 12

Enregistré le: 6 Aoû 2016

Message le Jeu Mai 04, 2017 16:50

Bonjour,
J'ai essayé d'améliorer le temps de chargement de mon site et j'ai rencontré un problème que je n'arrive pas à résoudre.
Après avoir analysé ma page avec PageSpeed Insights et suite à un message « Éliminer les codes JavaScript et CSS qui bloquent l'affichage du contenu au-dessus de la ligne de flottaison », j’ai envoyé les JavaScripts dans le footer avec cette fonction :

function footer_enqueue_scripts() {
remove_action('wp_head', 'wp_print_scripts');
remove_action('wp_head', 'wp_print_head_scripts', 9);
remove_action('wp_head', 'wp_enqueue_scripts', 0);
add_action('wp_footer', 'wp_print_scripts', 5);
add_action('wp_footer', 'wp_enqueue_scripts', 5);
add_action('wp_footer', 'wp_print_head_scripts', 5);
}
add_action('after_setup_theme', 'footer_enqueue_scripts');

Depuis PageSpeed n’affiche plus ce message et le score est monté, par contre maintenant quand j’analyse le site avec validator.w3.org une erreur que je n'ai pas eu avant apparaît :

Error: Element title not allowed as child of element head in this context. (Suppressing further errors from this subtree.)
From line 1, column 679; to line 1, column 685
s</title> <title>Huile

Contexts in which element title may be used:
In a head element containing no other title elements.
Content model for element head:
If the document is an iframe srcdoc document or if title information is available from a higher-level protocol: Zero or more elements of metadata content, of which no more than one is a title element and no more than one is a base element.
Otherwise: One or more elements of metadata content, of which exactly one is a title element and no more than one is a base element.

Voici le code que j'ai dans header.php :

<!DOCTYPE html>

<html <?php language_attributes(); ?>>

<head>

<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" >


<title><?php wp_title('|', true, 'right'); ?></title>


<?php if ( is_singular() ) wp_enqueue_script( "comment-reply" ); ?>


<?php wp_head(); ?>


</head>

Peut être quelqu’un à une idée comment résoudre ce conflit. Ça fait déjà 2 jours que j’essaye de trouver une solution…
Merci d’avance
Haut
5 Réponses
Messages: 8555

Enregistré le: 14 Mai 2003

Message le Jeu Mai 04, 2017 20:31

"Qualité et précision des questions conditionnent celles des réponses"

Sans URL on ne sait pas le code HTML généré là:
Code: Tout sélectionner
From line 1, column 679; to line 1, column 685
s</title> <title>Huile

Donc on ne saurait pas bien t'aider.
Haut
Messages: 12

Enregistré le: 6 Aoû 2016

Message le Jeu Mai 04, 2017 22:37

Bien sur,
Voici le url : www.essence-tea-tree.fr

Merci
Haut
Messages: 8555

Enregistré le: 14 Mai 2003

Message le Ven Mai 05, 2017 5:58

Tu as 2 balises <title>, c'est parce que
Code: Tout sélectionner
<?php wp_head(); ?>
l'affiche déjà.

Donc tu n'as pas besoin de :
Code: Tout sélectionner
<title><?php wp_title('|', true, 'right'); ?></title>
Haut
Messages: 12

Enregistré le: 6 Aoû 2016

Message le Ven Mai 05, 2017 15:13

Merci beaucoup pour votre réponse, j’ai déjà essayé de le faire, et quand je l'ai supprimé, validator.w3.org etait content, par contre PageSpeed Tools recommence à raller et sort la liste des js encore plus longue que celui que j’ai eu avant de mettre les JavaScripts dans le footer :

Supprimez les ressources JavaScript qui bloquent l'affichage :

http: //.../wp-includes/js/comment-reply.min.js
http://.../…gins/mystickymenu/js/mystickymenu.min.js
http://.../wp-includes/js/jquery/jquery.js
http://.../…includes/js/jquery/jquery-migrate.min.js
http://.../…wp-content/themes/hemingway/js/global.js
http://.../…fixed-widget/js/q2w3-fixed-widget.min.js
http://.../…/languages/jquery.validationEngine-fr.js

J’ai vu qu’il est possible de corriger ce problème avec atribut async, mais je n’arrive pas à comprendre où et comment je peux l’insérer pour qu’il s’applique à tous mes JavaScript. J’ai encore très peu de connaissance dans le webmastering …
Haut
Messages: 12

Enregistré le: 6 Aoû 2016

Message le Ven Mai 05, 2017 16:27

J'ai oublié de préciser que PageSpeed Tools demande de supprimer les ressources Javascript que pour la version Mobile, pour la version ordinateur tout est ok.
Haut