[Résolu] Pourquoi j'ai pas de sitemap pour mes autres langues ?
Ce sujet est résolu. Voici une description du problème et de la solution.
Problem: Le client ne parvient pas à accéder au plan du site pour la version espagnole de son site Web et rencontre une erreur 404 lorsqu'il tente de visiter domain.com/es/page-sitemap.xml. Solution: Nous avons expliqué que Yoast SEO crée un plan de site pour chaque domaine, et comme WPML est configuré pour utiliser des répertoires pour les langues, un seul plan de site avec toutes les langues est attendu. Nous avons rassuré le client sur le fait que WPML déclare toutes les traductions d'une page dans les balises "hreflang", ce qui aide les moteurs de recherche à comprendre la structure du site. Nous avons suggéré de vider le cache ou de consulter Yoast SEO pour une option permettant de régénérer le plan du site si d'autres pages traduites sont manquantes. Lors d'un suivi, nous avons identifié une fonction personnalisée dans le thème du client qui modifiait le comportement du plan du site. Nous avons fourni des étapes pour résoudre le problème : 1. Accédez aux fichiers du site via FTP ou Cpanel. 2. Modifiez le fichier function.php du thème actif. 3. Supprimez ou commentez la fonction personnalisée qui modifie le comportement du plan du site. Après avoir effectué ces modifications, le client devrait voir son page-sitemap.xml passer de 43 à 192 URL. Pour plus d'informations sur l'utilisation de Yoast SEO avec WPML, veuillez vous référer à notre documentation :
Using WordPress SEO with WPML.
Si cette solution ne semble pas pertinente, n'hésitez pas à ouvrir un nouveau ticket de support en visitant notre forum d'assistance.
Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.
Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Bonjour,
Bienvenue sur le support de WPML. Yoast SEO créé un sitemap par domaine. Comme vous avez configuré WPML pour que les langues soit dans un répertoire (/en), il est normal de n'avoir d'un seul sitemap avec toutes les langues. SI vous aviez un domaine par langue vous auriez un sitemap pour chaque domaine.
Rassurez-vous le fait que chaque langue soit dans un répertoire et que WPML déclare toutes les traductions d'une même page dans les balises "hreflang" permet à Google et les autres moteurs de recherche de comprendre parfaitement la structure de votre site.
Par contre je vois que vous avez d'autres pages traduites qui ne sont pas présentes dans le sitemap. Il s'agit peut être d'un problème de cache. Essayez de purger vos caches ou de voir s'il y a une option dans Yoast afin de regénérer/actualiser le sitemap. Par exemple celui concernant les catégories semble plus complet: lien caché
Le sitemap du site lien caché n'affiche pas l'ensemble des pages des autres langues.
Nous avons seulement les pages d'accueil des différentes langues et non l'ensemble des pages dans l'ensemble des langues.
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Bonjour,
Commençons par remplir les exigences minimales de WPML et Yoast. Je vois que vous avez une allocation de mémoire PHP très basse (40M). La configuration minimale requise pour WPML est de 128M, 256M pour Yoast:
- Accédez à votre serveur via FTP et ouvrez le fichier wp-config.php (dans le root de votre WordPress).
- Insérez ces lignes juste avant /* That's all, stop editing! Happy blogging. */
Si augmenter la mémoire PHP ne résout pas le problème, merci me donner temporairement accès à votre admin (wp-admin et FTP) – de préférence sur une copie test de votre site où le problème a été reproduit - pour que je puisse voir cela de plus près.
J'ai activé un champ privé pour votre prochaine réponse où vous pourrez partager ces informations de manière confidentielle avec notre support. Ne partagez pas votre propre compte admin, créez un nouveau compte que vous pourrez éliminer une fois l'assistance terminée.
IMPORTANT: Avant de continuer, faites un backup complet de votre site et base de données.
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Bonjour,
Merci pour l'accès. Dans "WPML > Support> troubleshooting (link)" il y a une option qui n'apparait que lorsque WPML détecte un problème avec les langues dans la base de données "Clear language information and repopulate languages".
Comme il s'agit d'un site de production est que c'est une opération délicate qui demande un backup de sécurité, je ne l'ai pas exécuté.
Pourriez vous le faire (après un backup bien sûr)?
Si cela ne résout pas le problème merci de faire une copie staging de votre site afin que nous puissions tester WPML dans un environnement minimal. C'est à dire:
1. Désactivez tous les plugins qui ne sont pas liés à WPML et changez de thème pour un thème WordPress comme 2020.
2. Si l'erreur disparaît commencez à réactiver les plugins un par un ou en petit groupe. De cette manière il vous sera possible d'identifier quel plugin crée un conflit.
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Bonjour,
Malgré l'opération le problème persistait. J'ai essayé pendant un long moment de trouver la cause du problème puis je me suis rendu compte que vous avez une fonction qui modifie le comportement du sitemap.
- Accédez aux fichiers sur votre serveur via FTP ou Cpanel
- Éditez le fichier functions.php de votre thème actif
- Retirez/commentez la première fonction personnalisée
if (isset($sitepress)) add_filter('wpseo_posts_join', 'sitemap_per_language', 10, 2);
function sitemap_per_language($join, $type) {
global $wpdb, $sitepress;
$lang = $sitepress->get_current_language();
return " JOIN " . $wpdb->prefix . "icl_translations ON element_id = ID AND element_type = 'post_$type' AND language_code = '$lang'";
}
- Vous verrez votre page-sitemap.xml passer de 43 à 192 URLs.