Wie wird der Site-Titel an alle Seiten außer der Startseite angehängt?


8

In der globalen Joomla 2.5-Konfiguration unter SEO gibt es die Option "Site-Name in Seitentitel einschließen" mit den Optionen "Nach", "Vorher" oder "Nein". Wie fügen Sie jedoch den Site-Namen ("After") auf allen Seiten außer der Startseite ein? (Und vielleicht auch für andere Seiten?)

Dies ist auf Joomla 2.5, aber ich würde auch gerne wissen, ob der Prozess in Joomla 3 anders ist.

Kernfunktionen oder manuelle Codelösungen werden bevorzugt. Wenn es jedoch geeignete Erweiterungen gibt, die diese Funktionalität bieten, können Sie diese auch vorschlagen.


1
Ich weiß es nicht genau, aber ich vermute, die Antwort ist, dass Sie nicht ohne eine Erweiterung (oder einen Mod für die Vorlage) auskommen können. Ich bin neugierig, die Antwort selbst zu wissen :)
Brian Peat

Antworten:


7

Um den Titel der Startseite anders als den Titel der anderen Seiten festzulegen, fügen Sie der Datei index.php gegen Ende der Kopfinformationen den folgenden Code hinzu.

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

Dieser Code legt den Titel der Startseite unabhängig davon fest, wie Joomla den Rest der Seiten festlegt. Dies funktioniert auf Joomla 2.5 und ich glaube, es wird auch in der 3.x-Serie funktionieren.


Danke, das war eigentlich die Methode, die ich letztendlich verwendet habe - funktioniert gut.
MrWhite

4

RS SEO kann dies sofort tun. In der Konfiguration legen Sie fest, wie der Site-Titel hinzugefügt werden soll. Anschließend können Sie jede gewünschte Seite bearbeiten, sobald sie hinzugefügt wurde. Dies ist besonders wichtig für Seiten mit langen Titeln, die zu lang wären, wenn Sie den Site-Namen zum Titel hinzufügen.


3

Vier Optionen hier: A) Verwenden Sie Joomlas Muttersprache vor, nach oder nein. Gehen Sie dann zu Ihrem Home-Menüpunkt und fügen Sie einen Browsertitel hinzu. Es wird NOCH das Vorher, Nachher oder Nein verwenden, aber zumindest erhalten Sie einen benutzerdefinierten Namen daraus. So sieht es aus:

100 Jahre Service - Firmenname

B) Fügen Sie diesen Code unter Ihrem Tag mit offenem Körper hinzu:

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

Dies gibt Ihnen die Möglichkeit, Rohrbrüche anstelle des Bindestrichs oder eines anderen Zeichens Ihrer Wahl zu verwenden. Sie können auch anstelle von Sitename etwas anderes einfügen und es an alle Browsertitel anhängen lassen.

100 Jahre Service leisten | Name der Firma

C) Stellen Sie Ihre Joomla auf Nr. Schreiben Sie alle Titel des Menüpunkt-Browsers manuell. Nicht schrecklich für kleinere Websites. Wirklich schrecklich für größere Websites.

D) Ich habe es nicht versucht, aber ich denke, es würde funktionieren. Theoretisch sowieso. Fügen Sie Ihrer Homepage eine ID hinzu.

Dies geht über den Doctype hinaus:

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

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

Und das ersetzt den Körper

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

Fügen Sie nun Ihrem Menüpunkt eine Klasse hinzu. Es wird als Body-ID angezeigt. Verwenden Sie JETZT den in Option D bereitgestellten Code und werfen Sie eine PHP-Funktion um ihn herum, um zu verhindern, dass er auf der Body-ID Ihrer Homepage ausgeführt wird (Entschuldigung, ich weiß nicht, wie man PHP schreibt, oder ich würde es für Sie tun). Geben Sie dann den Browsertitel in Ihr Home-Menü ein. Bei allem anderen wird Ihr Site-Name angehängt, außer der Homepage.


Vielen Dank für alle Vorschläge. Um ehrlich zu sein, bin ich mir nicht sicher, wie Ddas funktionieren würde? Ich kann sehen, dass dies verwendet werden könnte, um einen In-Page-Titel mit CSS zu ändern, aber ich muss tatsächlich in das TITLEElement schreiben . Am Ende habe ich eine Mischung aus Ihren Bund DVorschlägen verwendet, um zuerst zu überprüfen, ob das aktuell aktive Menü die "Standardeinstellung" ist (dh wir befinden uns auf der Startseite), und dann aufzurufen setTitle(), um den Titel nur für die Vorderseite manuell zu überschreiben Seite.
MrWhite

Ich meine, verwenden Sie die ID als Element in einer PHP-Anweisung, die besagt: "Wenn dieser Text diese ID hat, fügen Sie diesen Code nicht hinzu, der den Site-Titel hinzufügt." Aber hey, wenn mein Geschwafel dir eine Idee gegeben hat, lauf damit!
Faye

3

Ich habe ein Modul erstellt, das Sie jeder Seite zuweisen und Metatitel und -beschreibungen überschreiben können (es dient eigentlich zum Hinzufügen von benutzerdefiniertem Code zu einer Site und zusätzlichem Code zum Seitenkopf, aber es tut dies auch).

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

Stellen Sie die globale Konfiguration so ein, wie der größte Teil der Site sein soll, und verwenden Sie das Modul dann, um bestimmte Seiten als Ziel festzulegen.


1

Soweit ich weiß, gibt es für einzelne Seiten keine solche Option.

Ich habe dies noch nie auf dem Core-Joomla versucht, aber ich habe in der Vergangenheit ein Plugin namens " SEO-Generator " verwendet, das Optionen zum Anpassen der Seitentitel durch Hinzufügen des Site-Namens (ähnlich den Joomla-Core-Optionen) mit einigen zusätzlichen Funktionen bietet Einstellungen für einen benutzerdefinierten Titelseitentiteltitel.

Wenn Sie jedoch dasselbe für mehr Seiten tun möchten, wird dieses Plugin dies nicht tun, es sei denn, Sie ändern den Code und lassen ihn anhand der ID nach bestimmten Menüelementen suchen, um den zusätzlichen Site-Namen anzuwenden.

Möglicherweise gibt es andere Erweiterungen, die die Administratorverwaltung von Menüelementen ermöglichen, für die Sie spezielle Einstellungen für den Seitentitel vornehmen möchten, aber ich kenne keine Namen.

Natürlich gibt es immer die manuelle Möglichkeit, den gewünschten Titel für jede Seite zu schreiben.

SEO in Bezug auf die Verwendung des Site-Namens auf all diesen Seiten ist jedoch nicht immer die beste Idee.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.