Skip to content

Commit 7cbb512

Browse files
committed
Exp Seo
1 parent aeb081f commit 7cbb512

File tree

7 files changed

+160
-96
lines changed

7 files changed

+160
-96
lines changed

data/faq.yaml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
faqs:
2+
- question: "What is CodeFryDev?"
3+
answer: "CodeFryDev is your ultimate destination for diverse digital content and tools. We offer an extensive game collection, innovative productivity apps, micro applications for quick solutions, educational materials, interactive courses, and comprehensive tutorials for all skill levels."
4+
5+
- question: "What types of tools does CodeFryDev offer?"
6+
answer: "CodeFryDev offers four main categories: Creative & Assets (art, text tools, wallpapers, 3D models), Tools & Utilities (AI tools, CSV tools, JSON formatters, meta tag generators), Games & Fun (various games including Chain Reaction, Wordle, Snake), and Site & External Links (about, timeline, store, privacy)."
7+
8+
- question: "Are the tools and games free to use?"
9+
answer: "Most of our web-based tools and games are free to use. Some premium features or mobile apps may have different pricing models. Check individual tool pages for specific details."
10+
11+
- question: "Do I need to create an account to use the tools?"
12+
answer: "Most of our tools can be used without creating an account. Simply visit the tool page and start using it immediately. Some advanced features may require registration."
13+
14+
- question: "What AI tools are available?"
15+
answer: "We offer several AI-powered tools including AI SocialSnap, AI Meme Generator, Visual Note AI, Aqua Tracker AI, AI Web Summarizer, Profile AI, and CFD Chat AI. These tools help with content creation, summarization, and productivity."
16+
17+
- question: "Can I use these tools on mobile devices?"
18+
answer: "Yes, most of our tools are responsive and work on mobile devices. We also have dedicated mobile apps available on the Google Play Store for enhanced mobile experience."
19+
20+
- question: "How can I contact CodeFryDev for support?"
21+
answer: "You can reach us through our about page or contact us via the information provided on our website. We're committed to providing excellent support for all our users."
22+
23+
- question: "Is my data secure when using CodeFryDev tools?"
24+
answer: "Yes, we take data security seriously. Most of our tools process data locally in your browser, and we follow best practices for data protection. Please review our privacy policy for detailed information."
25+
26+
- question: "What programming languages and technologies does CodeFryDev use?"
27+
answer: "CodeFryDev uses modern web technologies including HTML5, CSS3, JavaScript, and various frameworks. Our backend services are built with .NET, and we also develop mobile apps using Unity and other cross-platform technologies."
28+
29+
- question: "Can I contribute to CodeFryDev projects?"
30+
answer: "Yes! CodeFryDev is open to contributions. You can find our projects on GitHub and contribute through pull requests, bug reports, or feature suggestions. Check our about page for more information on how to get involved."
31+
32+
- question: "How often are new tools and games added?"
33+
answer: "We regularly update our collection with new tools and games. Follow our updates section or social media channels to stay informed about the latest additions and improvements."
34+
35+
- question: "Do you offer tutorials for learning web development?"
36+
answer: "Yes, CodeFryDev provides comprehensive tutorials and educational materials for web development, covering topics from basic HTML/CSS to advanced frameworks and best practices. Our tutorials are designed for all skill levels."

layouts/about/about.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
<html lang="en">
33
<head>
44
{{ partial "header.html" . }}
5+
<meta name="description" content="Learn about CodeFryDev - your ultimate destination for diverse digital content, tools, games, and educational resources. Discover our mission and team.">
6+
<meta name="keywords" content="about codefrydev, codefrydev team, digital tools, web development, mobile apps, games, tutorials">
7+
<title>About - CodeFryDev | Learn More About Us</title>
8+
<link rel="canonical" href="{{ .Permalink }}">
59
<link rel="stylesheet" href="/css/about.css">
610
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">
711
</head>

layouts/ai/ai.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33

44
<head>
55
{{ partial "header.html" . }}
6-
6+
<meta name="description" content="Discover powerful AI tools by CodeFryDev. Use AI SocialSnap, Meme Generator, Visual Note AI, Aqua Tracker, and more AI-powered utilities.">
7+
<meta name="keywords" content="AI tools, artificial intelligence, AI generator, social media AI, meme generator, visual notes, AI summarize, codefrydev AI">
8+
<title>AI Tools - CodeFryDev | AI-Powered Utilities</title>
9+
<link rel="canonical" href="{{ .Permalink }}">
710
<link rel="stylesheet" href="/css/internal.css">
811
</head>
912

layouts/games/games.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33

44
<head>
55
{{ partial "header.html" . }}
6+
<meta name="description" content="Play fun and engaging games by CodeFryDev. Enjoy Chain Reaction, Wordle, Snake, and more exciting games for free.">
7+
<meta name="keywords" content="games, online games, free games, chain reaction, wordle, snake, codefrydev games">
8+
<title>Games - CodeFryDev | Free Online Games</title>
9+
<link rel="canonical" href="{{ .Permalink }}">
610
<link rel="stylesheet" href="/css/internal.css">
711
</head>
812

layouts/index.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
<html lang="en">
33
<head>
44
{{ partial "header.html" . }}
5+
<meta name="description" content="CodeFryDev - Your ultimate destination for diverse digital content and tools. Enjoy our extensive game collection, innovative productivity apps, and comprehensive tutorials for all skill levels.">
6+
<meta name="keywords" content="codefrydev, digital tools, games, productivity apps, tutorials, design resources, AI tools, creative tools, web development">
7+
<title>CodeFryDev | Games, Apps, Tutorials, and Design Tools</title>
8+
<link rel="canonical" href="{{ .Permalink }}">
59
{{ with resources.Get "css/home.css" }}
610
{{ $minifiedCSS := . | resources.Minify }}
711
<link rel="stylesheet" href="{{ $minifiedCSS.RelPermalink }}">
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
{{/* Enhanced JSON-LD that auto-generates from Hugo content and page data using jsonify to ensure valid JSON */}}
2+
{{- $graph := slice -}}
3+
4+
{{- /* Organization */ -}}
5+
{{- $org := dict
6+
"@type" "Organization"
7+
"@id" (print .Site.BaseURL "#organization")
8+
"name" .Site.Title
9+
"url" .Site.BaseURL
10+
"logo" (dict "@type" "ImageObject" "url" (print .Site.BaseURL "images/IconCodefrydev.svg") "width" 96 "height" 96)
11+
"description" .Site.Params.description
12+
"foundingDate" "2023"
13+
"founder" (dict "@type" "Person" "name" .Site.Author.name)
14+
"sameAs" (slice "https://github.com/codefrydev" "https://play.google.com/store/apps/developer?id=CodeFryDev")
15+
"contactPoint" (dict "@type" "ContactPoint" "contactType" "customer service" "url" (print .Site.BaseURL "about"))
16+
"areaServed" "Worldwide"
17+
"knowsAbout" (slice "Web Development" "Mobile App Development" "Game Development" "AI Tools" "Creative Design" "Productivity Tools")
18+
-}}
19+
{{- $graph = $graph | append $org -}}
20+
21+
{{- /* Website */ -}}
22+
{{- $website := dict
23+
"@type" "WebSite"
24+
"@id" (print .Site.BaseURL "#website")
25+
"name" .Site.Title
26+
"url" .Site.BaseURL
27+
"description" .Site.Params.description
28+
"publisher" (dict "@id" (print .Site.BaseURL "#organization"))
29+
"potentialAction" (dict "@type" "SearchAction" "target" (dict "@type" "EntryPoint" "urlTemplate" (print .Site.BaseURL "search?q={search_term_string}")) "query-input" "required name=search_term_string")
30+
"inLanguage" (.Site.LanguageCode | default "en-us")
31+
"copyrightYear" (now.Format "2006")
32+
"copyrightHolder" (dict "@id" (print .Site.BaseURL "#organization"))
33+
-}}
34+
{{- $graph = $graph | append $website -}}
35+
36+
{{- /* FAQ */ -}}
37+
{{- $faqItems := slice -}}
38+
{{- range .Site.Data.faq.faqs -}}
39+
{{- $faqItems = $faqItems | append (dict "@type" "Question" "name" .question "acceptedAnswer" (dict "@type" "Answer" "text" .answer)) -}}
40+
{{- end -}}
41+
{{- $faq := dict "@type" "FAQPage" "mainEntity" $faqItems -}}
42+
{{- $graph = $graph | append $faq -}}
43+
44+
{{- /* Home ItemList */ -}}
45+
{{- if .IsHome -}}
46+
{{- $homeLists := slice -}}
47+
{{- range .Site.Data.home.categories -}}
48+
{{- $catName := .name -}}
49+
{{- $items := slice -}}
50+
{{- range $idx, $it := .items -}}
51+
{{- $items = $items | append (dict "@type" "ListItem" "position" (add $idx 1) "item" (dict "@type" "WebApplication" "name" $it.name "url" ($it.url | absURL) "description" (print $it.name " - " $catName " tool by CodeFryDev") "applicationCategory" $catName "operatingSystem" "Web Browser" "offers" (dict "@type" "Offer" "price" "0" "priceCurrency" "USD" "availability" "https://schema.org/InStock") "publisher" (dict "@id" (print $.Site.BaseURL "#organization")))) -}}
52+
{{- end -}}
53+
{{- $homeLists = $homeLists | append (dict "@type" "ItemList" "name" .name "description" (print .name " tools and resources") "numberOfItems" (len .items) "itemListElement" $items) -}}
54+
{{- end -}}
55+
{{- $home := dict "@type" "ItemList" "name" "CodeFryDev Tools and Games Collection" "description" "Complete collection of creative tools, games, and utilities" "url" .Site.BaseURL "numberOfItems" (len .Site.Data.home.categories) "itemListElement" $homeLists -}}
56+
{{- $graph = $graph | append $home -}}
57+
{{- end -}}
58+
59+
{{- /* Games page */ -}}
60+
{{- if eq .Section "games" -}}
61+
{{- $gameItems := slice -}}
62+
{{- range $idx, $g := .Site.Data.games.data -}}
63+
{{- $gameItems = $gameItems | append (dict "@type" "ListItem" "position" (add $idx 1) "item" (dict "@type" "VideoGame" "name" $g.name "url" ($g.url | absURL) "description" (print $g.name " - A fun game by CodeFryDev") "genre" "Casual Game" "gamePlatform" "Web Browser" "operatingSystem" "Any" "applicationCategory" "Game" "offers" (dict "@type" "Offer" "price" "0" "priceCurrency" "USD" "availability" "https://schema.org/InStock") "publisher" (dict "@id" (print $.Site.BaseURL "#organization")))) -}}
64+
{{- end -}}
65+
{{- $games := dict "@type" "ItemList" "name" "CodeFryDev Games Collection" "description" "Collection of fun and engaging games developed by CodeFryDev" "url" .Permalink "numberOfItems" (len .Site.Data.games.data) "itemListElement" $gameItems -}}
66+
{{- $graph = $graph | append $games -}}
67+
{{- end -}}
68+
69+
{{- /* AI page */ -}}
70+
{{- if eq .Section "ai" -}}
71+
{{- $toolItems := slice -}}
72+
{{- range $idx, $t := .Site.Data.ai.data -}}
73+
{{- $toolItems = $toolItems | append (dict "@type" "ListItem" "position" (add $idx 1) "item" (dict "@type" "SoftwareApplication" "name" $t.name "url" ($t.url | absURL) "description" (print $t.name " - AI-powered tool by CodeFryDev") "applicationCategory" "AI Tool" "operatingSystem" "Web Browser" "softwareVersion" "1.0" "offers" (dict "@type" "Offer" "price" "0" "priceCurrency" "USD" "availability" "https://schema.org/InStock") "publisher" (dict "@id" (print $.Site.BaseURL "#organization")) "featureList" (slice "AI-powered functionality" "Easy to use interface" "No installation required" "Cross-platform compatibility"))) -}}
74+
{{- end -}}
75+
{{- $ai := dict "@type" "ItemList" "name" "CodeFryDev AI Tools Collection" "description" "Collection of AI-powered tools and utilities for productivity and creativity" "url" .Permalink "numberOfItems" (len .Site.Data.ai.data) "itemListElement" $toolItems -}}
76+
{{- $graph = $graph | append $ai -}}
77+
{{- end -}}
78+
79+
{{- /* About page */ -}}
80+
{{- if eq .Section "about" -}}
81+
{{- $about := dict "@type" "AboutPage" "name" .Title "description" (.Description | default "Learn more about CodeFryDev and our mission") "url" .Permalink "mainEntity" (dict "@id" (print .Site.BaseURL "#organization")) "breadcrumb" (dict "@type" "BreadcrumbList" "itemListElement" (slice (dict "@type" "ListItem" "position" 1 "name" "Home" "item" .Site.BaseURL) (dict "@type" "ListItem" "position" 2 "name" "About" "item" .Permalink))) -}}
82+
{{- $graph = $graph | append $about -}}
83+
{{- end -}}
84+
85+
{{- /* Store page */ -}}
86+
{{- if eq .Section "store" -}}
87+
{{- $store := dict "@type" "Store" "name" "CodeFryDev Store" "description" "Official store for CodeFryDev products and applications" "url" .Permalink "seller" (dict "@id" (print .Site.BaseURL "#organization")) "paymentAccepted" "Free" "currenciesAccepted" "USD" -}}
88+
{{- $graph = $graph | append $store -}}
89+
{{- end -}}
90+
91+
{{- /* Breadcrumb for all non-home pages */ -}}
92+
{{- if not .IsHome -}}
93+
{{- $crumbs := slice (dict "@type" "ListItem" "position" 1 "name" "Home" "item" .Site.BaseURL) -}}
94+
{{- if .Section -}}
95+
{{- $crumbs = $crumbs | append (dict "@type" "ListItem" "position" 2 "name" (.Section | title) "item" (print .Site.BaseURL .Section "/")) -}}
96+
{{- end -}}
97+
{{- if .Title -}}
98+
{{- $crumbs = $crumbs | append (dict "@type" "ListItem" "position" (cond (ne .Section "") 3 2) "name" .Title "item" .Permalink) -}}
99+
{{- end -}}
100+
{{- $breadcrumb := dict "@type" "BreadcrumbList" "itemListElement" $crumbs -}}
101+
{{- $graph = $graph | append $breadcrumb -}}
102+
{{- end -}}
103+
104+
<script type="application/ld+json">
105+
{{ dict "@context" "https://schema.org" "@graph" $graph | jsonify | safeJS }}
106+
</script>

layouts/partials/site_schema.html

Lines changed: 2 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,2 @@
1-
{{- /*
2-
Define a list of data files to include in the schema.
3-
These are the base names of the files in your /data/ directory (without .yaml).
4-
*/ -}}
5-
{{ $dataFilesToInclude := slice "designlab" "games" "ai" "home" }}
6-
7-
{{- /* Create an empty list to hold all items from the files */ -}}
8-
{{ $allItems := slice }}
9-
{{- range $fileKey := $dataFilesToInclude -}}
10-
{{- with index $.Site.Data $fileKey -}}
11-
{{- with .data -}}
12-
{{ $allItems = $allItems | append . }}
13-
{{- end -}}
14-
{{- end -}}
15-
{{- end -}}
16-
17-
18-
{{ if .IsHome -}}
19-
<script type="application/ld+json">
20-
{
21-
"@context": "http://schema.org",
22-
"@type": "WebSite",
23-
"name": "{{ .Site.Title }}",
24-
"url": "{{ .Site.BaseURL }}",
25-
"description": "{{ .Site.Params.description }}",
26-
"thumbnailUrl": "{{ .Site.Params.Logo | absURL }}",
27-
"license": "{{ .Site.Params.Copyright }}"{{ if $allItems }},
28-
"hasPart": [
29-
{{- range $index, $item := $allItems -}}
30-
{{ if $index }},{{ end }}
31-
{
32-
"@type": "CreativeWork",
33-
"name": "{{ $item.name }}",
34-
"url": "{{ $item.url | absURL }}"
35-
}
36-
{{- end -}}
37-
]
38-
{{- end }}
39-
}
40-
</script>
41-
{{ else -}}
42-
{{- /* This block for all other pages */ -}}
43-
{{ $author := or (.Params.author) (.Site.Author.name) }}
44-
{{ $org_name := .Site.Title }}
45-
<script type="application/ld+json">
46-
{
47-
"@context": "http://schema.org",
48-
"@type": "BlogPosting",
49-
"articleSection": "{{ .Section }}",
50-
"name": "{{ .Title | safeJS }}",
51-
"headline": "{{ .Title | safeJS }}",
52-
"alternativeHeadline": "{{ .Params.lead }}",
53-
"description": "{{ if .Description }}{{ .Description | safeJS }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ end }}{{ end }}",
54-
"inLanguage": {{ .Site.LanguageCode | default "en-us" }},
55-
"isFamilyFriendly": "true",
56-
"mainEntityOfPage": {
57-
"@type": "WebPage",
58-
"@id": "{{ .Permalink }}"
59-
},
60-
"author" : {
61-
"@type": "Person",
62-
"name": "{{ $author }}"
63-
},
64-
"creator" : {
65-
"@type": "Person",
66-
"name": "{{ $author }}"
67-
},
68-
"accountablePerson" : {
69-
"@type": "Person",
70-
"name": "{{ $author }}"
71-
},
72-
"copyrightHolder" : "{{ $org_name }}",
73-
"copyrightYear" : "{{ .Date.Format "2006" }}",
74-
"dateCreated": "{{ .Date.Format "2006-01-02T15:04:05.00Z" | safeHTML }}",
75-
"datePublished": "{{ .PublishDate.Format "2006-01-02T15:04:05.00Z" | safeHTML }}",
76-
"dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05.00Z" | safeHTML }}",
77-
"publisher":{
78-
"@type":"Organization",
79-
"name": {{ $org_name }},
80-
"url": {{ .Site.BaseURL }},
81-
"logo": {
82-
"@type": "ImageObject",
83-
"url": "{{ .Site.Params.logo | absURL }}",
84-
"width":"32",
85-
"height":"32"
86-
}
87-
},
88-
"image": {{ if .Params.images }}[{{ range $i, $e := .Params.images }}{{ if $i }}, {{ end }}"{{ $e | absURL }}"{{ end }}]{{ else }}"{{.Site.Params.logo | absURL }}"{{ end }},
89-
"url" : "{{ .Permalink }}",
90-
"wordCount" : "{{ .WordCount }}",
91-
"genre" : [ {{ range $index, $tag := .Params.tags }}{{ if $index }}, {{ end }}"{{ $tag }}" {{ end }}],
92-
"keywords" : [ {{ range $index, $keyword := .Params.keywords }}{{ if $index }}, {{ end }}"{{ $keyword }}" {{ end }}]
93-
}
94-
</script>
95-
{{ end -}}
1+
{{/* Use the enhanced JSON-LD template that auto-generates from content */}}
2+
{{ partial "enhanced-jsonld.html" . }}

0 commit comments

Comments
 (0)