Skip to content

Commit 7925437

Browse files
committed
feat: add SEO meta tags, OG image, sitemap, and structured data
Shared links on social platforms now show rich previews with title, description, and image instead of blank cards. Adds robots.txt and sitemap.xml for search engine discoverability, JSON-LD structured data for rich snippets, and dynamic per-route page titles.
1 parent 6e91e68 commit 7925437

5 files changed

Lines changed: 71 additions & 1 deletion

File tree

index.html

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,47 @@
33
<head>
44
<meta charset="UTF-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
7+
<title>Drawd — Visual App Flow Designer</title>
8+
<meta name="description" content="Design mobile app navigation flows visually. Upload screens, define tap areas, connect flows, and generate AI build instructions your LLM can actually use." />
9+
<link rel="canonical" href="https://drawd.app" />
10+
<meta name="theme-color" content="#282c34" />
11+
12+
<!-- Open Graph -->
13+
<meta property="og:type" content="website" />
14+
<meta property="og:site_name" content="Drawd" />
15+
<meta property="og:title" content="Drawd — Visual App Flow Designer" />
16+
<meta property="og:description" content="Design mobile app navigation flows visually. Upload screens, define tap areas, connect flows, and generate AI build instructions your LLM can actually use." />
17+
<meta property="og:url" content="https://drawd.app" />
18+
<meta property="og:image" content="https://drawd.app/og-image.png" />
19+
<meta property="og:image:width" content="1200" />
20+
<meta property="og:image:height" content="630" />
21+
22+
<!-- Twitter / X -->
23+
<meta name="twitter:card" content="summary_large_image" />
24+
<meta name="twitter:title" content="Drawd — Visual App Flow Designer" />
25+
<meta name="twitter:description" content="Design mobile app navigation flows visually. Upload screens, define tap areas, connect flows, and generate AI build instructions your LLM can actually use." />
26+
<meta name="twitter:image" content="https://drawd.app/og-image.png" />
27+
28+
<!-- Structured Data -->
29+
<script type="application/ld+json">
30+
{
31+
"@context": "https://schema.org",
32+
"@type": "SoftwareApplication",
33+
"name": "Drawd",
34+
"url": "https://drawd.app",
35+
"applicationCategory": "DesignApplication",
36+
"operatingSystem": "Web",
37+
"description": "Visual app flow designer that lets you upload screens, define tap areas, connect navigation flows, and generate AI build instructions.",
38+
"offers": {
39+
"@type": "Offer",
40+
"price": "0",
41+
"priceCurrency": "USD"
42+
}
43+
}
44+
</script>
45+
646
<link rel="icon" type="image/svg+xml" href="/icon.svg" />
7-
<title>Drawd</title>
847
<style>
948
* { margin: 0; padding: 0; box-sizing: border-box; }
1049
</style>

public/og-image.png

361 KB
Loading

public/robots.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
User-agent: *
2+
Allow: /
3+
4+
Sitemap: https://drawd.app/sitemap.xml

public/sitemap.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3+
<url>
4+
<loc>https://drawd.app</loc>
5+
<changefreq>weekly</changefreq>
6+
<priority>1.0</priority>
7+
</url>
8+
<url>
9+
<loc>https://drawd.app/#/editor</loc>
10+
<changefreq>weekly</changefreq>
11+
<priority>0.8</priority>
12+
</url>
13+
<url>
14+
<loc>https://drawd.app/#/docs</loc>
15+
<changefreq>monthly</changefreq>
16+
<priority>0.7</priority>
17+
</url>
18+
</urlset>

src/App.jsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,15 @@ export default function App() {
3030
return () => window.removeEventListener("hashchange", onHashChange);
3131
}, []);
3232

33+
useEffect(() => {
34+
const titles = {
35+
landing: "Drawd — Visual App Flow Designer",
36+
editor: "Editor — Drawd",
37+
docs: "User Guide — Drawd",
38+
};
39+
document.title = titles[route] || titles.landing;
40+
}, [route]);
41+
3342
let page;
3443
if (route === "editor") {
3544
page = (

0 commit comments

Comments
 (0)