ciao!
ho un questi sull'aggiunta ti meta tags alle pagina in angular tramite Meta.
in pratica ho questo service:
codice:
import {Injectable} from '@angular/core';
import {Meta, MetaDefinition, Title} from '@angular/platform-browser';
@Injectable({
providedIn: 'root'
})
export class SeoService {
constructor(private title: Title, private meta: Meta) { }
viewTitle(): string {
return this.title.getTitle();
}
updateTitle(title: string): void {
this.title.setTitle(title);
}
updateTags(metaTags: MetaDefinition[]): void {
metaTags.forEach(m => this.meta.updateTag(m));
}
}
nel routing faccio una cosa del genere:
codice:
{
path: '', component: DashboardDemoComponent, data: {
title: 'Home',
tags: [
{property: 'og:title', content: 'Home'},
{
property: 'og:image',
content: 'https://www.sito.it/assets/layout/images/logo_esteso.png'
}
]
}
},
poi nel component:
codice:
constructor(
private seoService: SeoService,
) {
this.route.data.subscribe(data => {
this.seoService.updateTitle(data.title);
this.seoService.updateTags(data.tags);
});
this.breadcrumbService.setItems([
{label: this.seoService.viewTitle(), routerLink: ['/']}
]);
}
ho messo online l'app, e fatto un test dei tag og su uno dei tanti siti.
mi dice sempre che og:title e og:img sono vuoti.
allora sono andato a vedere nel sorgente pagina:
- il sorgente che vedo attraverso il Ctrl+U non li mostra, come non ci fossero
- dal developer tool li vedo
a questo punto non capisco se sto sbagliando.
se mi manca un pezzo.
se è giusto così.
qualche suggerimento??