XFG - Xoops For Google

Date 06/12/2005 | Sujet : Programmation, Hack, ...

Xoops For Google


Introduction
Actuellement, les quelques pages qui sont accessibles côté utilisateur dans Xoops ne proposent bien souvent pas de titre de page significatif.
C'est un problème car le fait d'avoir des titres de pages ainsi que des meta keywords et meta descriptions significatifs peut aider votre site à se être mieux référencé.

Pour mémoire, le metagen a été initialement crée par Marcan et Solo.

XFG (Xoops For Google) est une version modifiée de Xoops 2.0.13.2 qui rajoute aux pages du noyau de Xoops des titres de pages.
Aux modules qui sont fournis par défaut avec Xoops, j'ai rajouté des titres de pages ainsi que des meta description et meta keywords lorsque cela était possible.

J'ai aussi rajouté, pour exemple, quelques modules modifiés.
Vous trouverez plus bas dans cet article la liste des pages (du noyau) de Xoops qui ont été modifiées ainsi que la liste des modules modifiés.

Le but n'est pas de vous donner toute une série de modules modifiés mais de vous en donner quelques un afin que vous puissiez le faire vous même relativement facilement.

Que contient ce pack ?
Comme cela a été dit en introduction, le package contient une version complète de Xoops 2.0.13.2 ainsi que quelques modules modifiés.

C'est une version installable de Xoops que vous trouverez dans l'archive.
Vous pouvez donc vous en servir pour créer de nouveaux sites.
Sont aussi fournies les traductions françaises du noyau ainsi que les traductions françaises des modules.



Liste des pages modifiées du noyau
Les pages suivantes (qui se trouvent à la racine de votre site) ont été modifiées :
edituser.php (ajout titre de page)
notifications.php (ajout titre de page)
readpmsg.php (ajout titre de page)
register.php (ajout titre de page)
search.php (ajout titre de page)
user.php (ajout titre de page)
userinfo.php (ajout titre de page)
viewpmsg.php (ajout titre de page)



Comment détecter les changements dans le code ?
Toutes les modifications apportées au code sont délimitées par
les deux commentaires suivants :
Citation :

// Hack made by Hervé Thouzard (http://www.herve-thouzard.com)
...
code
...
// End Hack

Il vous sera donc très facile de trouver ces modifications.



Modules qui sont livrés et qui ont été modifiés
- Module Contact
Aucune modification apportée (pas besoin en fait)

- Module Mydownloads
brokenfile.php (ajout titre de page, meta keywords et description)
index.php (ajout meta keywords et description)
modfile.php (ajout titre de page, meta keywords et description)
ratefile.php (ajout titre de page, meta keywords et description)
singlefile.php (ajout titre de page, meta keywords et description)
submit.php (ajout titre de page et meta description)
topten.php (ajout titre de page et meta description)
viewcat.php (ajout titre de page, meta keywords et description)

- Module Mylinks
brokenfile.php (ajout titre de page, meta keywords et description)
index.php (ajout meta keywords)
modlink.php (ajout titre de page, meta keywords et description)
ratelink.php (ajout titre de page, meta keywords et description)
singlelink.php (ajout titre de page, meta keywords et description)
submit.php (ajout titre de page et meta description)
topten.php (ajout titre de page et meta description)
viewcat.php (ajout titre de page, meta keywords et description)

- Module Newbb 1
index.php (ajout meta description)
newtopic.php (ajout titre de page et meta description)
post.php (ajout titre de page et meta description)
reply.php (ajout titre de page, meta keywords et description)
search.php (ajout titre de page et meta description)
viewforum.php (ajout titre de page, meta keywords et description)
viewtopic.php (ajout titre de page, meta keywords et description)

- Module News 1.43
Aucun changement n'a été apporté au module du fait qu'il traite
déjà les meta keywords, meta descriptions et titres de pages.

- Module Section
index.php (ajout titre de page, meta keywords et description)

- Module XoopsFaq
index.php (ajout titre de page, meta keywords et description)

- Module XoopsHeadline
index.php (ajout titre de page et meta description)

- Module XoopsMembers
index.php (ajout titre de page et meta description)

- Module XoopsPartners
join.php (ajout titre de page et meta description)

- Module XoopsPoll (sondages)
Le module permet de mettre une description par sondage mais
cela n'était pas utilisé dans le module. Les descriptions
des sondages sont maintenant visibles dans les pages
.
index.php (ajout titre de page, meta keywords et description)
pollresults.php (ajout titre de page, meta keywords et description)

- A titre d'exemple, j'ai aussi rajouté les modules Agendax et Catads.
(j'espère que leurs auteurs ne m'en voudront pas).
Cela vous donnera des exemples supplémentaires d'utilisation.



Téléchargement
Le pack est téléchargeable à cette adresse.



Comment ça marche et comment étendre le principe à d'autres modules ?
A la racine du site, vous trouverez un nouveau fichier qui s'appelle xfg.php.
Ce fichier est à inclure dans toutes les pages des modules que vous souhaitez modifier.
A part inclure ce fichier et faire appel à ses fonctions, vous n'avez pas besoin de faire autre chose.
La seule contrainte c'est que le module avec lequel vous aller utiliser ces fonctions doit faire appel au système de templates (Smarty) de Xoops (si vous utilisez ces fonctions alors que le module n'utilise pas les templates, vous risquez d'avoir des messages d'erreur, voir même des pages blanches).

Les trois fonctions dont ce fichier dispose sont les suivantes :

- xoops_create_page_title(article, sujet)
Cette fonction est utilisée pour créer les titres de page.
Elle accepte deux paramètres mais vous pouvez ne lui en passer qu'un seul.
Le principe est de faire des titres de page sous la forme :
article - sujet - nom du module


- xoops_create_meta_description(contenu)
Avec cette fonction c'est le contenu de la balise meta description qui est généré.


- xoops_create_meta_keywords(contenu)
Tirée du module de News version 1.43 (et un peu amélioré), cette fonction permet la création automatique de mots clés dynamiquement selon le contenu du texte qui lui est passé en paramètre.

La fonction ne traite pas les mots clés qui font moins d'une certaine longueur.
Dans les préférences générales de Xoops, et plus particulièrement dans les Options de recherche, il est possible d'indiquer la Longueur minimum des mots-clés.
Par défaut cette valeur est fixée à 5 caractères.
Ce même paramètre est utilisé dans cette fonction. Cela signifie que si la valeur de cette option est par exemple à 3 caractères, tous les mots clés de moins de 3 caractères seront ignorés.
La fonction ne conserve que les mots clés uniques (elle supprime donc tous les doublons) et ne garde pas les nombres. De plus, tous les codes html sont supprimés.

Au début de la fonction vous trouverez deux paramètres que vous pouvez modifier afin d'affiner l'utilisation que vous souhaitez faire de ce metagen.

Le premier paramètre, $method vous permet de choisir l'ordre de sélection et d'apparition des mots clés, le deuxième paramètre, $keywords_count, vous permet de choisir le nombre de mots clés que vous souhaitez générer.
Je ne vous conseille pas d'en mettre trop.

Pour en revenir au premier paramètre, $method, vous disposez de 3 méthodes pour la création et l'apparition des mots clés. Ce paramètre peut donc prendre comme valeur, 1, 2 ou 3 :

- 1 - Les mots clés sont crées dans leur ordre d'apparition dans le texte.
Le texte suivant donnera les mots clés ci-après (en supposant que les mots clés de moins de 3 caractères sont ignorés).
texte :
Citation :

les modules disponibles sur Xoops France disposent souvent d'une traduction française.
Vous pouvez télécharger les modules depuis Xoops France mais aussi depuis le site de l'auteur, c'est à chacun de voir. Il y a aussi beaucoup de documentation disponible sur Xoops France.

mots clés générés :
Citation :

les,modules,disponibles,sur,xoops,france,disposent,souvent,une,traduction,francaise,
vous,pouvez,télécharger,depuis,mais,aussi,site,auteur,est,chacun,voir,beaucoup,
documentation,disponible


- 2 - Les mots clés sont générés selon l'ordre inverse de leur fréquence d'apparition dans le texte. Toujours avec le même texte, cette fois-ci les mots clés seront :
Citation :

est,auteur,site,chacun,voir,documentation,disponible,beaucoup,mais,une,souvent,disposent,
disponibles,francaise,traduction,pouvez,télécharger,vous,les,modules,sur,aussi,depuis,france,xoops

Le mot Xoops est celui qui se retrouve le plus dans le texte, il est donc considéré comme le moins significatif et se retrouve donc placé à la fin des mots clés.

- 3 - Les mots clés sont générés selon leur fréquence d'apparition dans le texte.
C'est le cas inverse du précédent. Cette fois-ci les mots clés seront :
Citation :

france,xoops,les,aussi,modules,depuis,sur,est,auteur,beaucoup,documentation,disponible,voir,chacun,
mais,une,souvent,disposent,disponibles,traduction,francaise,télécharger,pouvez,vous,site



Des trois méthodes, c'est à vous de choisir celle qui vous convient le mieux.
Pour ma part je préfère la première car les mots clés apparaissent dans un ordre plus "naturel", celui du texte.
Mais comme il n'y a aucune certitude avec les moteurs de recherche, c'est à chacun de voir.
Vous pouvez très bien tester les 3 méthodes pour voir laquelle vous donne un "meilleur" résultat.

Il faut savoir que si la fonction n'arrive pas à créer des mots clés à partir du texte que vous lui passé, elle renverra les mots clés qui sont définis dans les préférences générales de votre site.

Finalement, si vous souhaitez utiliser ces fonctions, il vous suffit de placer le code suivant dans les pages des modules :
Citation :

// Hack made by Hervé Thouzard (http://www.herve-thouzard.com)
include_once XOOPS_ROOT_PATH."/xfg.php";
xoops_create_page_title($article, $sujet);
xoops_create_meta_description($contenu);
xoops_create_meta_keywords($contenu);
// End Hack

Il faut juste remplacer les paramètres des fonctions avec votre propre contenu.




Notes
- Afin d'avoir des titres de pages significatifs, il est nécessaire d'ajouter du texte dans les titres de page. Pour ce faire j'ai utilisé les traductions des modules et du noyau, je n'ai donc pas rajouté de texte moi même.

- Cette méthode n'est pas miraculeuse, la meilleure méthode consiste à générer soit même les titres de pages ainsi que les mots clés. Certains modules commencent à proposer de telles fonctionnalités.
De plus, les mots clés sont de moins en moins utilisés par les moteurs de recherche (à commencer par Google).

- Si je trouve un peu de temps j'essayerais de rajouter quelque chose que j'ai déjà mis en place dans la version 2 du module de News, une blacklist, cela permet de ne pas mettre certains mots dans les mots clés.
Par exemple mais ou est donc or ni car.

- Je reçois déjà, par messagerie privée et par email, énormément de demandes de développements particuliers pour Xoops (cela frôle même parfois le harcèlement), soyez sympas, n'oubliez pas que j'ai une vie privée et droit à du repos

Je ne peux malheureusement pas répondre à tout le monde et tout faire bénévolement.

A bientôt,
Hervé




Cet article provient de Communauté Francophone des Utilisateurs de Xoops
http://www.frxoops.org

L'adresse de cet article est :
http://www.frxoops.org/modules/news/article.php?storyid=918