Skip to content

Commit 5c8110b

Browse files
feat: SEO (#24)
1 parent 7adf597 commit 5c8110b

22 files changed

Lines changed: 289 additions & 3 deletions

src/app.html

Lines changed: 113 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,120 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8" />
5-
<link rel="icon" href="%sveltekit.assets%/favicon.svg" />
65
<meta name="viewport" content="width=device-width, initial-scale=1" />
7-
<title>ASIMOV.Directory</title>
8-
<meta property="og:title" content="Positron by ASIMOV" />
6+
7+
<title>ASIMOV.Directory - Discover ASIMOV Ecosystem Modules & Data Sources</title>
8+
<meta
9+
name="title"
10+
content="ASIMOV.Directory - Discover ASIMOV Ecosystem Modules & Data Sources"
11+
/>
12+
<meta
13+
name="description"
14+
content="Explore our comprehensive collection of ASIMOV modules and supported data sources. Browse GitHub repositories from the asimov-modules organization with powerful search, filtering, and discovery tools."
15+
/>
16+
<meta
17+
name="keywords"
18+
content="ASIMOV modules, data sources, GitHub repositories, asimov-modules, module directory, AI modules, data extraction, API endpoints, open source modules, developer tools"
19+
/>
20+
<meta name="author" content="ASIMOV.Directory" />
21+
<meta name="robots" content="index, follow" />
22+
<meta name="language" content="English" />
23+
24+
<link rel="canonical" href="https://asimov.directory/" />
25+
26+
<meta property="og:type" content="website" />
27+
<meta property="og:url" content="https://asimov.directory/" />
28+
<meta
29+
property="og:title"
30+
content="ASIMOV.Directory - Discover ASIMOV Ecosystem Modules & Data Sources"
31+
/>
32+
<meta
33+
property="og:description"
34+
content="Explore our comprehensive collection of ASIMOV modules and supported data sources. Browse GitHub repositories with powerful search and discovery tools."
35+
/>
36+
<meta property="og:image" content="https://asimov.directory/og-image.png" />
37+
<meta property="og:image:width" content="1200" />
38+
<meta property="og:image:height" content="630" />
39+
<meta property="og:image:alt" content="ASIMOV.Directory - Module and Data Source Explorer" />
40+
<meta property="og:site_name" content="ASIMOV.Directory" />
41+
<meta property="og:locale" content="en_US" />
42+
43+
<meta name="twitter:card" content="summary_large_image" />
44+
<meta name="twitter:url" content="https://asimov.directory/" />
45+
<meta
46+
name="twitter:title"
47+
content="ASIMOV.Directory - Discover ASIMOV Ecosystem Modules & Data Sources"
48+
/>
49+
<meta
50+
name="twitter:description"
51+
content="Explore comprehensive collection of ASIMOV modules and data sources. Browse GitHub repositories with powerful search and discovery tools."
52+
/>
53+
<meta name="twitter:image" content="https://asimov.directory/twitter-image.png" />
54+
<meta name="twitter:image:alt" content="ASIMOV.Directory - Module and Data Source Explorer" />
55+
<meta name="twitter:site" content="@ASIMOV_Platform" />
56+
<meta name="twitter:creator" content="@ASIMOV_Platform" />
57+
58+
<meta name="theme-color" content="#f37021" />
59+
<meta name="msapplication-TileColor" content="#f37021" />
60+
<meta name="msapplication-config" content="/browserconfig.xml" />
61+
62+
<link rel="icon" type="image/x-icon" href="%sveltekit.assets%/favicon.ico" />
63+
<link rel="icon" type="image/png" sizes="32x32" href="%sveltekit.assets%/favicon-32x32.png" />
64+
<link rel="icon" type="image/png" sizes="16x16" href="%sveltekit.assets%/favicon-16x16.png" />
65+
<link rel="apple-touch-icon" sizes="180x180" href="%sveltekit.assets%/apple-touch-icon.png" />
66+
<link rel="manifest" href="%sveltekit.assets%/site.webmanifest" />
67+
68+
<link rel="dns-prefetch" href="//github.com" />
69+
<link rel="dns-prefetch" href="//api.github.com" />
70+
<link rel="dns-prefetch" href="//avatars.githubusercontent.com" />
71+
72+
<script type="application/ld+json">
73+
{
74+
"@context": "https://schema.org",
75+
"@type": "WebApplication",
76+
"name": "ASIMOV.Directory",
77+
"url": "https://asimov.directory",
78+
"logo": "https://asimov.directory/logo.svg",
79+
"description": "Comprehensive directory for discovering ASIMOV ecosystem modules and data sources. Browse GitHub repositories from the asimov-modules organization with powerful search and filtering capabilities.",
80+
"applicationCategory": "DeveloperApplication",
81+
"operatingSystem": "Web",
82+
"browserRequirements": "JavaScript enabled",
83+
"offers": {
84+
"@type": "Offer",
85+
"price": "0",
86+
"priceCurrency": "USD"
87+
},
88+
"author": {
89+
"@type": "Organization",
90+
"name": "ASIMOV.Directory",
91+
"url": "https://asimov.directory"
92+
},
93+
"publisher": {
94+
"@type": "Organization",
95+
"name": "ASIMOV.Directory",
96+
"logo": {
97+
"@type": "ImageObject",
98+
"url": "https://asimov.directory/logo.svg"
99+
}
100+
},
101+
"potentialAction": {
102+
"@type": "SearchAction",
103+
"target": "https://asimov.directory/?search={search_term_string}",
104+
"query-input": "required name=search_term_string"
105+
},
106+
"sameAs": [
107+
"https://github.com/asimov-modules",
108+
"https://x.com/ASIMOV_Platform",
109+
"https://www.asimovprotocol.org"
110+
],
111+
"aggregateRating": {
112+
"@type": "AggregateRating",
113+
"ratingValue": 4.8,
114+
"ratingCount": 150
115+
}
116+
}
117+
</script>
118+
9119
%sveltekit.head%
10120

11121
<script

src/routes/+page.svelte

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,38 @@
1111
$: sources = data?.sources || [];
1212
</script>
1313

14+
<svelte:head>
15+
<title>ASIMOV.Directory - Discover ASIMOV Ecosystem Modules & Data Sources</title>
16+
<meta
17+
name="description"
18+
content="Explore our comprehensive collection of supported data sources and endpoints for structured data extraction from ASIMOV modules. Discover APIs, databases, and web services."
19+
/>
20+
<meta
21+
name="keywords"
22+
content="data sources, API endpoints, data extraction, ASIMOV modules, supported sources, web services, APIs, databases"
23+
/>
24+
<link rel="canonical" href="https://asimov.directory/" />
25+
26+
<meta
27+
property="og:title"
28+
content="ASIMOV.Directory - Discover ASIMOV Ecosystem Modules & Data Sources"
29+
/>
30+
<meta
31+
property="og:description"
32+
content="Explore our comprehensive collection of supported data sources and endpoints for structured data extraction from ASIMOV modules."
33+
/>
34+
<meta property="og:url" content="https://asimov.directory/" />
35+
36+
<meta
37+
name="twitter:title"
38+
content="ASIMOV.Directory - Discover ASIMOV Ecosystem Modules & Data Sources"
39+
/>
40+
<meta
41+
name="twitter:description"
42+
content="Explore our comprehensive collection of supported data sources and endpoints for structured data extraction from ASIMOV modules."
43+
/>
44+
</svelte:head>
45+
1446
<div class="bg-gGray-100 min-h-screen">
1547
<div class="container mx-auto px-4 py-8">
1648
<div class="mb-8">

src/routes/modules/+page.svelte

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,38 @@
2424
}
2525
</script>
2626

27+
<svelte:head>
28+
<title>ASIMOV Modules - Browse Open Source Modules | ASIMOV.Directory</title>
29+
<meta
30+
name="description"
31+
content="Discover and explore our collection of ASIMOV modules from the GitHub ecosystem. Browse repositories with powerful sorting and filtering options."
32+
/>
33+
<meta
34+
name="keywords"
35+
content="ASIMOV modules, GitHub repositories, open source modules, asimov-modules organization, developer tools, module browser"
36+
/>
37+
<link rel="canonical" href="https://asimov.directory/modules" />
38+
39+
<meta
40+
property="og:title"
41+
content="ASIMOV Modules - Browse Open Source Modules | ASIMOV.Directory"
42+
/>
43+
<meta
44+
property="og:description"
45+
content="Discover and explore our collection of ASIMOV modules from the GitHub ecosystem. Browse repositories with powerful sorting and filtering options."
46+
/>
47+
<meta property="og:url" content="https://asimov.directory/modules" />
48+
49+
<meta
50+
name="twitter:title"
51+
content="ASIMOV Modules - Browse Open Source Modules | ASIMOV.Directory"
52+
/>
53+
<meta
54+
name="twitter:description"
55+
content="Discover and explore our collection of ASIMOV modules from the GitHub ecosystem. Browse repositories with powerful sorting and filtering options."
56+
/>
57+
</svelte:head>
58+
2759
<div class="bg-gGray-100 min-h-screen">
2860
<div class="container mx-auto px-4 py-8">
2961
<div class="mb-8">

src/routes/sitemap.xml/+server.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import type { RequestHandler } from '@sveltejs/kit';
2+
3+
export const GET: RequestHandler = async () => {
4+
// TODO: Generate sitemap dynamically based on the latest data
5+
const lastUpdated = '2025-06-30T00:00:00.000Z';
6+
7+
const sitemap = `<?xml version="1.0" encoding="UTF-8"?>
8+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
9+
<url>
10+
<loc>https://asimov.directory/</loc>
11+
<lastmod>${lastUpdated}</lastmod>
12+
<changefreq>weekly</changefreq>
13+
<priority>1.0</priority>
14+
</url>
15+
<url>
16+
<loc>https://asimov.directory/modules</loc>
17+
<lastmod>${lastUpdated}</lastmod>
18+
<changefreq>daily</changefreq>
19+
<priority>0.8</priority>
20+
</url>
21+
</urlset>`;
22+
23+
return new Response(sitemap, {
24+
headers: {
25+
'Content-Type': 'application/xml',
26+
'Cache-Control': 'max-age=3600, s-maxage=3600'
27+
}
28+
});
29+
};

static/android-chrome-192x192.png

4.91 KB
Loading

static/android-chrome-512x512.png

13 KB
Loading

static/apple-touch-icon.png

2.98 KB
Loading

static/browserconfig.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<browserconfig>
3+
<msapplication>
4+
<tile>
5+
<square150x150logo src="/mstile-150x150.png"/>
6+
<wide310x150logo src="/mstile-310x150.png"/>
7+
<square70x70logo src="/mstile-70x70.png"/>
8+
<square310x310logo src="/mstile-310x310.png"/>
9+
<TileColor>#f37021</TileColor>
10+
</tile>
11+
</msapplication>
12+
</browserconfig>

static/favicon-16x16.png

442 Bytes
Loading

static/favicon-32x32.png

716 Bytes
Loading

0 commit comments

Comments
 (0)