mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2025-08-16 22:23:59 +02:00
Fix canonical URLs (#7531)
This commit is contained in:
@@ -6,7 +6,6 @@ seo:
|
|||||||
title: 'Consistency Patterns - roadmap.sh'
|
title: 'Consistency Patterns - roadmap.sh'
|
||||||
description: 'Everything you need to know about Week, Strong and Eventual Consistency'
|
description: 'Everything you need to know about Week, Strong and Eventual Consistency'
|
||||||
isNew: false
|
isNew: false
|
||||||
canonicalUrl: 'https://cs.fyi/guide/consistency-patterns-week-strong-eventual/'
|
|
||||||
type: 'textual'
|
type: 'textual'
|
||||||
date: 2023-01-18
|
date: 2023-01-18
|
||||||
sitemap:
|
sitemap:
|
||||||
|
@@ -60,7 +60,7 @@ const { response: userCounts } =
|
|||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout
|
<BaseLayout
|
||||||
permalink={`/${roadmapId}`}
|
permalink={`/${roadmapId}/projects`}
|
||||||
title={seoTitle}
|
title={seoTitle}
|
||||||
description={seoDescription}
|
description={seoDescription}
|
||||||
briefTitle={roadmapData.briefTitle}
|
briefTitle={roadmapData.briefTitle}
|
||||||
|
@@ -8,6 +8,7 @@ import { FriendsPage } from '../../components/Friends/FriendsPage';
|
|||||||
title='Friends'
|
title='Friends'
|
||||||
noIndex={true}
|
noIndex={true}
|
||||||
initialLoadingMessage='Loading friends'
|
initialLoadingMessage='Loading friends'
|
||||||
|
permalink="/account/friends"
|
||||||
>
|
>
|
||||||
<AccountSidebar activePageId='friends' activePageTitle='Friends'>
|
<AccountSidebar activePageId='friends' activePageTitle='Friends'>
|
||||||
<FriendsPage client:only="react" />
|
<FriendsPage client:only="react" />
|
||||||
|
@@ -8,6 +8,7 @@ import AccountLayout from '../../layouts/AccountLayout.astro';
|
|||||||
title='Activity'
|
title='Activity'
|
||||||
noIndex={true}
|
noIndex={true}
|
||||||
initialLoadingMessage={'Loading activity'}
|
initialLoadingMessage={'Loading activity'}
|
||||||
|
permalink="/account"
|
||||||
>
|
>
|
||||||
<AccountSidebar activePageId='activity' activePageTitle='Activity'>
|
<AccountSidebar activePageId='activity' activePageTitle='Activity'>
|
||||||
<ActivityPage client:only='react' />
|
<ActivityPage client:only='react' />
|
||||||
|
@@ -8,6 +8,7 @@ import { RoadCardPage } from '../../components/RoadCard/RoadCardPage';
|
|||||||
title='Road Card'
|
title='Road Card'
|
||||||
noIndex={true}
|
noIndex={true}
|
||||||
initialLoadingMessage='Preparing card'
|
initialLoadingMessage='Preparing card'
|
||||||
|
permalink="/account/road-card"
|
||||||
>
|
>
|
||||||
<AccountSidebar activePageId='road-card' activePageTitle='Road Card'>
|
<AccountSidebar activePageId='road-card' activePageTitle='Road Card'>
|
||||||
<RoadCardPage client:only="react" />
|
<RoadCardPage client:only="react" />
|
||||||
|
@@ -8,6 +8,7 @@ import { RoadmapListPage } from '../../components/CustomRoadmap/RoadmapListPage'
|
|||||||
title='Roadmaps'
|
title='Roadmaps'
|
||||||
noIndex={true}
|
noIndex={true}
|
||||||
initialLoadingMessage='Loading roadmaps'
|
initialLoadingMessage='Loading roadmaps'
|
||||||
|
permalink="/account/roadmaps"
|
||||||
>
|
>
|
||||||
<AccountSidebar activePageId='roadmaps' activePageTitle='Roadmaps'>
|
<AccountSidebar activePageId='roadmaps' activePageTitle='Roadmaps'>
|
||||||
<RoadmapListPage client:only='react' />
|
<RoadmapListPage client:only='react' />
|
||||||
|
@@ -10,6 +10,7 @@ import { ProfileSettingsPage } from '../../components/ProfileSettings/ProfileSet
|
|||||||
description=''
|
description=''
|
||||||
noIndex={true}
|
noIndex={true}
|
||||||
initialLoadingMessage={'Loading settings'}
|
initialLoadingMessage={'Loading settings'}
|
||||||
|
permalink="/account/settings"
|
||||||
>
|
>
|
||||||
<AccountSidebar activePageId='settings' activePageTitle='Settings'>
|
<AccountSidebar activePageId='settings' activePageTitle='Settings'>
|
||||||
<ProfileSettingsPage client:load />
|
<ProfileSettingsPage client:load />
|
||||||
|
@@ -8,6 +8,7 @@ import AccountLayout from '../../layouts/AccountLayout.astro';
|
|||||||
title='Update Profile'
|
title='Update Profile'
|
||||||
noIndex={true}
|
noIndex={true}
|
||||||
initialLoadingMessage={'Loading profile'}
|
initialLoadingMessage={'Loading profile'}
|
||||||
|
permalink="/account/update-profile"
|
||||||
>
|
>
|
||||||
<AccountSidebar activePageId='profile' activePageTitle='Profile'>
|
<AccountSidebar activePageId='profile' activePageTitle='Profile'>
|
||||||
<UpdatePublicProfileForm client:load />
|
<UpdatePublicProfileForm client:load />
|
||||||
|
@@ -3,6 +3,6 @@ import { ExploreAIRoadmap } from '../../components/ExploreAIRoadmap/ExploreAIRoa
|
|||||||
import BaseLayout from '../../layouts/BaseLayout.astro';
|
import BaseLayout from '../../layouts/BaseLayout.astro';
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout title='Explore AI Generated Roadmaps'>
|
<BaseLayout title='Explore AI Generated Roadmaps' permalink="/ai/explore">
|
||||||
<ExploreAIRoadmap client:load />
|
<ExploreAIRoadmap client:load />
|
||||||
</BaseLayout>
|
</BaseLayout>
|
||||||
|
@@ -3,6 +3,6 @@ import { GenerateRoadmap } from '../../components/GenerateRoadmap/GenerateRoadma
|
|||||||
import BaseLayout from '../../layouts/BaseLayout.astro';
|
import BaseLayout from '../../layouts/BaseLayout.astro';
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout title='Roadmap AI'>
|
<BaseLayout title='Roadmap AI' permalink="/ai">
|
||||||
<GenerateRoadmap client:load />
|
<GenerateRoadmap client:load />
|
||||||
</BaseLayout>
|
</BaseLayout>
|
||||||
|
@@ -25,7 +25,7 @@ const ogImageUrl =
|
|||||||
<BaseLayout
|
<BaseLayout
|
||||||
title={replaceVariables(guideData.seo.title)}
|
title={replaceVariables(guideData.seo.title)}
|
||||||
description={replaceVariables(guideData.seo.description)}
|
description={replaceVariables(guideData.seo.description)}
|
||||||
permalink={`/backend/languages`}
|
permalink={`/backend/frameworks`}
|
||||||
canonicalUrl={guideData.canonicalUrl}
|
canonicalUrl={guideData.canonicalUrl}
|
||||||
ogImageUrl={ogImageUrl}
|
ogImageUrl={ogImageUrl}
|
||||||
>
|
>
|
||||||
|
@@ -11,7 +11,7 @@ const allChangelogs = await getAllChangelogs();
|
|||||||
<BaseLayout
|
<BaseLayout
|
||||||
title='Changelogs'
|
title='Changelogs'
|
||||||
description='Changelogs for the updates and changes to roadmap.sh'
|
description='Changelogs for the updates and changes to roadmap.sh'
|
||||||
permalink='/changelogs'
|
permalink='/changelog'
|
||||||
noIndex={true}
|
noIndex={true}
|
||||||
>
|
>
|
||||||
<div class='bg-gray-100 px-4'>
|
<div class='bg-gray-100 px-4'>
|
||||||
|
@@ -7,6 +7,6 @@ const description =
|
|||||||
'Explore the community-created roadmaps to learn new skills, tools, and technologies. You can also create your own roadmap and share it with the world.';
|
'Explore the community-created roadmaps to learn new skills, tools, and technologies. You can also create your own roadmap and share it with the world.';
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout title={title} description={description}>
|
<BaseLayout title={title} description={description} permalink="/community">
|
||||||
<DiscoverRoadmaps client:load />
|
<DiscoverRoadmaps client:load />
|
||||||
</BaseLayout>
|
</BaseLayout>
|
||||||
|
@@ -56,7 +56,7 @@ const enrichedBestPractices = bestPractices.map((bestPractice) => {
|
|||||||
});
|
});
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout title='Dashboard' noIndex={true}>
|
<BaseLayout title='Dashboard' noIndex={true} permalink="/dashboard">
|
||||||
<DashboardPage
|
<DashboardPage
|
||||||
builtInRoleRoadmaps={enrichedRoleRoadmaps}
|
builtInRoleRoadmaps={enrichedRoleRoadmaps}
|
||||||
builtInSkillRoadmaps={enrichedSkillRoadmaps}
|
builtInSkillRoadmaps={enrichedSkillRoadmaps}
|
||||||
|
@@ -4,7 +4,7 @@ import AccountLayout from '../layouts/AccountLayout.astro';
|
|||||||
import {AccountTerms} from "../components/AccountTerms";
|
import {AccountTerms} from "../components/AccountTerms";
|
||||||
---
|
---
|
||||||
|
|
||||||
<AccountLayout title='Forgot Password' noIndex={true}>
|
<AccountLayout title='Forgot Password' noIndex={true} permalink="/forgot-password">
|
||||||
<div class='container'>
|
<div class='container'>
|
||||||
<div
|
<div
|
||||||
class='mx-auto flex flex-col items-start justify-start pb-28 pt-10 sm:max-w-[400px] sm:items-center sm:justify-center sm:pt-20'
|
class='mx-auto flex flex-col items-start justify-start pb-28 pt-10 sm:max-w-[400px] sm:items-center sm:justify-center sm:pt-20'
|
||||||
|
@@ -37,7 +37,7 @@ import { TipItem } from '../components/GetStarted/TipItem';
|
|||||||
<BaseLayout
|
<BaseLayout
|
||||||
title='Developer Roadmaps'
|
title='Developer Roadmaps'
|
||||||
description={'Step by step guides and paths to learn different tools or technologies'}
|
description={'Step by step guides and paths to learn different tools or technologies'}
|
||||||
permalink={'/roadmaps'}
|
permalink={'/get-started'}
|
||||||
>
|
>
|
||||||
<div class='bg-gradient-to-b from-gray-200 to-white py-4 sm:py-8 md:py-12'>
|
<div class='bg-gradient-to-b from-gray-200 to-white py-4 sm:py-8 md:py-12'>
|
||||||
<div class='container'>
|
<div class='container'>
|
||||||
|
@@ -11,7 +11,7 @@ const { response: leaderboardStats, error: leaderboardError } =
|
|||||||
await leaderboardClient.listLeaderboardStats();
|
await leaderboardClient.listLeaderboardStats();
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout title='Leaderboard'>
|
<BaseLayout title='Leaderboard' permalink="/leaderboard">
|
||||||
{leaderboardError && <ErrorPage error={leaderboardError} />}
|
{leaderboardError && <ErrorPage error={leaderboardError} />}
|
||||||
{
|
{
|
||||||
leaderboardStats && (
|
leaderboardStats && (
|
||||||
|
@@ -7,7 +7,7 @@ import AccountLayout from '../layouts/AccountLayout.astro';
|
|||||||
<AccountLayout
|
<AccountLayout
|
||||||
title='Login - roadmap.sh'
|
title='Login - roadmap.sh'
|
||||||
description='Register yourself to receive occasional emails about new roadmaps, updates, guides and videos'
|
description='Register yourself to receive occasional emails about new roadmaps, updates, guides and videos'
|
||||||
permalink={'/signup'}
|
permalink={'/login'}
|
||||||
noIndex={true}
|
noIndex={true}
|
||||||
>
|
>
|
||||||
<div class='container'>
|
<div class='container'>
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
layout: ../layouts/MarkdownLayout.astro
|
layout: ../layouts/MarkdownLayout.astro
|
||||||
title: Privacy Policy - roadmap.sh
|
title: Privacy Policy - roadmap.sh
|
||||||
noIndex: true
|
noIndex: true
|
||||||
|
permalink: /privacy
|
||||||
---
|
---
|
||||||
|
|
||||||
# Privacy Policy
|
# Privacy Policy
|
||||||
|
@@ -37,7 +37,7 @@ const githubUrl = `https://github.com/kamranahmedse/developer-roadmap/tree/maste
|
|||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout
|
<BaseLayout
|
||||||
permalink={`/projects/${projectId}`}
|
permalink={`/projects/${projectId}/solutions`}
|
||||||
title={projectData?.seo?.title}
|
title={projectData?.seo?.title}
|
||||||
briefTitle={projectData.title}
|
briefTitle={projectData.title}
|
||||||
ogImageUrl={ogImageUrl}
|
ogImageUrl={ogImageUrl}
|
||||||
|
@@ -10,7 +10,7 @@ const questionGroups = await getAllQuestionGroups();
|
|||||||
<BaseLayout
|
<BaseLayout
|
||||||
title='Questions'
|
title='Questions'
|
||||||
description={'Step by step guides and paths to learn different tools or technologies'}
|
description={'Step by step guides and paths to learn different tools or technologies'}
|
||||||
permalink={'/roadmaps'}
|
permalink={'/questions'}
|
||||||
>
|
>
|
||||||
<SimplePageHeader
|
<SimplePageHeader
|
||||||
title='Questions'
|
title='Questions'
|
||||||
|
@@ -56,7 +56,7 @@ const enrichedBestPractices = bestPractices.map((bestPractice) => {
|
|||||||
});
|
});
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout title='Dashboard' noIndex={true}>
|
<BaseLayout title='Team' noIndex={true} permalink="/team">
|
||||||
<DashboardPage
|
<DashboardPage
|
||||||
builtInRoleRoadmaps={enrichedRoleRoadmaps}
|
builtInRoleRoadmaps={enrichedRoleRoadmaps}
|
||||||
builtInSkillRoadmaps={enrichedSkillRoadmaps}
|
builtInSkillRoadmaps={enrichedSkillRoadmaps}
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
layout: ../layouts/MarkdownLayout.astro
|
layout: ../layouts/MarkdownLayout.astro
|
||||||
title: Terms and Conditions - roadmap.sh
|
title: Terms and Conditions - roadmap.sh
|
||||||
noIndex: true
|
noIndex: true
|
||||||
|
permalink: /terms
|
||||||
---
|
---
|
||||||
|
|
||||||
# Terms of Service
|
# Terms of Service
|
||||||
|
Reference in New Issue
Block a user