Como anexar o título do site a todas as páginas, exceto a primeira página?

8

Na Configuração Global do Joomla 2.5 em SEO, existe a opção "Incluir Nome do Site nos Títulos da Página", com as opções "Depois", "Antes" ou "Não". No entanto, como você inclui o nome do site ("Depois") em todas as páginas, exceto na primeira página? (E talvez para outras páginas também?)

Isso é no Joomla 2.5, no entanto, eu também gostaria de saber se o processo é diferente no Joomla 3.

A funcionalidade principal ou as soluções de código manual são preferidas. No entanto, se houver extensões adequadas que ofereçam essa funcionalidade, fique à vontade para sugeri-las também.

Sr. White
fonte
11
Não sei ao certo, mas suspeito que a resposta é que você não pode sem uma extensão (ou um mod para o modelo). Estou curioso para saber a resposta eu mesmo :)
Brian Peat

Respostas:

7

Para definir o título da primeira página de maneira diferente do título de outras páginas, adicione o seguinte código ao arquivo de modelo index.php no final das informações do cabeçalho.

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

Este código definirá o título da primeira página independentemente da maneira como o Joomla define o restante das páginas. Isso funciona no Joomla 2.5 e acredito que também funcionará na série 3.x.

Dan Walker
fonte
Obrigado, esse foi realmente o método que eu acabei usando - funciona bem.
MrWhite
4

O RS SEO pode fazer isso imediatamente. Na configuração, você define como deseja que o título do site seja adicionado e, em seguida, você pode editar qualquer página que desejar, depois de adicionada. Isso é particularmente importante para páginas com títulos longos que seriam muito longos se você adicionar o nome do site ao título.

Brent Friar
fonte
3

Quatro opções aqui: A) use o nativo do Joomla antes, depois ou não. Em seguida, entre no item do menu inicial e adicione um título para o navegador. AINDA usará o antes, o depois ou o não, mas pelo menos você obterá um nome personalizado. Então será parecido com:

Prestação de serviço por 100 anos - Nome da empresa

B) Adicione este código abaixo da sua etiqueta de corpo aberto:

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

Isso oferece a opção de usar quebras de tubulação em vez do traço ou algum outro caractere de sua escolha. Você também pode, em vez de usar o nome do site, colocar outra coisa lá e anexá-lo a todos os títulos do navegador.

Prestando serviço por 100 anos | Nome da empresa

C) Defina seu Joomla como não. Escreva manualmente todos os títulos do navegador do item de menu. Não é horrível para sites menores. Realmente horrível para sites maiores.

D) Eu não tentei isso, mas acho que funcionaria. Em teoria, de qualquer maneira. Adicione um ID à sua página inicial.

Isso vai acima do doctype:

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

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

E isso substitui o corpo

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

Agora adicione uma classe ao seu item de menu. Ele aparecerá como o ID do corpo. AGORA, use o código fornecido na opção D e ative uma função php para impedir que ela seja executada no corpo da sua página inicial (desculpe, eu não sei escrever php ou faria isso por você), em seguida, preencha o título do navegador no item do menu inicial. Todo o resto terá o nome do site anexado, mas a página inicial.

Faye
fonte
Obrigado por todas as sugestões. Para ser sincero, não sei como Disso funcionaria? Posso ver que isso poderia ser usado para alterar um título na página com CSS, talvez, mas preciso realmente escrever no TITLEelemento. No final, acabei usando um híbrido de suas sugestões Be Dpara verificar primeiro se o menu ativo no momento é o "padrão" (ou seja, estamos na primeira página) e depois ligar setTitle()para substituir manualmente o título apenas pela frente página.
MrWhite
Quero dizer, use o id como um elemento em uma instrução php que diz "se esse corpo tiver esse id, não inclua esse código que adiciona o título do site". Mas ei, se minhas divagações lhe deram uma idéia, corra com ela!
Faye
3

Eu criei um módulo que você pode atribuir a qualquer página e substituir o título e a descrição do meta (na verdade, é para adicionar código personalizado a um site e código extra ao cabeçalho da página, mas também faz isso).

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

Defina a configuração global como você deseja que a maioria do site seja e use o módulo para direcionar páginas específicas.

Robert Went
fonte
1

Tanto quanto eu sei, não existe essa opção para páginas individuais.

Eu nunca tentei isso no joomla principal, mas usei um plugin chamado " gerador de SEO " no passado, que tem opções para personalizar os títulos das páginas adicionando o nome do site (semelhante às opções principais do joomla), com alguns extras configurações para um título de página de primeira página personalizado.

Mas se você quiser fazer o mesmo para mais páginas, este plug-in não o fará, a menos que você modifique seu código e faça com que ele verifique itens de menu específicos por ID que você deseja aplicar o nome extra do site.

Pode haver outras extensões que possam oferecer gerenciamento administrativo de itens de menu que você deseja ter configurações especiais em relação ao título da página, mas não conheço nenhum nome.

Obviamente, sempre existe a maneira manual em que você pode escrever o título desejado para cada página.

No entanto, o SEO relacionado ao uso do nome do site em todas essas páginas nem sempre é a melhor ideia.

FFrewin
fonte