From 52d00a06545d590e0cb94099b002186e0df2f367 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Fri, 6 Jan 2023 22:08:49 +0400 Subject: [PATCH] Add canonicals and fix og:url on all pages --- src/layouts/BaseLayout.astro | 8 +++++++- src/pages/404.astro | 2 +- src/pages/[...topicId].astro | 18 +++++++++++++----- src/pages/[roadmapId]/index.astro | 1 + src/pages/[roadmapId]/topics.astro | 11 ++++++++--- src/pages/about.astro | 2 +- src/pages/guides/[guideId].astro | 6 +++++- src/pages/guides/index.astro | 6 +++++- src/pages/index.astro | 2 +- src/pages/pdfs.md | 1 + src/pages/privacy.md | 1 + src/pages/roadmaps.astro | 16 ++++++++++------ src/pages/signup.astro | 1 + src/pages/terms.md | 1 + src/pages/videos/[videoId].astro | 1 + src/pages/videos/index.astro | 1 + 16 files changed, 58 insertions(+), 20 deletions(-) diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index f73f7520e..5b949b964 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -14,6 +14,7 @@ export interface Props { description?: string; keywords?: string[]; noIndex?: boolean; + permalink?: string; sponsor?: SponsorType; } @@ -22,8 +23,11 @@ const { description = siteConfig.description, keywords = siteConfig.keywords, noIndex = false, + permalink = '', sponsor, } = Astro.props; + +const currentPageAbsoluteUrl = `https://roadmap.sh${permalink}`; --- @@ -53,7 +57,9 @@ const { - + + + diff --git a/src/pages/404.astro b/src/pages/404.astro index f6aff49a7..9737ece96 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -3,7 +3,7 @@ import Icon from '../components/Icon.astro'; import BaseLayout from '../layouts/BaseLayout.astro'; --- - +
+ -
+
-
-
+
+
diff --git a/src/pages/[roadmapId]/index.astro b/src/pages/[roadmapId]/index.astro index 3089867f6..bc46cfc62 100644 --- a/src/pages/[roadmapId]/index.astro +++ b/src/pages/[roadmapId]/index.astro @@ -25,6 +25,7 @@ const roadmapData = roadmapFile.frontmatter as RoadmapFrontmatter; --- + -
-
+
+
{ topics.map((topic) => { // Breadcrumbs have three additional items e.g. diff --git a/src/pages/about.astro b/src/pages/about.astro index 366fa1230..d9f005ca8 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -2,7 +2,7 @@ import BaseLayout from '../layouts/BaseLayout.astro'; --- - +
diff --git a/src/pages/guides/[guideId].astro b/src/pages/guides/[guideId].astro index 086fe9430..7dcc7aab5 100644 --- a/src/pages/guides/[guideId].astro +++ b/src/pages/guides/[guideId].astro @@ -22,7 +22,11 @@ const { guide } = Astro.props; const { frontmatter: guideData } = guide; --- - +
diff --git a/src/pages/guides/index.astro b/src/pages/guides/index.astro index 2e009d0c7..3d3ea5d5d 100644 --- a/src/pages/guides/index.astro +++ b/src/pages/guides/index.astro @@ -7,7 +7,11 @@ import { getAllGuides } from '../../lib/guide'; const guides = await getAllGuides(); --- - + +
+ -
-
-
+
+
+
{ roleRoadmaps.map((roleRoadmap) => ( diff --git a/src/pages/signup.astro b/src/pages/signup.astro index de583132e..30e0645b1 100644 --- a/src/pages/signup.astro +++ b/src/pages/signup.astro @@ -7,6 +7,7 @@ import BaseLayout from '../layouts/BaseLayout.astro';
diff --git a/src/pages/videos/index.astro b/src/pages/videos/index.astro index eb459c7cb..2ceed40b6 100644 --- a/src/pages/videos/index.astro +++ b/src/pages/videos/index.astro @@ -10,6 +10,7 @@ const videos = await getAllVideos();