Riligar dev website seo
Skill riligar/agents-kit/.agent/skills/riligar-dev-website-seo
RiLiGar Agents Kit - Curated collection of AI Agent templates, skills, and rules designed to standardize and supercharge your AI-driven development workflows.
npx -y skills add riligar/agents-kit --skill riligar-dev-website-seoAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Implementação de infraestrutura de SEO técnico seguindo a stack RiLiGar (React, Vite, Bun, Elysia). Use para configurar sitemaps, robots.txt, meta tags, OpenGraph, dados estruturados (JSON-LD) e URLs canônicas.
SKILL.md
5.2 KB, as published. Nobody here has run it
SEO Técnico (RiLiGar Tech Stack)
Arquivos da Skill
Esta skill utiliza os seguintes arquivos de referência:
- SKILL.md (este arquivo): Guia central de implementação
- references/implementation.md: Templates de código para React/Vite e Bun/Elysia
- references/checklist.md: Checklist pré-lançamento
- references/structured-data.md: Templates de markup JSON-LD
O que esta Skill cobre
- Sitemaps → Geração dinâmica via Bun/Elysia ou estática via Vite/
public. - Robots.txt → Diretivas para crawlers.
- Meta Tags → OpenGraph, Twitter Cards, descrições e títulos.
- Dados Estruturados → Schema markup (JSON-LD) para rich snippets.
- URLs Canônicas → Prevenção de conteúdo duplicado.
- Performance & Vitals → Otimização para os Core Web Vitals.
Part 1: Implementação de Sitemap
Em projetos RiLiGar, o sitemap pode ser estático (em public/sitemap.xml) ou dinâmico via backend Elysia.
Sitemap Estático (Vite public/sitemap.xml)
Para sites institucionais simples:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://riligar.com/</loc>
<lastmod>2025-01-20</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
</urlset>
Sitemap Dinâmico (Elysia /backend)
Se o site tiver conteúdo dinâmico (postagens de blog, produtos), crie um endpoint no Elysia:
// src/routes/seo.js
import { Elysia } from 'elysia'
import { db } from '../database/db'
export const seoRoutes = new Elysia().get('/sitemap.xml', async ({ set }) => {
const posts = await db.query.posts.findMany()
const baseUrl = 'https://riligar.com'
const xml = `<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>${baseUrl}</loc>
<priority>1.0</priority>
</url>
${posts
.map(
post => `
<url>
<loc>${baseUrl}/blog/${post.slug}</loc>
<lastmod>${post.updatedAt.toISOString().split('T')[0]}</lastmod>
<priority>0.7</priority>
</url>`
)
.join('')}
</urlset>`
set.headers['Content-Type'] = 'application/xml'
return xml
})
Part 2: Implementação de Robots.txt
O robots.txt deve ficar na pasta public/ do frontend ou ser servido pelo backend.
User-agent: *
Allow: /
Disallow: /api/
Disallow: /dashboard/
Disallow: /admin/
# Block AI training bots
User-agent: GPTBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: CCBot
Disallow: /
Sitemap: https://riligar.com/sitemap.xml
Part 3: Metadata e Meta Tags
Em SPAs (Single Page Applications) React/Vite, use metadados estáticos no index.html ou gerencie dinamicamente.
No index.html (Baseline)
<title>RiLiGar — Sua Tagline</title>
<meta
name="description"
content="Descrição chamativa de 150-160 caracteres."
/>
<!-- OpenGraph -->
<meta
property="og:type"
content="website"
/>
<meta
property="og:title"
content="RiLiGar — Sua Tagline"
/>
<meta
property="og:description"
content="Descrição para redes sociais."
/>
<meta
property="og:image"
content="https://riligar.com/og-image.png"
/>
<!-- Twitter -->
<meta
name="twitter:card"
content="summary_large_image"
/>
<meta
name="twitter:title"
content="RiLiGar — Sua Tagline"
/>
<meta
name="twitter:image"
content="https://riligar.com/og-image.png"
/>
Dinâmico (Server-side Injection no Elysia)
Para melhores resultados de SEO em conteúdo dinâmico, o Elysia pode injetar as tags no HTML enviado:
// Exemplo simples de injeção no Elysia
app.get('/*', async ({ path }) => {
let html = await Bun.file('dist/index.html').text()
if (path.startsWith('/blog/')) {
const post = await getPost(path.split('/')[2])
html = html.replace('<title>RiLiGar</title>', `<title>${post.title} | RiLiGar</title>`)
html = html.replace('content="RiLiGar description"', `content="${post.excerpt}"`)
}
return new Response(html, { headers: { 'Content-Type': 'text/html' } })
})
Part 4: Variáveis de Ambiente
Sempre configure a URL base nos arquivos de ambiente:
# .env.development
VITE_SITE_URL=http://localhost:5173
SITE_URL=http://localhost:3000
# .env.production
VITE_SITE_URL=https://riligar.com
SITE_URL=https://riligar.com
Checklist de Implementação
-
robots.txtconfigurado e bloqueando/admine/dashboard. -
sitemap.xmlgerado e acessível. - Meta tags OpenGraph e Twitter presentes em todas as páginas públicas.
- Imagem OG de 1200x630px em
public/og-image.png. - Canonical URLs apontando para a versão preferencial.
- Dados estruturados (JSON-LD) para Organização no Home.
- Headers de performance (preload de fontes) no index.html.
Para detalhes específicos, consulte os arquivos na pasta references/.