From 91edc3b0ac679bfc857fc7233671dfb202cab93f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Gaul?= Date: Sun, 3 May 2015 23:06:01 +0200 Subject: [PATCH 1/2] [html,js] add 404 page also sets the meta tags for prerender: https://prerender.io/documentation/best-practices --- src/index.html | 5 +++++ src/js/config/pageTitleUpdate.js | 17 +++++++---------- src/js/config/routes.js | 9 ++++++++- src/templates/shared/404.html | 13 +++++++++++++ 4 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 src/templates/shared/404.html diff --git a/src/index.html b/src/index.html index 58229c48..b2c642ca 100644 --- a/src/index.html +++ b/src/index.html @@ -21,6 +21,11 @@ name="keywords" content="{{metaService.data.keywords}}" > + diff --git a/src/js/config/pageTitleUpdate.js b/src/js/config/pageTitleUpdate.js index ad073a0a..5af14727 100644 --- a/src/js/config/pageTitleUpdate.js +++ b/src/js/config/pageTitleUpdate.js @@ -7,16 +7,13 @@ module.exports = function(app) { ) { // event listener for title change $rootScope.$on('routeSegmentChange', function(event, current, previous) { - if ($routeSegment.chain && - $routeSegment.chain[$routeSegment.chain.length - 1] && - $routeSegment.chain[$routeSegment.chain.length - 1].params.title - ) { - metaService.set({ - title: - $routeSegment.chain[$routeSegment.chain.length - 1].params.title || - 'PaperHive' - }); - } + var params = $routeSegment.chain && + $routeSegment.chain[$routeSegment.chain.length - 1] && + $routeSegment.chain[$routeSegment.chain.length - 1].params; + metaService.set({ + title: params.title || 'PaperHive', + statusCode: params.statusCode || 200 + }); }); } ]); diff --git a/src/js/config/routes.js b/src/js/config/routes.js index 49d6033f..756acd46 100644 --- a/src/js/config/routes.js +++ b/src/js/config/routes.js @@ -5,6 +5,7 @@ module.exports = function(app) { function($routeSegmentProvider, $routeProvider) { $routeSegmentProvider .when('/', 'main') + .when('/404', '404') .when('/articles/new', 'articles_new') .when('/articles/:articleId', 'articles') .when('/articles/:articleId/activity', 'articles.activity') @@ -35,6 +36,12 @@ module.exports = function(app) { templateUrl: 'templates/main/main.html', title: 'PaperHive' }) + // 404 page not found + .segment('404', { + templateUrl: 'templates/shared/404.html', + title: '404 – page not found', + statusCode: 404 + }) .segment('articles', { templateUrl: 'templates/articles/index.html', dependencies: ['articleId'], @@ -150,7 +157,7 @@ module.exports = function(app) { }) ; - $routeProvider.otherwise({redirectTo: '/'}); + $routeProvider.otherwise({redirectTo: '/404'}); } ]); }; diff --git a/src/templates/shared/404.html b/src/templates/shared/404.html new file mode 100644 index 00000000..9b603de7 --- /dev/null +++ b/src/templates/shared/404.html @@ -0,0 +1,13 @@ +
+
+
+

+ 404 – page not found! + I'm sorry, Dave. I'm afraid I can't do that. +

+

+ The page you requested does not exist. +

+
+
+
From 2e4970e6ffe3b5c15066bbbf9a41721fc6d5ce32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Gaul?= Date: Sun, 3 May 2015 23:06:47 +0200 Subject: [PATCH 2/2] [html] use ng-if instead of ng-show links that are hidden via ng-show are crawled. ng-if fixes this. --- src/templates/shared/navbar_user.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/templates/shared/navbar_user.html b/src/templates/shared/navbar_user.html index 86c60dd7..73b07c4e 100644 --- a/src/templates/shared/navbar_user.html +++ b/src/templates/shared/navbar_user.html @@ -1,5 +1,5 @@