Metas et Dotclear

WRInaute accro
Bonsoir,

Je n'ai pas trouvé mon bonheur dans les archives ni sur le web, donc j'ouvre un topic :

Connaissez vous un mod / plugin qui ferait de jolies metas automatiquement pour Dotclear ?

Merci d'avance,

Michaël
 
WRInaute accro
Salut

Je connais pas la version 2.0 : très différente de la 1.2.6 (que j'utilise) ?

Car pour ma part, j'ai modifié moi-même le template... (résultat visible sur mes pages ici : pas très orthodoxe mais à priori efficace !)


Au niveau des optimisations :
- titre de la page optimisé (si billet, je vire le nom du blog)
- description dynamique de la page (titre du billet + début du chapo OU 2 premiers mots du billet si pas de chapo)
- keywords générés à la volée (pas pour le côté SEO mais pour éviter le duplicate content) sur la base des 25 premiers mots du billet

Me restent quelques trucs à revoir, par ex. dans le cas des recherches par dates (j'ai encore des titres / descriptions / keywords identiques...)
 
WRInaute accro
Je ne doute pas que ça sortira sous DC2 prochainement...
Tu as bien regarder dans le forum de DC? Parceque c'est un peu l'anarchie pour trouver quelque chose en ce moment (transition entre la 1.x et la 2.x)...

Tient d'ailleurs si quelqu'un veut faire un super site qui recence les plugins et themes pour DC, il va se faire des c*****E en or! ;)
 
WRInaute accro
@cedric_g : comment fais tu pour "débiter" tes 25 premiers mots en keywords ?
 
WRInaute accro
C'est pas con comme idée, je vais me mettre ca en place ce soir sur mon blog.

En récupérant les n premiers mots supérieurs à 4 caractères (pour supprimer la plupart des conjonctions, déterminants et cie) du contenu de la page ca peut être assez rapide.

Où en rajoutant carrément un champ dans l'admin de Dotclear.
 
WRInaute accro
Bon, je vous prépare un petit article :wink:


Ce que j'ai fait sur mon blog :
- optimisation du titre (par ex. si affichage de billet, suppression du nom du blog, devenu inutile)
- optimisation de la balise description (nom du billet + 25 premiers mots du chapo s'il existe, ou du billet ; gestion du plugin Tags inclue pour les pages n'étant pas des billets)
- optimisation de la balise keywords (mots de la description séparés par une virgule... permet d'éviter le duplicate content)


Avec gestion du cas particulier du plugin Table des matières (qui génère une erreur si on essaye de récupérer le contenu du billet sans tester sa présence)

Reste à voir :
- le cas des affichages sur dates données ou périodes données (je n'ai pas encore réussi à repomper l'info)
- le cas des recherches via le champs du même nom

Dans le cas des dates, je pense qu'il faudra "écrire en toutes lettres" la date (ce n'est pas un soucis pour l'algorithme... reste à récupérer cette satané date !)
 
WRInaute accro
UP !

Bon, voilà un petit truc que j'ai confié à Olivier (puisque mon blog n'est pas vraiment dédié SEO et que je ne veux pas sortir de ma thématique !)

=> Référencement d'un blog Dotclear :wink:

PS : code un peu bourrin (on dira plutôt "pas élégant") mais l'essentiel est que ça fonctionne !
 
WRInaute passionné
Un article très intéressant cedric_g, faut que je me plonge dessus...toutefois tu devrais préciser à quels fichiers ces codes appartiennent (je ne crois pas que ce soit précisé).
 
WRInaute accro
Arrrgg Noooooonnn ????

Aurais-je omis de préciser qu'il s'agit du fichier "template.php", à modifier dans son thème ?

(quelle cruche... je m'étonnerai toujours :roll: )
 
WRInaute accro
J'ai du désactivé cette partie du code pour que ça fonctionne :

Code:
/*
  ########## Gestion du plugin Tags : récupération du tag en cours, le cas échéant
  ob_start();
  @twTags::title(); // On utilise le marqueur @ pour éviter un message d'erreur si non utilisation du plugin Tags
  $TagEnCours = trim(strip_tags(ob_get_contents()));
  ob_end_clean();
*/

(je n'utilise pas le plugin Tag).

Peux-tu me dire ce qui se passe ?
Pour info, mon blog est là : http://video-eolienne.thewindpower.net/

Merci d'avance,

Michaël
 
WRInaute accro
Bonjour Michaël (désolé hier soir j'étais de sortie...)

"théoriquement" l'utilisation de @ en début de ligne permet, si la ligne génère un message d'erreur, d'ignorer cette erreur. Mais bon à priori c'est pas si simple que ça :twisted:

Je devais être dans les vapes quand j'ai écrit ça... Ceci fonctionnera à coup sûr !

Code:
		// Récupération du tag en cours, le cas échéant
		if(class_exists(twTags))
		{
			ob_start();
			twTags::title();
			$TagEnCours = trim(strip_tags(ob_get_contents()));
			ob_end_clean();
		}


Je vais envoyer un petit correctif à Olivier :oops:
 
WRInaute discret
Bonjour,

Merci beaucoup pour ce travail très intéressant.
Je me retrouve cependant confronté à un souci de compatibilité avec le plugin "related". Tout fonctionne correctement sur le blog sauf les pages de ce secteur qui renvoient avec la modif du template une erreur fatale de ce type :
"non-object in /layout/functions.php on line 620"

Verriez vous un moyen de la contourner ?
 
WRInaute accro
Argh !
Moi aussi, je n'avais pas vu.

Code:
Fatal error: Call to a member function on a non-object in /home.10.9/thewindp/www/video-eolienne/layout/functions.php on line 620
 
WRInaute accro
Tiens, c'est bizarre, "related" ça fait la même chose que "sujets connexes" non ?

J'utilise le second sans aucun soucis :?:


Quel est le code ajouté dans le template.php (désolé je ne connais pas ce plugin) ?
 
WRInaute accro
Code:
<?php elseif (is_callable(array('dcRelatedPages','relatedMode')) && dcRelatedPages::relatedMode()) : ?>
<?php dcRelatedPages::includeFile(); ?>
 
WRInaute accro
Essayes ça (même principe que pour le plugin Tags : si la classe existe on instancie/utilise ses méthodes, sinon on ne fait rien...)

Code:
<?php elseif class_exists(dcRelatedPages) 
{
    if (is_callable(array('dcRelatedPages','relatedMode')) && dcRelatedPages::relatedMode()) :
        dcRelatedPages::includeFile(); 
}
?>
 
WRInaute accro
Parse error: syntax error, unexpected T_STRING, expecting '(' in /home.10.9/thewindp/www/video-eolienne/themes/BlancCommeNeige/template.php on line 185

Avec Ligne 185 = première ligne de ton morceau de code ci-dessus.
 
WRInaute accro
Bonsoir

Oui je viens de voir qu'il y avait une réponse... Désolé je m'étais comme qui dirait "absenté" (je suis en congés depuis très peu !)

Je n'ai pas (encore) la réponse. En fait je vois pas pourquoi ça génère une erreur... En fait je crois que le problème n'est pas la classe en question mais ce qu'elle retourne.

Et la gestion des erreurs dans Php est une véritable catastrophe (ça aurait tellement simple de mettre en oeuvre des "try...catch" !!!)



Je vois pas trop. Elles retournent quoi exactement les fonctions appelées ?
 
WRInaute discret
Euh...
Je ne suis pas vraiment à même de répondre à la question :oops:
J'attendais plutôt une réponse.. :?
Onthisplanet ? Quelques éclaircissements ?
 
WRInaute accro
A vrai dire, je ne comprends pas bien la question.
Cédric, peux-tu la préciser stp ?
 
WRInaute accro
Hé hé

En fait, je pense que ce sont les méthodes relatedMode() et/ou includeFile() qui génèrent l'erreur de :wink:

Euh j'ai un petit doute, essayez :
Code:
<?php elseif (class_exists(dcRelatedPages))
{
    if (is_callable(array('dcRelatedPages','relatedMode')) && dcRelatedPages::relatedMode()) 
        dcRelatedPages::includeFile();
}
?>
 
WRInaute discret
J'ai essayé de mettre ce code tel quel en le rajoutant avant la partie "gestion du plugin table des matières".
J'obtiens "parse error"
En mettant juste :
Code:
if (class_exists(dcRelatedPages)) 
{ 
    if (is_callable(array('dcRelatedPages','relatedMode')) && dcRelatedPages::relatedMode()) 
        dcRelatedPages::includeFile(); 
}
ca semble marcher sur l'ensemble du blog mais sur les pages related, il n'y a plus l'habillage (header, footer et menus latéraux) ni de titre à la page, seulement le corps du texte.

Il ne doit pas manquer grand chose. Il n'y aurait pas un emplacement particulier où insérer le code proposé ou un cacractère en trop ou en moins ?
 
WRInaute accro
Amourlove, attention !

Ce code est à mettre À LA PLACE du code original à apposer lors de l'installation du plugin, PAS dans mon bidouillage pour les métas :wink:
 
WRInaute discret
Oups :oops:
Mais en procédant ainsi, ça donne :
Code:
Parse error: syntax error, unexpected '{', expecting ':' in /home.10.6/brette/www/theatre/themes/default/template.php on line 181
où les lignes 180 et 181 sont :
Code:
<?php elseif (class_exists(dcRelatedPages)) 
{
 
WRInaute accro
Pffff c'est pénible cette syntaxe "changeante" (tellement plus simple en .Net :twisted: )

Essayes comme ça :

Code:
<?php elseif (class_exists(dcRelatedPages)) {
    if (is_callable(array('dcRelatedPages','relatedMode')) && dcRelatedPages::relatedMode()) { dcRelatedPages::includeFile(); };
}
?>
 
WRInaute discret
Code:
Parse error: syntax error, unexpected '{', expecting ':' in /home.10.6/brette/www/theatre/themes/default/template.php on line 180
Désolé...
 
WRInaute accro
Dernier essai, après je déclare forfait :roll:

Code:
<?php elseif (class_exists(dcRelatedPages)) : 
  if (is_callable(array('dcRelatedPages','relatedMode')) && dcRelatedPages::relatedMode()) { dcRelatedPages::includeFile(); }
?>
 
WRInaute accro
cedric_g a dit:
Dernier essai, après je déclare forfait :roll:

Code:
<?php elseif (class_exists(dcRelatedPages)) : 
  if (is_callable(array('dcRelatedPages','relatedMode')) && dcRelatedPages::relatedMode()) { dcRelatedPages::includeFile(); }
?>

Voilà ce qu'on obtient en home du blog :

Code:
Parse error: syntax error, unexpected T_ELSEIF in /home.10.9/thewindp/www/video-eolienne/themes/BlancCommeNeige/template.php on line 234

Désolé !
 
WRInaute accro
:x

Je comprends pas trop ce qui va pas là... Si ce n'est pas trop "indiscret" tu pourrais m'envoyer le code complet de ta page template.php ?
 
WRInaute accro
Bonjour

Regardé vite fait, mais là je pars pour la journée. Je regarderai ce soir.

En fait je crois que je me suis planté sur toute la ligne sur la source de l'erreur (j'avais vraiment de la m... dans les yeux) :wink:

Ceci étant, je ne comprends pas pourquoi ça génère une erreur car à priori le code rajouté en début de page n'a aucun rapport avec ce code précisément :?
 
WRInaute accro
Bonjour

Non, pas perdu :lol: mais hier encore, j'ai été pas mal occupé...

J'ai re-regardé, je pige pas... Et si vous enlevez mon code, ça refonctionne ???

Je ne vois vraiment pas le rapport entre ce que j'ajoute et votre erreur en fait. Si ça doit planter, enfin, si ça devait planter, ce serait au niveau du code rajouté, pas plus loin :?:
 
WRInaute discret
Oui, sans le code, ça fonctionne normalement.
Merci d'avance de tout ce que vous pourrez faire pour lever cette incompatibilité.
 
Discussions similaires
Haut