alpha
Login
or
Join now
justin.randoneering.dev
/
pgfirstaid.com
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
This repository has no description
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
feat(seo): seo enhancement
author
justin
date
2 days ago
(Jul 24, 2026, 9:07 PM -0600)
commit
d6a0e01c
d6a0e01caea99b1552e75d9447f58ab6143a4bf1
parent
a3c0ca3f
a3c0ca3f98173345baf638b324d7b5ad494ab07f
+50
-11
2 changed files
Expand all
Collapse all
Unified
Split
src
layouts
Base.astro
pages
index.astro
+46
-10
src/layouts/Base.astro
View file
Reviewed
···
3
3
title: string;
4
4
description: string;
5
5
pageUrl?: string;
6
6
+
imagePath?: string;
6
7
}
7
7
-
const { title, description, pageUrl } = Astro.props;
8
8
+
const { title, description, pageUrl, imagePath } = Astro.props;
8
9
const siteUrl = 'https://pgfirstaid.com';
9
9
-
const ogImage = `${siteUrl}/og-image.png`;
10
10
-
const ogImageWide = `${siteUrl}/og-image-wide.png`;
10
10
+
// Default to the wide-format image (1200x630) — preferred by Discord, LinkedIn,
11
11
+
// Facebook, Slack, and Twitter. Square image is reserved for tight contexts.
12
12
+
const ogImagePath = imagePath ?? '/og-image-wide.png';
13
13
+
const ogImage = `${siteUrl}${ogImagePath}`;
11
14
const fullUrl = pageUrl ?? siteUrl;
15
15
+
16
16
+
const jsonLd = {
17
17
+
'@context': 'https://schema.org',
18
18
+
'@graph': [
19
19
+
{
20
20
+
'@type': 'Organization',
21
21
+
'@id': `${siteUrl}/#organization`,
22
22
+
name: 'pgFirstAid',
23
23
+
url: siteUrl,
24
24
+
logo: `${siteUrl}/og-image-wide.png`,
25
25
+
sameAs: ['https://github.com/randoneering/pgFirstAid'],
26
26
+
},
27
27
+
{
28
28
+
'@type': 'SoftwareSourceCode',
29
29
+
'@id': `${siteUrl}/#software`,
30
30
+
name: 'pgFirstAid',
31
31
+
description,
32
32
+
url: fullUrl,
33
33
+
codeRepository: 'https://github.com/randoneering/pgFirstAid',
34
34
+
programmingLanguage: 'SQL',
35
35
+
runtimePlatform: 'PostgreSQL 10+',
36
36
+
license: 'https://opensource.org/licenses/MIT',
37
37
+
author: { '@id': `${siteUrl}/#organization` },
38
38
+
keywords: 'postgresql, health-check, diagnostics, sql, open-source, firstaid',
39
39
+
},
40
40
+
],
41
41
+
};
12
42
---
13
43
<!DOCTYPE html>
14
44
<html lang="en">
···
20
50
<meta name="viewport" content="width=device-width, initial-scale=1" />
21
51
<meta name="description" content={description} />
22
52
<meta name="generator" content={Astro.generator} />
53
53
+
<meta name="theme-color" content="#0f172a" />
54
54
+
<meta name="color-scheme" content="light dark" />
55
55
+
<link rel="canonical" href={fullUrl} />
56
56
+
<link rel="alternate" type="text/plain" title="LLM summary" href="/llms.txt" />
57
57
+
<link rel="alternate" type="text/plain" title="LLM full content" href="/llms-full.txt" />
58
58
+
<link rel="alternate" type="text/plain" title="Agent manifest" href="/agents.txt" />
59
59
+
<link rel="sitemap" type="application/xml" href="/sitemap-index.xml" />
23
60
<title>{title}</title>
24
61
25
62
<!-- Open Graph (Discord, LinkedIn, Facebook, Slack, etc.) -->
26
63
<meta property="og:type" content="website" />
27
64
<meta property="og:site_name" content="pgFirstAid" />
65
65
+
<meta property="og:locale" content="en_US" />
28
66
<meta property="og:title" content={title} />
29
67
<meta property="og:description" content={description} />
30
68
<meta property="og:url" content={fullUrl} />
···
32
70
<meta property="og:image:secure_url" content={ogImage} />
33
71
<meta property="og:image:type" content="image/png" />
34
72
<meta property="og:image:width" content="1200" />
35
35
-
<meta property="og:image:height" content="1200" />
36
36
-
<meta property="og:image:alt" content="pgFirstAid logo" />
37
37
-
<meta property="og:image" content={ogImageWide} />
38
38
-
<meta property="og:image:secure_url" content={ogImageWide} />
39
39
-
<meta property="og:image:type" content="image/png" />
40
40
-
<meta property="og:image:width" content="1200" />
41
73
<meta property="og:image:height" content="630" />
42
42
-
<meta property="og:image:alt" content="pgFirstAid logo (wide)" />
74
74
+
<meta property="og:image:alt" content="pgFirstAid logo" />
43
75
44
76
<!-- Twitter Card -->
45
77
<meta name="twitter:card" content="summary_large_image" />
46
78
<meta name="twitter:title" content={title} />
47
79
<meta name="twitter:description" content={description} />
48
80
<meta name="twitter:image" content={ogImage} />
81
81
+
<meta name="twitter:image:alt" content="pgFirstAid logo" />
82
82
+
83
83
+
<!-- Structured data -->
84
84
+
<script type="application/ld+json" set:html={JSON.stringify(jsonLd)} />
49
85
50
86
<script is:inline>
51
87
// Apply theme on first paint to avoid FOUC.
+4
-1
src/pages/index.astro
View file
Reviewed
···
28
28
const managedSupport = page.data.managed_support.join(', ');
29
29
---
30
30
31
31
-
<Base title={title} description={tagline}>
31
31
+
<Base
32
32
+
title={`${title} - PostgreSQL health-check SQL function`}
33
33
+
description={tagline}
34
34
+
>
32
35
<Header title={title} />
33
36
34
37
<section id="hero">