Dans le référencement il très important de pouvoir modifier complètement la balise mon titre par page dans joomla. A force de recherches et d'adaptations voici un petit hack qui va vous aider à vous améliorer dans le référencement.
on y va !
Tout d'abord, faire une sauvegarde complète des fichiers Core!
1. il faut d'abord insérer le paramètre pour le hack Custom Title Tag
Et ajouter le code suivant en tant que noeud enfant du noeud
Code: Select all
<param name="title_cust" type="text" size="20" default="" label="Custom Title Tag" description="A custom Title tag to be applied to the page, this allows individual page titling" />
Dans les .xml suivant:
administrator/components/com_menus/component_item_link/component_item_link.xml
Et tous le sous dossiers du répertoire com_menus/ contenant un fichier .xml (ex. content_section/content_section.xml)
administrator/components/com_banners/banners.xml
Et tous les sous dossiers de administrator/components/ contenant un fichier .xml (ex. com_frontpage/frontpage.xml)
NB: Lors de l'installation d'un nouveau composant, vous devez rajouter cette ligne de code dans le .xml de ce composant!
2. Editer content.php
Ouvrir: components/com_content/content.php
Rechercher le code suivant (function showItem)
Code: Select all
// page title
$mainframe->setPageTitle( $row->title );
Et remplacer par le code ci-dessous:
Code: Select all
// page title
$mainframe->setPageTitle( $row->title, $params );
3. Editer joomla.php
Ouvrir : includes/joomla.php (pour Mambo: includes/mambo.php)
Rechercher le code suivant (function setPageTitle)
Code: Select all
function setPageTitle( $title=null ) {
if (@$GLOBALS['mosConfig_pagetitles']) {
$title = trim( htmlspecialchars( $title ) );
$this->_head['title'] = $title ? $GLOBALS['mosConfig_sitename'] . ' - '. $title : $GLOBALS['mosConfig_sitename'];
}
}
Et remplacer avec le code ci-dessous:
Code: Select all
function setPageTitle( $title=null, $params=null ) {
if (@$GLOBALS['mosConfig_pagetitles']) {
if ($params) {
$custom_title = $params->def( 'title_cust', '' );
} else {
global $database, $mainframe, $Itemid;
$params = new stdClass();
if ( $Itemid ) {
$menu = new mosMenu( $database );
$menu->load( $Itemid );
$params = new mosParameters( $menu->params );
} else {
$menu = "";
$params = new mosParameters( '' );
}
$custom_title = $params->def( 'title_cust', '' );
}
$title = $custom_title ? $custom_title : $GLOBALS['mosConfig_sitename'] . ' - '. $title;
$title = trim( htmlspecialchars( $title ) );
$this->_head['title'] = $title ? $title : $GLOBALS['mosConfig_sitename'];
}
}
4. Editer index.php (à la racine)
Ouvrir: index.php (pas le template, mais celui qui ce trouve à la racine du site)
Rechercher le code suivant
Code: Select all
// mainframe is an API workhorse, lots of 'core' interaction routines
$mainframe = new mosMainFrame( $database, $option, '.' );
$mainframe->initSession();
Code: Select all
$mainframe->setPageTitle();
Voilà ensuite vous allez obtenir un champ supplémentaire pour customiser votre balise title à volonté.
J'ai testé cette solution sur joomla 1.0.11 fr c'est à mon sens ok.
voilà pour l'info....