Metas et Dotclear

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
 
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...)
 
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! ;)
 
@cedric_g : comment fais tu pour "débiter" tes 25 premiers mots en keywords ?
 
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.
 
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 !)
 
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 !
 
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é).
 
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: )
 
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
 
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:
 
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 ?
 
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
 
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) ?
 
Code:
<?php elseif (is_callable(array('dcRelatedPages','relatedMode')) && dcRelatedPages::relatedMode()) : ?>
<?php dcRelatedPages::includeFile(); ?>
 
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(); 
}
?>
 
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.
 
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 ?
 
Euh...
Je ne suis pas vraiment à même de répondre à la question :oops:
J'attendais plutôt une réponse.. :?
Onthisplanet ? Quelques éclaircissements ?
 
A vrai dire, je ne comprends pas bien la question.
Cédric, peux-tu la préciser stp ?
 
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();
}
?>
 
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 ?
 
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:
 
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)) 
{
 
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(); };
}
?>
 
Code:
Parse error: syntax error, unexpected '{', expecting ':' in /home.10.6/brette/www/theatre/themes/default/template.php on line 180
Désolé...
 
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(); }
?>
 
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é !
 
: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 ?
 
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 :?
 
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 :?:
 
Oui, sans le code, ça fonctionne normalement.
Merci d'avance de tout ce que vous pourrez faire pour lever cette incompatibilité.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut