Skip to content

Commit 1d3e2d9

Browse files
committed
seo: repo metadata, structured data, sitemap, canonical URLs
Repo-level (applied via gh repo edit, not in this commit): description, homepage (lavx.github.io/arrstack), and 20 topics (self-hosted, homelab, sonarr, radarr, bazarr, prowlarr, jellyfin, jellyseerr, qbittorrent, tdarr, flaresolverr, docker, docker-compose, media-server, installer, trash-guides, plex-alternative, arr, linux). In-repo: - Replace the broken /assets/og-image.png reference (404) with GitHub's auto-generated social card at opengraphassets.github.com, so every link-unfurling service (Slack, LinkedIn, Discord, Mastodon, Twitter) now renders a branded preview. - Expand JSON-LD into an @graph of SoftwareApplication + SoftwareSourceCode with softwareVersion 1.0.0, datePublished, sameAs, image, programming language, so Google's rich results and knowledge graph have more to work with. - Add og:site_name, og:locale, og:image dimensions, twitter:image:alt, keywords, author, robots meta. - Canonicalize github.com URLs to the LavX casing across docs, README, and the issue-template Discussions link. GHCR image refs stay lowercased because GHCR always lowercases namespace names. - Rename README H1 from "arrstack-installer" to "arrstack" so the repo, product, binary, and H1 all carry the same brand token. - Add docs/robots.txt and docs/sitemap.xml so crawlers discover the full guide/ and troubleshooting/ trees instead of guessing.
1 parent 8f026fd commit 1d3e2d9

5 files changed

Lines changed: 90 additions & 29 deletions

File tree

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
blank_issues_enabled: false
22
contact_links:
33
- name: Questions and help
4-
url: https://github.com/lavx/arrstack/discussions
4+
url: https://github.com/LavX/arrstack/discussions
55
about: Ask a question, share a setup, or get help in Discussions.
66
- name: Documentation
77
url: https://lavx.github.io/arrstack/

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
<img src="docs/assets/logomark.svg" alt="arrstack" width="160" />
33
</p>
44

5-
<h1 align="center">arrstack-installer</h1>
5+
<h1 align="center">arrstack</h1>
66

7-
<p align="center"><strong>12 services. One binary. 90 seconds.</strong></p>
7+
<p align="center"><strong>Single-binary installer for a self-hosted Sonarr, Radarr, Bazarr+, Jellyfin, and Jellyseerr stack on Linux.</strong></p>
88

9-
<p align="center"><em>The arr stack, pre-wired. Jellyseerr on :5055, zero setup screen.</em></p>
9+
<p align="center"><em>12 services. One binary. 90 seconds. Jellyseerr on :5055, zero setup screen.</em></p>
1010

1111
```bash
1212
curl -fsSL https://lavx.github.io/arrstack/install.sh | bash
1313
```
1414

15-
<!-- badges: swap the placeholder URLs once CI is green and releases are tagged -->
1615
<p align="center">
17-
<a href="https://github.com/lavx/arrstack/actions"><img alt="build" src="https://img.shields.io/badge/build-passing-brightgreen" /></a>
18-
<a href="#license"><img alt="license" src="https://img.shields.io/badge/license-MIT-blue" /></a>
16+
<a href="https://github.com/LavX/arrstack/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/LavX/arrstack/actions/workflows/ci.yml/badge.svg" /></a>
17+
<a href="https://github.com/LavX/arrstack/releases/latest"><img alt="release" src="https://img.shields.io/github/v/release/LavX/arrstack?sort=semver" /></a>
18+
<a href="https://github.com/LavX/arrstack/blob/main/LICENSE"><img alt="license" src="https://img.shields.io/github/license/LavX/arrstack" /></a>
1919
<a href="#requirements"><img alt="platform" src="https://img.shields.io/badge/linux-x64%20%7C%20arm64-informational" /></a>
2020
<a href="https://bun.sh"><img alt="bun" src="https://img.shields.io/badge/runtime-bun-f472b6" /></a>
2121
<a href="https://lavx.github.io/arrstack/"><img alt="homepage" src="https://img.shields.io/badge/docs-lavx.github.io%2Farrstack-000" /></a>
@@ -228,7 +228,7 @@ Default `PUID` and `PGID` are the installing user's `id -u` and `id -g`. Overrid
228228

229229
```bash
230230
# Clone and set up
231-
git clone https://github.com/lavx/arrstack
231+
git clone https://github.com/LavX/arrstack
232232
cd arrstack-installer
233233
bun install
234234

docs/index.html

Lines changed: 53 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,27 @@
99
<meta name="theme-color" content="#FFFFFF" media="(prefers-color-scheme: light)">
1010
<meta name="color-scheme" content="dark light">
1111

12-
<!-- Open Graph / Twitter (SEO agent: expand image + handles) -->
12+
<!-- Open Graph / Twitter. Image points at GitHub's auto-generated repo
13+
social card because we don't ship a custom PNG yet; this at least
14+
renders a branded preview in Slack/LinkedIn/Discord/Mastodon. -->
1315
<meta property="og:type" content="website">
16+
<meta property="og:site_name" content="arrstack">
17+
<meta property="og:locale" content="en_US">
1418
<meta property="og:title" content="arrstack: 12 services. One binary. 90 seconds.">
15-
<meta property="og:description" content="Open-source TUI installer for a pre-wired Sonarr/Radarr/Bazarr+/Jellyfin/Jellyseerr homelab stack.">
19+
<meta property="og:description" content="Open-source TUI installer for a pre-wired Sonarr, Radarr, Bazarr+, Jellyfin, and Jellyseerr homelab stack on Linux.">
1620
<meta property="og:url" content="https://lavx.github.io/arrstack/">
17-
<meta property="og:image" content="https://lavx.github.io/arrstack/assets/og-image.png">
21+
<meta property="og:image" content="https://opengraph.githubassets.com/1/LavX/arrstack">
22+
<meta property="og:image:width" content="1200">
23+
<meta property="og:image:height" content="600">
24+
<meta property="og:image:alt" content="arrstack on GitHub, a single-binary Linux installer for the arr media stack.">
1825
<meta name="twitter:card" content="summary_large_image">
1926
<meta name="twitter:title" content="arrstack: 12 services. One binary. 90 seconds.">
20-
<meta name="twitter:description" content="Open-source TUI installer for a pre-wired Sonarr/Radarr/Bazarr+/Jellyfin/Jellyseerr homelab stack.">
21-
<meta name="twitter:image" content="https://lavx.github.io/arrstack/assets/og-image.png">
27+
<meta name="twitter:description" content="Open-source TUI installer for a pre-wired Sonarr, Radarr, Bazarr+, Jellyfin, and Jellyseerr homelab stack on Linux.">
28+
<meta name="twitter:image" content="https://opengraph.githubassets.com/1/LavX/arrstack">
29+
<meta name="twitter:image:alt" content="arrstack on GitHub, a single-binary Linux installer for the arr media stack.">
30+
<meta name="keywords" content="arrstack, arr stack, self-hosted media server, sonarr, radarr, bazarr, prowlarr, jellyfin, jellyseerr, qbittorrent, tdarr, flaresolverr, docker compose installer, trash guides, homelab, linux, plex alternative">
31+
<meta name="author" content="LavX">
32+
<meta name="robots" content="index, follow, max-image-preview:large">
2233

2334
<link rel="icon" type="image/svg+xml" href="favicon.svg">
2435
<link rel="canonical" href="https://lavx.github.io/arrstack/">
@@ -27,21 +38,42 @@
2738
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap">
2839
<link rel="stylesheet" href="style.css">
2940

30-
<!-- JSON-LD: SoftwareApplication. SEO agent: expand with aggregateRating, screenshot, releaseNotes, offers. -->
41+
<!-- JSON-LD: SoftwareApplication + SourceCode dual-graph so GitHub /
42+
release metadata and the installable itself both show up in rich
43+
results. Version tracks the last git tag. -->
3144
<script type="application/ld+json">
3245
{
3346
"@context": "https://schema.org",
34-
"@type": "SoftwareApplication",
35-
"name": "arrstack",
36-
"applicationCategory": "DeveloperApplication",
37-
"operatingSystem": "Linux",
38-
"url": "https://lavx.github.io/arrstack/",
39-
"downloadUrl": "https://github.com/lavx/arrstack/releases",
40-
"softwareVersion": "1.0",
41-
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" },
42-
"license": "https://opensource.org/licenses/MIT",
43-
"author": { "@type": "Person", "name": "LavX", "url": "https://lavx.github.io" },
44-
"description": "Single-binary TUI installer for a pre-wired Sonarr, Radarr, Bazarr+, Jellyfin, and Jellyseerr Docker stack."
47+
"@graph": [
48+
{
49+
"@type": "SoftwareApplication",
50+
"name": "arrstack",
51+
"applicationCategory": "DeveloperApplication",
52+
"operatingSystem": "Linux x86_64, Linux arm64",
53+
"url": "https://lavx.github.io/arrstack/",
54+
"downloadUrl": "https://github.com/LavX/arrstack/releases",
55+
"softwareVersion": "1.0.0",
56+
"datePublished": "2026-04-19",
57+
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" },
58+
"license": "https://opensource.org/licenses/MIT",
59+
"author": { "@type": "Person", "name": "LavX", "url": "https://lavx.github.io" },
60+
"description": "Single-binary TUI installer for a pre-wired Sonarr, Radarr, Bazarr+, Jellyfin, and Jellyseerr Docker stack.",
61+
"image": "https://opengraph.githubassets.com/1/LavX/arrstack",
62+
"sameAs": [
63+
"https://github.com/LavX/arrstack",
64+
"https://github.com/LavX/arrstack/releases/latest"
65+
]
66+
},
67+
{
68+
"@type": "SoftwareSourceCode",
69+
"name": "arrstack",
70+
"codeRepository": "https://github.com/LavX/arrstack",
71+
"programmingLanguage": "TypeScript",
72+
"runtimePlatform": "Bun",
73+
"license": "https://opensource.org/licenses/MIT",
74+
"author": { "@type": "Person", "name": "LavX", "url": "https://lavx.github.io" }
75+
}
76+
]
4577
}
4678
</script>
4779
</head>
@@ -60,7 +92,7 @@
6092
<li><a href="#wiring">auto-wiring</a></li>
6193
<li><a href="#remote">remote</a></li>
6294
<li><a href="#faq">faq</a></li>
63-
<li><a href="https://github.com/lavx/arrstack" rel="noopener">github</a></li>
95+
<li><a href="https://github.com/LavX/arrstack" rel="noopener">github</a></li>
6496
</ul>
6597
</nav>
6698
</div>
@@ -98,7 +130,7 @@ <h1 id="hero-heading">
98130
</div>
99131

100132
<div class="cta-row" style="margin-top: var(--s-5);">
101-
<a class="btn btn-primary" href="https://github.com/lavx/arrstack" rel="noopener">
133+
<a class="btn btn-primary" href="https://github.com/LavX/arrstack" rel="noopener">
102134
<svg width="18" height="18" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 0a8 8 0 0 0-2.53 15.59c.4.07.55-.17.55-.38v-1.33c-2.22.48-2.69-1.07-2.69-1.07-.36-.92-.89-1.17-.89-1.17-.73-.5.06-.49.06-.49.8.06 1.23.83 1.23.83.72 1.23 1.88.87 2.34.66.07-.52.28-.87.5-1.07-1.77-.2-3.64-.89-3.64-3.95 0-.87.31-1.58.82-2.14-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82A7.6 7.6 0 0 1 8 3.92c.68 0 1.36.09 2 .27 1.53-1.03 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.14 0 3.07-1.87 3.74-3.65 3.94.29.25.54.74.54 1.49v2.21c0 .21.15.46.55.38A8 8 0 0 0 8 0z"/></svg>
103135
GitHub
104136
</a>
@@ -455,9 +487,9 @@ <h2 id="faq-heading">Honest answers.</h2>
455487
<nav class="footer-col" aria-label="Links">
456488
<h4 class="footer-h">Links</h4>
457489
<ul class="footer-list mono">
458-
<li><a href="https://github.com/lavx/arrstack" rel="noopener">GitHub repo</a></li>
490+
<li><a href="https://github.com/LavX/arrstack" rel="noopener">GitHub repo</a></li>
459491
<li><a href="https://github.com/LavX/arrstack/blob/main/docs/README.md" rel="noopener">Docs index</a></li>
460-
<li><a href="https://github.com/lavx/arrstack/blob/main/LICENSE" rel="noopener">MIT LICENSE</a></li>
492+
<li><a href="https://github.com/LavX/arrstack/blob/main/LICENSE" rel="noopener">MIT LICENSE</a></li>
461493
<li><a href="http://github.com/lavx" rel="noopener">http://github.com/lavx</a></li>
462494
</ul>
463495
</nav>

docs/robots.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
User-agent: *
2+
Allow: /
3+
4+
# Maintainer-only trees are excluded by Jekyll already, but nudge crawlers
5+
# away from the raw install script and any copied assets underscore-prefixed
6+
# files in case Pages ever stops honoring _config.yml excludes.
7+
Disallow: /install.sh
8+
Disallow: /_internal/
9+
10+
Sitemap: https://lavx.github.io/arrstack/sitemap.xml

docs/sitemap.xml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3+
<url><loc>https://lavx.github.io/arrstack/</loc><changefreq>weekly</changefreq><priority>1.0</priority></url>
4+
<url><loc>https://lavx.github.io/arrstack/README.html</loc><changefreq>monthly</changefreq><priority>0.8</priority></url>
5+
<url><loc>https://lavx.github.io/arrstack/guide/01-installation.html</loc><changefreq>monthly</changefreq><priority>0.9</priority></url>
6+
<url><loc>https://lavx.github.io/arrstack/guide/02-first-run.html</loc><changefreq>monthly</changefreq><priority>0.9</priority></url>
7+
<url><loc>https://lavx.github.io/arrstack/guide/03-daily-use.html</loc><changefreq>monthly</changefreq><priority>0.7</priority></url>
8+
<url><loc>https://lavx.github.io/arrstack/guide/04-remote-access.html</loc><changefreq>monthly</changefreq><priority>0.8</priority></url>
9+
<url><loc>https://lavx.github.io/arrstack/guide/05-extra-drives.html</loc><changefreq>monthly</changefreq><priority>0.7</priority></url>
10+
<url><loc>https://lavx.github.io/arrstack/guide/06-vpn.html</loc><changefreq>monthly</changefreq><priority>0.7</priority></url>
11+
<url><loc>https://lavx.github.io/arrstack/guide/07-providers-setup.html</loc><changefreq>monthly</changefreq><priority>0.7</priority></url>
12+
<url><loc>https://lavx.github.io/arrstack/guide/08-backup-restore.html</loc><changefreq>monthly</changefreq><priority>0.7</priority></url>
13+
<url><loc>https://lavx.github.io/arrstack/guide/09-updating.html</loc><changefreq>monthly</changefreq><priority>0.7</priority></url>
14+
<url><loc>https://lavx.github.io/arrstack/troubleshooting/common-errors.html</loc><changefreq>monthly</changefreq><priority>0.7</priority></url>
15+
<url><loc>https://lavx.github.io/arrstack/troubleshooting/diagnostic-commands.html</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
16+
<url><loc>https://lavx.github.io/arrstack/troubleshooting/gpu-transcoding-debug.html</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
17+
<url><loc>https://lavx.github.io/arrstack/troubleshooting/per-service-faq.html</loc><changefreq>monthly</changefreq><priority>0.7</priority></url>
18+
<url><loc>https://lavx.github.io/arrstack/troubleshooting/reinstall-recovery.html</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
19+
</urlset>

0 commit comments

Comments
 (0)