Come aggiungere il titolo del sito a tutte le pagine tranne la prima pagina?


8

Nella configurazione globale di Joomla 2.5 sotto SEO, c'è l'opzione "Includi nome sito nei titoli di pagina", con le opzioni "Dopo", "Prima" o "No". Tuttavia, come si include il nome del sito ("Dopo") su tutte le pagine tranne la prima pagina? (E forse anche per altre pagine?)

Questo è su Joomla 2.5, tuttavia, vorrei anche sapere se il processo è diverso in Joomla 3.

Funzionalità di base o soluzioni di codice manuale sono preferite. Tuttavia, se esistono estensioni adatte che forniscono questa funzionalità, non esitare a suggerire anche queste.


1
Non lo so per certo, ma sospetto che la risposta sia che non puoi fare a meno di un'estensione (o di una mod al modello). Sono curioso di sapere da solo la risposta :)
Brian Peat,

Risposte:


7

Per impostare il titolo della prima pagina in modo diverso dal titolo delle altre pagine, aggiungi il seguente codice al file template.php.php verso la fine delle informazioni di testa.

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

Questo codice imposterà il titolo della prima pagina indipendentemente dal modo in cui Joomla imposta il resto delle pagine. Questo funziona su Joomla 2.5 e credo che funzionerà anche nella serie 3.x.


Grazie, questo era in realtà il metodo che ho finito per usare - funziona bene.
MrWhite,

4

RS SEO può farlo immediatamente. Nella configurazione si imposta come si desidera aggiungere il titolo del sito, quindi è possibile modificare qualsiasi pagina desiderata dopo che è stato aggiunto. Ciò è particolarmente importante per le pagine che hanno titoli lunghi che sarebbero troppo lunghi se si aggiungesse il nome del sito al titolo.


3

Quattro opzioni qui: A) usa il nativo di Joomla prima, dopo o no. Quindi vai alla voce del menu Home e aggiungi il titolo di un browser. Utilizzerà ANCORA il prima, dopo o no, ma almeno avrai un nome personalizzato da esso. Quindi sembrerà:

Fornitura di servizi per 100 anni - Nome dell'azienda

B) Aggiungi questo codice sotto il tag body aperto:

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

Questo ti dà la possibilità di usare le pipe break invece del trattino o di qualche altro personaggio a tua scelta. Puoi anche invece di usare sitename, inserire qualcos'altro e aggiungerlo a tutti i titoli del browser.

Fornire servizi per 100 anni Nome della ditta

C) Imposta il tuo Joomla su no. Scrivi manualmente tutti i titoli del browser delle voci di menu. Non orribile per i siti più piccoli. Davvero terribile per i siti più grandi.

D) Non l'ho provato, ma penso che funzionerebbe. In teoria comunque. Aggiungi un ID alla tua home page.

Questo va oltre il doctype:

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

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

E questo sostituisce il corpo

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

Ora aggiungi una classe alla tua voce di menu. Apparirà come l'ID del corpo. ORA, usa il codice fornito nell'opzione D e lancia una funzione php attorno ad essa per impedirne l'esecuzione sull'ID del corpo della tua home page (mi dispiace non so come scrivere php o lo farei per te), quindi inserire il titolo del browser nella voce del menu principale. A tutto il resto verrà aggiunto il nome del tuo sito, tranne la home page.


Grazie per tutti i suggerimenti. Ad essere sincero, non sono sicuro di come Dfunzionerebbe? Vedo che questo potrebbe essere usato per cambiare un titolo in-page con CSS forse, ma devo effettivamente scrivere TITLEsull'elemento. Alla fine ho finito per usare un tuo ibrido Be Dsuggerimenti per verificare prima che il menu attualmente attivo sia il "predefinito" (cioè siamo sulla prima pagina) e poi ho chiamato setTitle()per sovrascrivere manualmente il titolo solo per la parte anteriore pagina.
MrWhite,

Intendo usare l'id come elemento in un'istruzione php che dice "se questo corpo ha questo id, non includere questo codice che aggiunge il titolo del sito". Ma hey, se le mie divagazioni ti hanno dato un'idea, corri con essa!
Faye,

3

Ho creato un modulo che puoi assegnare a qualsiasi pagina e sovrascrivere il meta titolo e la descrizione (In realtà è per l'aggiunta di codice personalizzato a un sito e codice extra nell'intestazione della pagina, ma lo fa anche).

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

Imposta la configurazione globale come desideri che sia la maggior parte del sito e quindi utilizza il modulo per indirizzare pagine specifiche.


1

Per quanto ne so, non esiste tale opzione per le singole pagine.

Non l'ho mai provato sul joomla principale, ma ho usato un plugin chiamato " generatore SEO " in passato ", che ha opzioni per personalizzare i titoli delle pagine aggiungendo il nome del sito (simile alle opzioni core di joomla), con qualche extra impostazioni per un titolo di pagina iniziale personalizzato.

Ma se vuoi fare lo stesso per più pagine, questo plugin non lo farà, a meno che se non modifichi il suo codice e lo faccia controllare per voci di menu specifiche per id che vuoi applicare il nome del sito extra.

Potrebbero esserci altre estensioni che potrebbero offrire la gestione dell'amministratore di voci di menu di cui si desidera avere impostazioni speciali per quanto riguarda il titolo della pagina, ma non ne conosco nessuna.

Naturalmente, c'è sempre il modo manuale in cui puoi scrivere il titolo desiderato per ogni pagina.

Tuttavia la SEO relativa, usando il nome del sito in tutte queste pagine, non è sempre la migliore idea.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.