url news et google -
Jean le Chauve - 03/12/2014
C'est très compliqué de comprendre sans voir les codes. Pourrais-tu m'envoyer un accès que je puisse les voir ?
url news et google -
pierrepercee - 03/12/2014
Salut Jean,
Tu as un MP
url news et google -
Jean le Chauve - 03/12/2014
Thx
je regarde
url news et google -
Jean le Chauve - 03/12/2014
Tu as raison, il y a un problème, mais il ne résulte que d'une seule chose :
Si le paramètre detailtemplate est utilisé, ce paramètre s'affiche dans l'url ce qui est embêtant si l'on souhaite un gabarit différent par catégorie.
Pour ma part, je n'ai jamais eu besoin d'utiliser des gabarits différents
url news et google -
pierrepercee - 03/12/2014
Merci pour ta vérif !
Oui mais ce n'est pas un problème mineur. Utiliser un gabarit "detailtemplatenews" différent pour différentes catégories de news on ne peut pas vraiment dire que ce soit un comportement original, ponctuel ou non attendu côté utilisateur (avancé ou non d'ailleurs).
Il faut peut être chercher encore un peu pour confirmer le mauvais fonctionnement en testant en local ou sur d'autres hébergements, mais bien honnêtement je crois que c'est un petit "loup" passé jusque là inaperçu...
Cela signifie que pour x (et x doit être élevé au vu du nombre de sites réalisés avec CMSMS) sites il y a de gros problèmes SEO et donc des manques à gagner conséquents côté clients...
Je ne m'en serai jamais rendu compte si mon pote n'avait pas levé le lièvre en faisant des requêtes sur Google et je suis persuadé que des tas de sites subissent les conséquences de ce problème sans même le savoir (qu'il s'agisse des développeurs ou des clients...)
Peux-tu stp laisser un message sur le .org pour au moins confirmer le problème ?
url news et google -
jce76350 - 03/12/2014
Citation :au vu du nombre de sites réalisés avec CMSMS) sites il y a de gros problèmes SEO et donc des manques à gagner
Les robots des moteurs de recherche ils s'en balancent du SEO, ils référencent ce qu'ils veulent quand ils veulent optimisé ou pas :p (vérifier et valider sur des sites àlacon)
url news et google -
Jean le Chauve - 03/12/2014
@jce, en effet ils indexent tout, mais le (SEO) te permet d'être présent dans le top dix pour des mots-clés spécifiques.
@pierre, je viens de remarquer pour les tests que j'ai effectué sur ton site que le lien canonique de la news avec detailtemplate (donc avec paramètre) indique une url correcte, sans le d,x et avec les bons chiffres).
Pourrais-tu vérifier car cela implique qu'il n'y a pas de problème.
url news et google -
pierrepercee - 03/12/2014
@Jean
Si tu copies l'url "canonique" présente dans le code source, sa structure est cohérente, mais elle renvoie à une page avec le template de page défini par défaut dans les gabarits et le "templatedetailnews" par défaut. C'est bien ça le problème !
@jce : manque de rigueur de ma part : les internautes qui soumettent une recherche tombent sur des pages "en vrac" parce que le bon gabarit n'est pas utilisé, la faute à un dispositif "canonical Url" qui ne tient pas compte des différents paramètres passés. Résultat final = manque à gagner évident. Mais le problème n'est pas strictement SEO dépendant, je l'admets.
Cela n'ajoute ou ne retire rien au dysfonctionnement constaté !
url news et google -
Jean le Chauve - 03/12/2014
pierrepercee a écrit :@Jean
Si tu copies l'url "canonique" présente dans le code source, sa structure est cohérente, mais elle renvoie à une page avec le template de page défini par défaut dans les gabarits et le "templatedetailnews" par défaut. C'est bien ça le problème !
Je n'ai pas remarqué cela, la page d'affichage et le gabarit sont ceux que j'ai choisis : même page d'affichage pour les deux articles des 2 catégories et gabaritdetail différent par catégorie alors que le gabaritdetail par défaut n'est pas utilisé.
lien et
lien
url news et google -
archeo - 03/12/2014
Si j'ai bien suivi la conversation, il y a un lien public qui utilise les paramètres par défaut de news, c'est ce lien qui est indexé par google
et un lien interne qui passe les paramètres de detaltemplate et detailpage et qui n'est pas indexé par google
Pourquoi 2 liens différents?
Ne peut-on pas remplacer le lien public par le lien interne?
url news et google -
pierrepercee - 04/12/2014
Jean,
Je viens de jeter un œil sur le site:
Dans l'appel des news dans le gabarit Simplex tu appelles de mémoire une page d'alias "actualites-generales",cette page utilise elle le gabarit Simplex .
Tu fais l'essai en créant un nouveau gabarit de page que tu nommes "abracadabra" avec une différence visuelle significative
Tu appliques ce gabarit à ta page "acutalités-generales"
Tu recharges la page d'accueil du site
Tu cliques sur "plus ->" en bas d'"article test" en date du 28 novembre (c'est la deuxième news)
Tu constates que tout fonctionne bien, la page appelée s'affiche bien avec le gabarit de page "abracadabra"
Tu fais un clic droit-> code source de la page et tu récupères l'Url canonique
Tu la colles dans la barre d'adresse
Tu constates que le gabarit de page retourné est désormais Simplex (le gabarit page par défaut)
Tu constates que le gabarit de détail news retourné n'est pas le bon, c'est désormais le gabarit par défaut
Voilà, plus détaillé je ne sais pas faire... Avec une bonne bouteille de bourgogne et à 2 sur la même machine c'est évidemment plus simple !
url news et google -
archeo - 04/12/2014
Dans le ligne
Code :
{if isset($canonical)}<link rel="canonical" href="{$canonical}" />{elseif isset($content_obj)}<link rel="canonical" href="{$content_obj->GetURL()}" />{/if}
Il suffirait de remplacer {$canonical} dans href="{$canonical}" par l'adresse affichée par le navigateur, ce qui donnerait :
Code :
{if isset($canonical)}<link rel="canonical" href="{$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI}" />{elseif isset($content_obj)}<link rel="canonical" href="{$content_obj->GetURL()}" />{/if}
url news et google -
Jean le Chauve - 04/12/2014
Le lien avec d,nompageAffichage est le lien normal, mais si tu donnes un detailpage dans la tag ou dans les options, d,nompageAffichage disparaît, c'est une pretty url. Si tu utilises detailtemplate, ça réapparait, mais comme l'url canonique renvoie vers la pretty url, tout est nickel.
Google indexe les deux pages, mais comme le canonical renvoie vers la pretty url, pas de duplicate content.
Ce que je n'arrive pas à reproduire, c'est votre problème de mauvais gabarit.
2 pages d'affichage différentes avec 2 gabarit de page différents, 2 catégories et 2 gabarits de détail différents : les différentes combinaisons sont sur les liens et je n'ai pas ce problème (voir liens plus haut).
url news et google -
Jean le Chauve - 04/12/2014
@pierre,
ok je vois le problème : tu as entièrement raison et c'est très gênant pour ceux qui ont le besoin de plusieurs gabarits. Google proposera une page tronquée.
url news et google -
Jean le Chauve - 04/12/2014
Solution : toujours utiliser le paramètre detailtemplate pour que d,xxx apparaisse dans le lien et enlever le code canonique dans le gabarit de détail si on souhaite utiliser plusieurs gabarits de détail et/ou plusieurs pages d'affichage.
D'ailleurs, si on regarde attentivement la doc dans le gabarit de détail par défaut :
...
canonical (string) = A full URL (prettified) to this articles detail view
using defaults if necessary.
...
Si je traduis bien : une pretty url vers la vue de détail
en utilisant les paramètres par défaut.
C'est logique, comment transmettre au serveur des gabarits différents de ceux par défaut si on ne donne pas les paramètres dans l'url. Donc, ce n'est pas un bug, juste une documentation pas très visible.
Ce pourrait être une feature request à faire : demander la possibilité de choisir une page d'affichage et un gabarit de détail par défaut par catégorie et non plus pour l'ensemble.
url news et google -
pierrepercee - 04/12/2014
Cela me rassure un peu hein !
La mauvaise nouvelle c'est que sur le vrai site en ligne il n'y avait pas d'URL canonique mise en place, j'ai créé le gabarit "from scratch" sans url canonique.
Et ce drôle de Google a bien trouvé le moyen de récupérer les Url "défaillantes" quelque part, mais je ne sais pas où.
En attendant je vais virer les url canoniques, c'est contraire à la bienséance la plus élémentaire mais je n'en ai rien à faire et je vais mettre en place un sitemap.
Pour la doc, au mieux elle confirme le fait que le fonctionnement n'est pas top. (si l'on s'en tient à la doc, seul le gabarit de news devrait sauter pour celui par defaut, pas celui de page...)
Pour le reste, il reste un sale bug, peu visible,difficile à déceler et qui potentiellement peut affecter pas mal de sites.
S'il reste encore des versions correctives pour la 1.11.11 et si le boulot n'est pas complétement démesuré ce serait pas mal que les développeurs du core aient l'obligeance d'au moins y jeter un œil.
url news et google -
pierrepercee - 04/12/2014
@archeo :
J'ai pas essayé encore mais ta solution me semble bien vue ! Ca devrait le faire en principe !
url news et google -
archeo - 04/12/2014
@pierre Ce n'est qu'une rustine et le problème continue à se poser pour les flux RSS
Je teste sur mon site pour voir comment réagit Google.
url news et google -
pierrepercee - 04/12/2014
Je sais bien - Dès que l'on touche à l'Urlrewriting etc, faut être super prudent car les effets de bord peuvent être nombreux et pas forcément facilement décelables.
Si tu confirmes le comportement sur les flux RSS cela devient un peu urgent quand même.
Je vais aller regarder du côté de la 2.0 pour voir si c'est bien corrigé.
Si quelqu'un veut communiquer sur le forum .org, pour ma part comment dire, j'ai parfois l'impression de jouer dans une pièce de Ionesco et ce n'est pas ma tasse de thé.
Que l'on se montre prudent avant d'entériner un dysfonctionnement, je peux le comprendre. Les développeurs font un boulot fantastique et tout ça gratuitement - je veux bien croire que la charrette déborde souvent.
Par contre je trouve contreproductif de devoir presque "plaider" le bug sur plusieurs pages pour réussir à faire admettre son existence.
Après tout les tests et les retours utilisateurs permettent à la plateforme de s'améliorer.
url news et google -
archeo - 04/12/2014
J'ai continué à creuser le problème. La variable canonical est définie dans le fichier "class.news_article.php" (répertoire lib du répertoire news) entre les lignes 79 et 97
Code :
[== PHP ==]
private function _get_canonical()
{
if( !isset($this->_meta['canonical']) )
{
$tmp = $this->news_url;
if( $tmp == '' )
{
$aliased_title = munge_string_to_url($this->title);
$tmp = 'news/'.$this->id.'/'.$this->returnid."/{$aliased_title}";
}
$mod = cms_utils::get_module('News');
$canonical = $mod->create_url($this->_inid,'detail',$this->returnid,$this->params,false,false,$tmp);
$this->_meta['canonical'] = "$canonical";
}
return $this->_meta['canonical'];
}
le lien est défini par $canonical = $mod->create_url($this->_inid,'detail',$this->returnid,$this->params,false,false,$tmp)
Tout les paramètre du lien sont là la page de detail le template de detail mais la variable $tmp les gomme pour les replacer par les paramètres par défaut.
J'ai donc employé les grands moyens et remplacé
$canonical = $mod->create_url($this->_inid,'detail',$this->returnid,$this->params,false,false,$tmp)
par
$canonical = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
et ça marche (aux forceps
)
url news et google -
pierrepercee - 04/12/2014
Tu as identifié le problème et comme je pense que c'est toujours la même private_function appelée afin de gérer les URL canoniques cela ne devrait pas être trop compliqué de modifier la chose pour l'ensemble des modules concernés.
Chapeau et merci vraiment pour la solution, qui m'arrange bien même si j'imagine qu'ils (les développeurs) devraient résoudre la chose de façon un peu moins "brutale". Là tu as quand même bien mâché le travail.
Après il faut que les infos remontent au bon endroit, au bon moment, à la bonne personne, et contre toute attente ce n'est pas forcément le plus simple...
url news et google -
archeo - 04/12/2014
Je pense que les développeurs n'ont pas pensé qu'il y aurait des gars aussi tordus que nous pour aller utiliser plusieurs gabarits et pages de détail différents dans un même site
d'où le nettoyage de l'URL interne pour en faire quelque chose de plus joli pour Google.
Il faudrait que gabarits et page de détail soient définies pour chaque news. De la sorte il n'y aurait plus besoin de passer des paramètres dans l'URL et le module news gérerait l'affichage en fonction de l'id de la news.
url news et google -
jce76350 - 04/12/2014
Citation :Après il faut que les infos remontent au bon endroit, au bon moment, à la bonne personne, ...
Poster le bug sur
http://dev.cmsmadesimple.org/bug/list/6 Submit New Bug
en indiquant bien
Assigned To Calguy100
Version: 1.11.1
Severity: major
en donnant le maximum de renseignement
ET en plus poster un message sur la forum EN
Modules/Add-Ons avec le lien du bug et les informations et éventuellement un lien vers cette discussion
url news et google -
archeo - 05/12/2014
Ben voila Pierre il ne te reste plus qu'à t'y coller
Une solution pour CGfeedmaker en réécrivant les URL
Code :
[== Indéfini ==]
{news assign='junk'}
{if isset($items)}
{foreach from=$items item='entry'}
{$lien=""}
{$detail_page="280"}
{$gabarit_det="actualites"}
{$aliased_title = munge_string_to_url($entry->title)}
{if $entry->category == "Travaux en cours" or $entry->category == "Techniques 3D"}
{$detail_page="412"}
{$gabarit_det="travaux"}
{/if}
{if $entry->category == "Pédagogie"}
{$detail_page="418"}
{$gabarit_det="travaux"}
{/if}
{if $entry->category == "musées"}
{$detail_page="422"}
{$gabarit_det="musees"}
{/if}
<item>
{assign var="lien" value="{root_url}/news/{$entry->id}/{$detail_page}/{$aliased_title}/d,{$gabarit_det}.html"}
<title>{$entry->title|cms_html_entity_decode}</title>
<link>{$lien}</link>
{capture assign='description'}{if isset($entry->summary)}{$entry->summary}{else}{$entry->content}{/if}{/capture}
<description>{$description}</description>
<pubDate>{$entry->postdate|rfc_date}</pubDate>
<guid>{$lien}</guid>
</item>
{/foreach}
{/if}
url news et google -
pierrepercee - 11/12/2014
@Jce: Merci pour l'info, Jo Morg est passé sur le thread sur le forum US. Il y jettera probablement un œil lorsqu'il aura le temps. Je crois que Calguy doit avoir pas mal de choses à gérer, c'est peut être pas utile de trop charger la charette, surtout en ce moment...
@archeo: merci pour cette nouvelle solution. A priori on devrait avoir des nouvelles...