From 52a19072af3736cc787bfddd55d54e053ac65941 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20H=C3=A4hnlein?= Date: Thu, 20 Feb 2020 15:20:04 +0100 Subject: [PATCH] feat: provide preview image for social media sharing - add og:image to meta tags (#126) - use default image for all pages - use product image for product detail pages --- .../seo-attribute/seo-attribute.model.ts | 1 + .../extensions/seo/store/seo/seo.effects.ts | 46 +++++++++++++----- src/assets/img/og-image-default.jpg | Bin 0 -> 55290 bytes 3 files changed, 34 insertions(+), 13 deletions(-) create mode 100644 src/assets/img/og-image-default.jpg diff --git a/src/app/core/models/seo-attribute/seo-attribute.model.ts b/src/app/core/models/seo-attribute/seo-attribute.model.ts index 3daf875304..28dbb429ba 100644 --- a/src/app/core/models/seo-attribute/seo-attribute.model.ts +++ b/src/app/core/models/seo-attribute/seo-attribute.model.ts @@ -3,4 +3,5 @@ export interface SeoAttributes { metaTitle?: string; robots?: string[]; canonical?: string; + 'og:image'?: string; } diff --git a/src/app/extensions/seo/store/seo/seo.effects.ts b/src/app/extensions/seo/store/seo/seo.effects.ts index b4778df880..9f04d63c56 100644 --- a/src/app/extensions/seo/store/seo/seo.effects.ts +++ b/src/app/extensions/seo/store/seo/seo.effects.ts @@ -1,7 +1,8 @@ -import { DOCUMENT } from '@angular/common'; -import { Inject, Injectable } from '@angular/core'; +import { DOCUMENT, isPlatformServer } from '@angular/common'; +import { Inject, Injectable, Optional, PLATFORM_ID } from '@angular/core'; import { Actions, Effect, ofType } from '@ngrx/effects'; import { Store, select } from '@ngrx/store'; +import { REQUEST } from '@nguniversal/express-engine/tokens'; import { MetaService } from '@ngx-meta/core'; import { TranslateService } from '@ngx-translate/core'; import { mapToParam, ofRoute } from 'ngrx-router'; @@ -21,14 +22,32 @@ import { SeoActionTypes, SetSeoAttributes } from './seo.actions'; @Injectable() export class SeoEffects { canonicalLink: HTMLLinkElement; + baseURL: string; + ogImageDefault: string; constructor( private actions$: Actions, private store: Store<{}>, private meta: MetaService, private translate: TranslateService, - @Inject(DOCUMENT) private doc: Document + @Inject(DOCUMENT) private doc: Document, + @Inject(PLATFORM_ID) private platformId: string, + // tslint:disable-next-line:no-any + @Optional() @Inject(REQUEST) private request: any ) { + // get baseURL + if (isPlatformServer(this.platformId)) { + this.baseURL = `${this.request.protocol}://${this.request.get('host') + + this.doc.querySelector('base').getAttribute('href')}`; + } else { + this.baseURL = this.doc.baseURI; + } + + // set og:image default (needs to be an absolute URL) + this.ogImageDefault = `${this.baseURL}assets/img/og-image-default.jpg`; + this.meta.setTag('og:image', this.ogImageDefault); + + // set canonical default this.canonicalLink = this.doc.querySelector('link[rel="canonical"]'); if (!this.canonicalLink) { this.canonicalLink = this.doc.createElement('link'); @@ -48,7 +67,8 @@ export class SeoEffects { this.meta.setTitle(seoAttributes.metaTitle); this.meta.setTag('description', seoAttributes.metaDescription); this.meta.setTag('robots', seoAttributes.robots && seoAttributes.robots.join(',')); - this.canonicalLink.setAttribute('href', seoAttributes.canonical || this.doc.URL); + this.meta.setTag('og:image', seoAttributes['og:image'] || this.ogImageDefault); + this.canonicalLink.setAttribute('href', this.baseURL + seoAttributes.canonical || this.doc.URL); } }) ); @@ -64,7 +84,7 @@ export class SeoEffects { c => c && c.seoAttributes && { - canonical: `/category/${c.uniqueId}`, + canonical: `category/${c.uniqueId}`, ...c.seoAttributes, } ), @@ -84,14 +104,14 @@ export class SeoEffects { whenTruthy(), map(p => (ProductHelper.isVariationProduct(p) && p.productMaster()) || p), distinctUntilKeyChanged('sku'), - map( - p => - p && - p.seoAttributes && { - canonical: generateProductRoute(p, p.defaultCategory()), - ...p.seoAttributes, - } - ), + map(p => { + const productImage = ProductHelper.getPrimaryImage(p, 'L'); + const seoAttributes = { + canonical: generateProductRoute(p, p.defaultCategory()), + 'og:image': productImage && productImage.effectiveUrl, + }; + return p.seoAttributes ? { ...seoAttributes, ...p.seoAttributes } : seoAttributes; + }), whenTruthy() ) ), diff --git a/src/assets/img/og-image-default.jpg b/src/assets/img/og-image-default.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7b7f58ea42dcca58ba7d94ac5f8d3359e1d8cbff GIT binary patch literal 55290 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