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?

917voto

Alex Fort Punkte 17757

Aktualisierung: gemäß den Kommentaren und Verweis auf SearchEngineLand werden die meisten Webcrawler den aktualisierten Titel indizieren. Die unten stehende Antwort ist veraltet, aber der Code ist immer noch anwendbar.

Sie können einfach etwas wie document.title = "Dies ist der neue Seitentitel."; machen, aber das würde dem Zweck von SEO völlig widersprechen. Die meisten Crawler werden JavaScript sowieso nicht unterstützen, daher werden sie den Inhalt des <title>-Elements als Seitentitel übernehmen.

Wenn Sie möchten, dass dies mit den meisten wichtigen Crawlern kompatibel ist, müssen Sie tatsächlich den Titel-Tag selbst ändern, was das Neuladen der Seite (PHP oder ähnliches) involvieren würde. Sie werden das nicht umgehen können, wenn Sie den Seitentitel ändern möchten, so dass ein Crawler dies sehen kann.

218voto

JLarky Punkte 9015

Ich möchte aus der Zukunft grüßen :) Dinge, die kürzlich passiert sind:

  1. Google führt jetzt JavaScript aus, das auf Ihrer Website vorhanden ist1
  2. Die Leute nutzen jetzt Dinge wie React.js, Ember und Angular, um komplexe JavaScript-Aufgaben auf der Seite auszuführen, die immer noch von Google indiziert sind1
  3. Sie können die HTML5-History-API (pushState, react-router, ember, angular) verwenden, die es Ihnen ermöglicht, Dinge wie separate URLs für jeden Tab, den Sie öffnen möchten, zu haben, und Google wird dies indizieren1

Um Ihre Frage zu beantworten: Sie können den Titel und andere Meta-Tags sicher aus JavaScript ändern (Sie können auch etwas wie https://prerender.io hinzufügen, wenn Sie nicht-Google-Suchmaschinen unterstützen möchten), stellen Sie sie einfach als separate URLs zur Verfügung (ansonsten wie soll Google wissen, dass es sich um verschiedene Seiten handelt, die in den Suchergebnissen angezeigt werden sollen?). Ändern von SEO-bezogenen Tags (nachdem der Benutzer die Seite durch Klicken auf etwas geändert hat) ist einfach:

if (document.title != newTitle) {
    document.title = newTitle;
}
$('meta[name="description"]').attr("content", newDescription);

Stellen Sie einfach sicher, dass CSS und JavaScript nicht in der robots.txt-Datei blockiert sind, Sie können den Fetch as Google-Dienst in den Google Webmaster-Tools verwenden.

1: http://searchengineland.com/tested-googlebot-crawls-javascript-heres-learned-220157

74voto

lc. Punkte 109470

Verwenden Sie document.title.

Siehe diese Seite für ein rudimentäres Tutorial.

58voto

Kev Punkte 15003

Der Code ist
document.title = 'test'

47voto

Sarat Punkte 1608

Ich kann nicht sehen, wie das Ändern des Seitentitels über Javascript der SEO helfen wird. Die meisten (oder alle) Suchroboter führen kein Javascript aus und lesen nur den ursprünglich geladenen Titel, der im Markup steht.

Wenn du SEO helfen möchtest, musst du den Seitentitel im Backend ändern und verschiedene Versionen der Seite bereitstellen.

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