web-dev-qa-db-fra.com

Comment ajouter le titre du site à toutes les pages sauf la page d'accueil?

Dans la configuration globale de Joomla 2.5 sous SEO, l'option "Inclure le nom du site dans les titres de page" est proposée, avec les options "Après", "Avant" ou "Non". Cependant, comment inclure le nom du site ("Après") sur toutes les pages sauf la page d'accueil? (Et peut-être aussi pour d'autres pages?)

Ceci est sur Joomla 2.5, cependant, je voudrais aussi savoir si le processus est différent dans Joomla 3.

Les fonctionnalités de base ou les solutions de code manuel sont préférées. Cependant, s'il existe des extensions appropriées offrant cette fonctionnalité, n'hésitez pas à les suggérer également.

8
MrWhite

Pour définir le titre de la page d'accueil différemment des titres des autres pages, ajoutez le code suivant au fichier template.index.php à la fin de l'information d'en-tête.

$menu = $app->getMenu();
    if ($menu->getActive() == $menu->getDefault()) {
    $this->setTitle( 'Whatever You Want Title' );
    }

Ce code définira le titre de la page d'accueil indépendamment de la manière dont Joomla définira le reste des pages. Cela fonctionne sur Joomla 2.5 et je crois que cela fonctionnera également dans la série 3.x.

7
Dan Walker

RS SEO peut le faire hors de la boîte. Dans la configuration que vous définissez, vous souhaitez ajouter le titre du site. Vous pouvez ensuite éditer la page de votre choix une fois celui-ci ajouté. Cela est particulièrement important pour les pages comportant des titres longs qui seraient trop longues si vous ajoutez le nom du site au titre.

4
Brent Friar

Quatre options ici: A) utiliser le langage natif de Joomla avant, après ou non. Ensuite, allez dans votre élément de menu d'accueil et ajoutez un titre de navigateur. Il utilisera TOUJOURS l’avant, l’après ou non, mais au moins vous en obtiendrez un nom personnalisé. Donc ça va ressembler à:

Fournir un service pendant 100 ans - Nom de l'entreprise

B) Ajoutez ce code sous votre balise open body:

 <?php 
 $app = JFactory::getApplication();
 $this->setTitle($this->getTitle().' | '.$app->getCfg('sitename'));
 ?>

Cela vous donne la possibilité d'utiliser des ruptures de tuyaux au lieu du tiret ou de tout autre caractère de votre choix. Vous pouvez également, au lieu d'utiliser sitename, ajouter quelque chose et l'ajouter à tous les titres de navigateur.

Fournir un service depuis 100 ans | Nom de la compagnie

C) Réglez votre Joomla sur non. Écrire manuellement tous les titres du navigateur d’éléments de menu. Pas horrible pour les petits sites. Vraiment horrible pour les grands sites.

D) Je n'ai pas essayé cela, mais je pense que cela fonctionnerait. En théorie quand même. Ajoutez un identifiant à votre page d'accueil.

Cela dépasse le doctype:

<?php
  $app = JFactory::getApplication();
  $menu = $app->getMenu()->getActive();
  $pageclass = '';

  if (is_object($menu))
    $pageclass = $menu->params->get('pageclass_sfx');
?>

Et cela remplace le corps

<body id="<?php echo $pageclass ? htmlspecialchars($pageclass) : 'default'; ?>">

Ajoutez maintenant une classe à votre élément de menu. Il apparaîtra comme l'identifiant du corps. MAINTENANT, utilisez le code fourni dans l'option D, et lancez une fonction php pour l'empêcher de s'exécuter sur l'ID du corps de votre page d'accueil (désolé, je ne sais pas comment écrire php ou je le ferais pour vous), puis remplissez le titre du navigateur dans votre élément de menu d'accueil. Le nom de votre site sera ajouté à tous les autres, à l'exception de la page d'accueil.

3
Faye

J'ai créé un module que vous pouvez affecter à n'importe quelle page et remplacer le titre et la description de méta (c'est en fait pour ajouter du code personnalisé à un site et du code supplémentaire à l'en-tête de la page, mais c'est également le cas).

http://extensions.joomla.org/extensions/core-enhancements/coding-a-scripts-integration/custom-code-in-modules/17842

Définissez la configuration globale de la manière dont vous souhaitez utiliser la majeure partie du site, puis utilisez le module pour cibler des pages spécifiques.

3
Robert Went

Autant que je sache, cette option n'existe pas pour les pages individuelles.

Je n’ai jamais essayé cela sur le noyau de Joomla, mais j’ai utilisé un plugin nommé " générateur de référencement " dans le passé, qui offre des options pour personnaliser les titres de page en ajoutant le nom du site (semblable au nom de joomla. options de base), avec quelques paramètres supplémentaires pour un titre de page de garde personnalisé.

Mais si vous voulez faire la même chose pour plus de pages, ce plugin ne le fera pas, sauf si vous modifiez son code et le faites vérifier les éléments de menu spécifiques par identifiant pour lesquels vous voulez appliquer le nom de site supplémentaire.

Il se peut que d’autres extensions offrent aux administrateurs la gestion des éléments de menu pour lesquels vous souhaitez définir des paramètres spéciaux en ce qui concerne le titre de la page, mais je ne sais pas comment les nommer.

Bien sûr, il y a toujours la manière manuelle où vous pouvez écrire le titre souhaité pour chaque page.

Toutefois, en ce qui concerne le référencement, l’utilisation du nom du site dans toutes ces pages n’est pas toujours la meilleure idée.

1
FFrewin