Angular2 - SEO - wie man die Metabeschreibung manipuliert
Suchergebnissen in google angezeigt werden, über TitleTag und die <meta name="description"..."/>
Tag.
Die <title>
-Tag ist editiable über Angular2 so ändern Sie-Seite Titel in angular2 router
Was übrig bleibt, ist die Beschreibung.
Ist es moeglich zu schreiben, die eine Richtlinie in angular2, die Bearbeitung der meta-tags in der <head>
Teil meiner Seite.
So wird abhängig von der gewählten route, die meta-Beschreibung änderungen wie:
<meta name="description" content="**my description for this route**"/>
InformationsquelleAutor der Frage Ronald Padur | 2016-03-07
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seit Angular4, die Sie verwenden können,Winkel-Meta-service.
InformationsquelleAutor der Antwort Nico Toub
Ist es möglich. Ich setzte es in meine app und unter mir die Beschreibung, wie es gemacht wird.
Die grundlegende Idee ist die Verwendung
Meta
aus@angular/platform-browser
Dynamisch ändern, insbesondere meta-tag müssen Sie:
removeTag(attrSelector: string) : void
Methode.
addTag(tag: MetaDefinition, forceCreation?:
Methode.boolean) : HTMLMetaElement
Haben, und Sie haben, es zu tun, wenn der router feuert route change-Ereignis.
Beachten Sie: In der Tat ist es auch notwendig, um Standard -
<title>...</title>
und<meta name="description"..." content="..."/>
im Kopf index.html so, bevor es festgelegt ist dynamisch, es gibt bereits einige statische Inhalte.Meine
app-routing.module.ts
Inhalt:data
- Objekt-Feld fürjede route. Es enthält
title
undmetaDescription
stringsdie verwendet werden, als Titel und meta-tag-Inhalte.
router Veranstaltung. Rxjs es verwendet wird, aber in der Tat ist es nicht notwendig, es zu benutzen. Regelmäßige
if statements
undloops
verwendet werden könnte, insead stream, filtern und anzeigen.verwenden Sie info, wie
title
undmetaDescription
strings.<title>...</title>
und<meta name="description"..." content="..."/>
tags.Effekte:
Erste Komponente
Zweite Komponente
In der Tat habe ich derzeit eine etwas anspruchsvollere version dieser Lösung, die verwendet auch ngx-übersetzen zeigen unterschiedliche Titel und meta-Beschreibung für verschiedene Sprachen.
Vollständigen code finden Sie im angular2-bootstrap-translate-website-starter Projekt.
Die
app-routing.module.ts
Datei mit dem ngx-übersetzen-Lösung ist genau hier: app-routing.- Modul.ts.Dort ist auch die Produktion der app, die verwendet die gleiche Lösung: http://www.online-utils.com.
Sicher, es ist nicht der einzige Weg und es gibt bestimmt bessere Wege dies zu tun. Aber getestet habe ich diese Lösung und es funktioniert.
In der Tat die Lösung ist sehr ähnlich zu diese von den entsprechenden post zum ändern von Titel: So ändern Sie-Seite Titel in angular2 router.
Eckig Meta-docs: https://angular.io/docs/ts/latest/api/platform-browser/index/Meta-class.html. In der Tat, Sie sind nicht sehr informativ, und ich hatte zu Experimentieren und sehen in real .js-code, um diese dynamische meta-Wandel der Arbeit.
InformationsquelleAutor der Antwort luke
Habe ich entwickelt und veröffentlicht gerade @ngx-meta/core - plugin, das Bearbeiten der meta-tags auf die route-Ebene, und ermöglicht die Einstellung der meta-tags programmgesteuert innerhalb der Komponente Konstruktor.
Finden Sie detaillierte Anweisungen zu @ngx-meta/core github-repository. Auch die Quelldateien kann hilfreich sein, die Einführung einer eigenen Logik.
InformationsquelleAutor der Antwort Burak Tasci
Derzeit gibt es keine out-of-the-box-Lösung, die nur eine offene Frage, um es zu implementieren https://github.com/angular/angular/issues/7438.
Können Sie natürlich etwas umzusetzen, wie der Titel service selbst, verwenden Sie einfach die TitleService als Vorlage
Einen
Meta
service ähnlichTitle
service ist in den Werken (derzeit nur einen pull-request).InformationsquelleAutor der Antwort Günter Zöchbauer