diff --git a/packages/telescope-core/lib/client/templates/common/layout.js b/packages/telescope-core/lib/client/templates/common/layout.js index 85366ec2a..a95892248 100644 --- a/packages/telescope-core/lib/client/templates/common/layout.js +++ b/packages/telescope-core/lib/client/templates/common/layout.js @@ -28,6 +28,10 @@ Template.layout.rendered = function(){ link.href = Settings.get('faviconUrl', '/img/favicon.ico'); document.getElementsByTagName('head')[0].appendChild(link); + // canonical + var canonicalLink = document.createElement('link'); + canonicalLink.rel = 'canonical'; + document.getElementsByTagName('head')[0].appendChild(canonicalLink); }; Template.layout.events({ diff --git a/packages/telescope-posts/lib/routes.js b/packages/telescope-posts/lib/routes.js index e9be986d1..eb0ac73ca 100644 --- a/packages/telescope-posts/lib/routes.js +++ b/packages/telescope-posts/lib/routes.js @@ -154,8 +154,11 @@ Posts.controllers.page = RouteController.extend({ onAfterAction: function () { var post = this.post(); - if (post && post.slug !== this.params.slug) { - window.history.replaceState({}, "", post.getPageUrl()); + if (post) { + if (post.slug !== this.params.slug) { + window.history.replaceState({}, "", post.getPageUrl()); + } + $('link[rel="canonical"]').attr("href", post.getPageUrl(true)); } },