696 Stimmen

Wie ändere ich den Titel einer Webseite dynamisch?

Ich habe eine Webseite, die eine Reihe von Registerkarten implementiert, die jeweils unterschiedliche Inhalte anzeigen. Die Klicks auf die Registerkarten aktualisieren die Seite nicht, sondern verbergen/zeigen Inhalte auf der Client-Seite.

Jetzt gibt es die Anforderung, den Seitentitel entsprechend der ausgewählten Registerkarte auf der Seite zu ändern (aus SEO-Gründen). Ist das möglich? Kann jemand eine Lösung vorschlagen, um den Seitentitel dynamisch über JavaScript zu ändern, ohne die Seite neu zu laden?

17 Stimmen

document.title = "neuer Titel";, aber wenn die Seite IFrames hat, können Sie verwenden: window.top.document.title

0 Stimmen

Wie machen Sie Ihre Registerkartensammlung individuell und einzigartig?

3voto

goblin01 Punkte 73

Verwenden Sie document.title. Es wird für die meisten Dinge nützlich sein, aber es wird die SEO auf Ihrer Website zerstören.

Beispiel:

document.write("Titel - " + document.title + "");
document.title = "Neuer Titel hier!";
// Achtung: Dies wird den Zweck der SEO zunichte machen. Nicht nützlich für SEO-freundliche Websites.
document.write("Titel - " + document.title + "");

body {
  font-family: Consolas, 'Courier New', monospace;
}

  Alter Titel

    Lorem ipsum dolor sit amet, at movet detraxit mediocritatem eam, nam iusto abhorreant ne. Ei pro          debet adolescens voluptaria, eu minim scaevola conceptam vel. Vim ea torquatos constituto                complectitur, usu eu civibus insolens eleifend. Ex ubique quaerendum his.

3voto

Vielleicht können Sie in Ihrem Titel alle Registerkarten-Titel in einer Zeichenfolge laden und dann, sobald Sie eine der Registerkarten laden, den Titel über JavaScript ändern

z.B. setzen Sie zuerst Ihren Titel auf

Meine App | Beschreibung | Kontakt | Über uns | 

sobald Sie eine der Registerkarten laden, führen Sie aus:

document.title = "Meine App | Registerkarten-Titel";

2voto

dougd_in_nc Punkte 367

Da Suchmaschinen den Großteil des Javascripts ignorieren, müssen Sie es so gestalten, dass Suchmaschinen die Tabs ohne die Verwendung von Ajax durchsuchen können. Machen Sie jeden Tab zu einem Link mit einem href, der die gesamte Seite mit diesem ausgewählten Tab lädt. Dann kann die Seite diesen Titel im title-Tag haben.

Der onclick Event Handler kann immer noch die Seiten über Ajax für menschliche Betrachter laden.

Um die Seiten so zu sehen, wie die meisten Suchmaschinen sie sehen, deaktivieren Sie Javascript in Ihrem Browser und versuchen Sie sicherzustellen, dass das Klicken auf die Tabs die Seite mit diesem ausgewählten Tab und dem korrekten Titel lädt.

Wenn Sie über Ajax laden und den Seiten titel dynamisch nur mit Javascript ändern möchten, dann tun Sie das:

document.title = 'Setzen Sie den neuen Titel hier ein';

Allerdings werden Suchmaschinen diese Änderung, die in Javascript vorgenommen wurde, nicht sehen.

2voto

yazzer Punkte 513

Sie können JavaScript verwenden. Einige Bots, einschließlich Google, werden das JavaScript ausführen, um von der SEO zu profitieren (Anzeige des richtigen Titels in den SERPs).

document.title = "Google wird dieses JS ausführen und den Titel in den Suchergebnissen anzeigen!";

Dies ist jedoch komplexer, da Tabs angezeigt und ausgeblendet werden, ohne die Seite neu zu laden oder die URL zu ändern. Möglicherweise hilft es, ein Anchor hinzuzufügen, wie es andere angegeben haben. Ich muss meine Antwort eventuell zurückziehen.

Artikel, die positive Ergebnisse zeigen: http://www.aukseo.co.uk/use-javascript-to-generate-seo-friendly-title-tags-1275/ http://www.ifinity.com.au/2012/10/04/Changing_a_Page_Title_with_Javascript_to_update_a_Google_SERP_Entry

Gehe nicht immer davon aus, dass ein Bot kein JavaScript ausführt. http://searchengineland.com/tested-googlebot-crawls-javascript-heres-learned-220157 Google und andere Suchmaschinen wissen, dass die besten Ergebnisse, die indiziert werden sollen, die Ergebnisse sind, die der tatsächliche Endbenutzer in seinem Browser sehen wird, einschließlich JavaScript.

2voto

Rich Punkte 876

Ein Weg, der mir einfällt, der bei der SEO helfen kann und dennoch Ihre Registerkarten-Seiten beibehält, wäre die Verwendung von benannten Ankerpunkten, die jeder Registerkarte entsprechen, wie zum Beispiel:

http://www.beispiel.com/meineseite#tab1, http://www.beispiel.com/meineseite#tab2, usw.

Sie müssten serverseitige Verarbeitung haben, um die URL zu analysieren und den initialen Seitentitel festzulegen, wenn der Browser die Seite rendert. Ich würde auch gleich diese Registerkarte zur "aktiven" machen. Wenn die Seite geladen ist und ein tatsächlicher Benutzer die Registerkarten wechselt, würden Sie JavaScript verwenden, um document.title zu ändern, wie es andere Benutzer bereits erklärt haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X