@@ -23,19 +23,113 @@ const jsonLdPerson = {
2323 "@type" : "Person" ,
2424 "name" : "William Keri" ,
2525 "url" : "https://codevoid.site" ,
26- "jobTitle" : [ "Full Stack Developer" , "Software Engineer" , "ML Engineer" ] ,
26+ "image" : "https://codevoid.site/logo.webp" ,
27+ "jobTitle" : [ "Software Engineer" , "Full Stack Developer" , "Software Engineer" , "ML Engineer" ] ,
28+ "description" : "Software Engineer, Full Stack Developer, Competitive Programmer, and Machine Learning Enthusiast" ,
29+ "knowsAbout" : [
30+ // Languages
31+ "C" , "C++" , "Python" , "Java" , "JavaScript" , "TypeScript" ,
32+ // Technologies & Frameworks
33+ "React" , "Next.js" , "Express.js" , "Node.js" , "FastAPI" , "LangChain" , "LlamaIndex" , "FAISS" ,
34+ // Databases
35+ "MongoDB" , "MySQL" , "PostgreSQL" , "Redis" , "ChromaDB" ,
36+ // Tools & Cloud
37+ "Git" , "Docker" , "Linux" , "AWS Lambda" , "AWS S3" , "CloudWatch" , "CloudFormation" , "Cloudflare" ,
38+ "Kubernetes" , "Terraform" , "Grafana" , "Prometheus" ,
39+ // Protocols & Messaging
40+ "gRPC" , "Kafka" , "WebSockets" ,
41+ // Domains
42+ "Full Stack Development" , "Machine Learning" , "Competitive Programming" ,
43+ "Data Structures" , "Algorithms" , "Web Development" , "AI/RAG Applications"
44+ ] ,
2745 "sameAs" : [
2846 "https://linkedin.com/in/codevoid" ,
2947 "https://github.com/codevoid048" ,
3048 "https://x.com/code__void" ,
3149 ]
3250}
3351
52+ const jsonLdWebSite = {
53+ "@context" : "https://schema.org" ,
54+ "@type" : "WebSite" ,
55+ "name" : "William Keri Portfolio" ,
56+ "url" : "https://codevoid.site" ,
57+ "description" : "Personal portfolio website of William Keri, Software Engineer, Full Stack Developer, Competitive Programmer, and Machine Learning Enthusiast" ,
58+ "author" : {
59+ "@type" : "Person" ,
60+ "name" : "William Keri" ,
61+ "url" : "https://codevoid.site"
62+ } ,
63+ "potentialAction" : {
64+ "@type" : "SearchAction" ,
65+ "target" : "https://codevoid.site/#search?q={search_term_string}" ,
66+ "query-input" : "required name=search_term_string"
67+ }
68+ }
69+
70+ const jsonLdBreadcrumb = {
71+ "@context" : "https://schema.org" ,
72+ "@type" : "BreadcrumbList" ,
73+ "itemListElement" : [
74+ {
75+ "@type" : "ListItem" ,
76+ "position" : 1 ,
77+ "name" : "Home" ,
78+ "item" : "https://codevoid.site"
79+ } ,
80+ {
81+ "@type" : "ListItem" ,
82+ "position" : 2 ,
83+ "name" : "Experience" ,
84+ "item" : "https://codevoid.site/#experience"
85+ } ,
86+ {
87+ "@type" : "ListItem" ,
88+ "position" : 3 ,
89+ "name" : "Projects" ,
90+ "item" : "https://codevoid.site/#projects"
91+ } ,
92+ {
93+ "@type" : "ListItem" ,
94+ "position" : 4 ,
95+ "name" : "Contact" ,
96+ "item" : "https://codevoid.site/#contact"
97+ }
98+ ]
99+ }
100+
34101export const metadata : Metadata = {
35102 metadataBase : new URL ( "https://codevoid.site" ) ,
36- title : "William Keri | Portfolio" ,
37- description : "Personal portfolio website of William Keri, Full Stack Developer" ,
103+ title : {
104+ default : "William Keri | Software Engineer" ,
105+ template : "%s | William Keri"
106+ } ,
107+ description : "Personal portfolio of William Keri - Software Engineer, Full Stack Developer, Competitive Programmer, and Machine Learning Enthusiast. Explore projects, skills, and work experience." ,
108+ alternates : {
109+ canonical : "https://codevoid.site" ,
110+ } ,
111+ robots : {
112+ index : true ,
113+ follow : true ,
114+ nocache : false ,
115+ googleBot : {
116+ index : true ,
117+ follow : true ,
118+ noimageindex : false ,
119+ 'max-video-preview' : - 1 ,
120+ 'max-image-preview' : 'large' ,
121+ 'max-snippet' : - 1 ,
122+ } ,
123+ } ,
38124 authors : [ { name : "William Keri" , url : "https://linkedin.com/in/codevoid" } ] ,
125+ creator : "William Keri" ,
126+ publisher : "William Keri" ,
127+ formatDetection : {
128+ email : true ,
129+ address : false ,
130+ telephone : false ,
131+ } ,
132+ category : "technology" ,
39133 keywords : [
40134 "William Keri" ,
41135 "codevoid" ,
@@ -51,30 +145,47 @@ export const metadata: Metadata = {
51145 "Node.js Developer" ,
52146 "JavaScript Developer" ,
53147 "TypeScript Developer" ,
148+ "Machine Learning" ,
149+ "Competitive Programmer" ,
150+ "Python Developer" ,
54151 ] ,
152+ manifest : "/manifest.json" ,
55153 icons : {
56- icon : "/logo2 .webp" ,
57- shortcut : "/logo2 .webp" ,
58- apple : "/logo2 .webp" ,
154+ icon : "/logo .webp" ,
155+ shortcut : "/logo .webp" ,
156+ apple : "/logo .webp" ,
59157 } ,
60158 openGraph : {
61- title : "William | Portfolio" ,
62- description : "Full Stack Developer, Competitive Programmer, and ML Enthusiast" ,
159+ type : "website" ,
160+ locale : "en_US" ,
161+ url : "https://codevoid.site" ,
162+ siteName : "William Keri Portfolio" ,
163+ title : "William Keri | Software Engineer" ,
164+ description : "Software Engineer, Full Stack Developer, Competitive Programmer, and ML Enthusiast. Explore my projects, skills, and work experience." ,
63165 images : [
64166 {
65- url : "https://codevoid.site/logo2 .webp" ,
167+ url : "https://codevoid.site/logo .webp" ,
66168 width : 1200 ,
67169 height : 630 ,
68- alt : "William Portfolio " ,
170+ alt : "William Keri - Software Engineer " ,
69171 } ,
70172 ] ,
71173 } ,
72174 twitter : {
73175 card : "summary_large_image" ,
74- title : "William Keri | Portfolio" ,
75- description : "Full Stack Developer, Competitive Programmer, and ML Enthusiast" ,
176+ site : "@code__void" ,
76177 creator : "@code__void" ,
77- images : [ "https://codevoid.site/logo2.webp" ] ,
178+ title : "William Keri | Software Engineer" ,
179+ description : "Software Engineer, Full Stack Developer, Competitive Programmer, and ML Enthusiast. Explore my projects, skills, and work experience." ,
180+ images : {
181+ url : "https://codevoid.site/logo.webp" ,
182+ alt : "William Keri - Software Engineer" ,
183+ } ,
184+ } ,
185+ verification : {
186+ // google: "google-verification-code",
187+ // yandex: "yandex-verification-code",
188+ // bing: "bing-verification-code",
78189 } ,
79190}
80191
@@ -109,12 +220,25 @@ export default function RootLayout({
109220 />
110221 < ThemeProvider attribute = "class" defaultTheme = "dark" enableSystem = { false } disableTransitionOnChange >
111222 { children }
223+ { /* Structured Data - JSON-LD */ }
112224 < Script
113225 id = "jsonld-person"
114226 type = "application/ld+json"
115227 strategy = "afterInteractive"
116228 dangerouslySetInnerHTML = { { __html : JSON . stringify ( jsonLdPerson ) } }
117229 />
230+ < Script
231+ id = "jsonld-website"
232+ type = "application/ld+json"
233+ strategy = "afterInteractive"
234+ dangerouslySetInnerHTML = { { __html : JSON . stringify ( jsonLdWebSite ) } }
235+ />
236+ < Script
237+ id = "jsonld-breadcrumb"
238+ type = "application/ld+json"
239+ strategy = "afterInteractive"
240+ dangerouslySetInnerHTML = { { __html : JSON . stringify ( jsonLdBreadcrumb ) } }
241+ />
118242 </ ThemeProvider >
119243 < Analytics />
120244 </ body >
0 commit comments