11import type { Metadata } from "next"
22
3+ const BASE_URL = process . env . NEXT_PUBLIC_BASE_URL || "https://www.git-ranker.com"
4+
35export const metadata : Metadata = {
46 title : "개발자 랭킹 | 글로벌 리더보드" ,
57 description : "GitHub 활동 기반 개발자 전투력 글로벌 랭킹. Challenger, Master, Diamond부터 Iron까지 전 세계 개발자들의 순위를 확인하세요." ,
@@ -14,7 +16,7 @@ export const metadata: Metadata = {
1416 openGraph : {
1517 type : "website" ,
1618 locale : "ko_KR" ,
17- url : "https://www.git-ranker.com/ ranking" ,
19+ url : ` ${ BASE_URL } / ranking` ,
1820 title : "개발자 랭킹 | Git Ranker 글로벌 리더보드" ,
1921 description : "GitHub 활동 기반 개발자 전투력 글로벌 랭킹. 전 세계 개발자들의 순위를 확인하세요." ,
2022 siteName : "Git Ranker" ,
@@ -25,7 +27,7 @@ export const metadata: Metadata = {
2527 description : "GitHub 활동 기반 개발자 전투력 글로벌 랭킹" ,
2628 } ,
2729 alternates : {
28- canonical : "https://www.git-ranker.com/ ranking" ,
30+ canonical : ` ${ BASE_URL } / ranking` ,
2931 } ,
3032}
3133
@@ -34,5 +36,27 @@ export default function RankingLayout({
3436} : {
3537 children : React . ReactNode
3638} ) {
37- return children
39+ const jsonLd = {
40+ "@context" : "https://schema.org" ,
41+ "@type" : "CollectionPage" ,
42+ name : "개발자 랭킹 | Git Ranker 글로벌 리더보드" ,
43+ description : "GitHub 활동 기반 개발자 전투력 글로벌 랭킹. Challenger, Master, Diamond부터 Iron까지 전 세계 개발자들의 순위를 확인하세요." ,
44+ url : `${ BASE_URL } /ranking` ,
45+ isPartOf : {
46+ "@type" : "WebSite" ,
47+ "@id" : `${ BASE_URL } /#website` ,
48+ name : "Git Ranker" ,
49+ url : BASE_URL ,
50+ } ,
51+ }
52+
53+ return (
54+ < >
55+ < script
56+ type = "application/ld+json"
57+ dangerouslySetInnerHTML = { { __html : JSON . stringify ( jsonLd ) } }
58+ />
59+ { children }
60+ </ >
61+ )
3862}
0 commit comments