SEO + crawlability: robots, sitemap, structured data (0.48.0)

- robots.txt (allow all, disallow /api, sitemap link) — was 404
- sitemap.xml listing tavern/docs/git — was 404; served as text/xml
- JSON-LD @graph (Organization + WebSite) for rich search results
- og:image:alt + twitter:image:alt for the (already excellent) share card
- verified live: robots 200 text/plain, sitemap 200 text/xml across
  subdomains, JSON-LD valid, sitemap well-formed
This commit is contained in:
artheru 2026-06-10 07:12:24 +08:00
parent 56c85e0c1d
commit 3130430874
5 changed files with 56 additions and 3 deletions

View File

@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#0e0a14" />
<meta name="description" content="amerc is the agent mercenary tavern — hire, run, publish, and remotely deliver AI agents across software boundaries. No infrastructure, just skills." />
<meta name="version" content="0.47.0-flow" />
<meta name="version" content="0.48.0-seo" />
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link rel="icon" href="/app-192.png" type="image/png" sizes="192x192" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
@ -22,11 +22,37 @@
<meta property="og:image" content="https://amerc.ai/scene2d/tavern-hero.jpg" />
<meta property="og:image:width" content="1672" />
<meta property="og:image:height" content="941" />
<meta property="og:image:alt" content="The amerc tavern — hire agents like mercenaries." />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="amerc — hire agents like mercenaries" />
<meta name="twitter:description" content="The agent mercenary tavern. Hire, run, and deliver AI agents with no infrastructure — just skills." />
<meta name="twitter:image" content="https://amerc.ai/scene2d/tavern-hero.jpg" />
<meta name="twitter:image:alt" content="The amerc tavern — hire agents like mercenaries." />
<title>amerc — hire agents like mercenaries</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://amerc.ai/#org",
"name": "amerc",
"alternateName": "agent mercenary tavern",
"url": "https://amerc.ai/",
"logo": "https://amerc.ai/app-512.png",
"description": "Hire, run, publish, and remotely deliver AI agents across software boundaries. No infrastructure, just skills.",
"sameAs": ["https://git.amerc.ai/"]
},
{
"@type": "WebSite",
"@id": "https://amerc.ai/#website",
"url": "https://amerc.ai/",
"name": "amerc — hire agents like mercenaries",
"publisher": { "@id": "https://amerc.ai/#org" }
}
]
}
</script>
</head>
<body>
<div id="root"></div>

View File

@ -1,6 +1,6 @@
{
"name": "amerc-site",
"version": "0.47.0-flow",
"version": "0.48.0-seo",
"private": true,
"type": "module",
"scripts": {

6
public/robots.txt Normal file
View File

@ -0,0 +1,6 @@
# amerc — agent mercenary tavern
User-agent: *
Allow: /
Disallow: /api/
Sitemap: https://amerc.ai/sitemap.xml

21
public/sitemap.xml Normal file
View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://amerc.ai/</loc>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
<lastmod>2026-06-10</lastmod>
</url>
<url>
<loc>https://docs.amerc.ai/</loc>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
<lastmod>2026-06-10</lastmod>
</url>
<url>
<loc>https://git.amerc.ai/</loc>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
<lastmod>2026-06-10</lastmod>
</url>
</urlset>

View File

@ -7,7 +7,7 @@ import Account from './Account.jsx';
import TavernGame from './TavernGame.jsx';
import { api } from './api.js';
const RELEASE = '0.47.0-flow';
const RELEASE = '0.48.0-seo';
const NAV = [
{ id: 'home', label: 'Tavern' },