Compare commits

..

2 Commits

Author SHA1 Message Date
36163b606d fix: luz links e artigos
Some checks failed
BCards Multi-Tenant Deployment Pipeline / Run Tests (push) Successful in 5s
BCards Multi-Tenant Deployment Pipeline / PR Validation (push) Has been skipped
BCards Multi-Tenant Deployment Pipeline / Build and Push Image (push) Successful in 13m31s
BCards Multi-Tenant Deployment Pipeline / Deploy to Release Swarm (ARM) (push) Has been skipped
BCards Multi-Tenant Deployment Pipeline / Deploy bcards.site (push) Successful in 1m3s
BCards Multi-Tenant Deployment Pipeline / Deploy spicylinks.site (push) Successful in 1m3s
BCards Multi-Tenant Deployment Pipeline / Deploy luzlinks.site (push) Failing after 31s
BCards Multi-Tenant Deployment Pipeline / Cleanup Old Resources (push) Has been skipped
BCards Multi-Tenant Deployment Pipeline / Deployment Summary (push) Successful in 0s
2026-04-30 21:28:28 -03:00
96eb486d3c fix: home de luzlinks 2026-04-30 21:28:11 -03:00
21 changed files with 435 additions and 151 deletions

View File

@ -50,7 +50,10 @@
"mcp__stripe__stripe_api_search",
"Bash(ctx csharp:*)",
"Bash(ctx auto:*)",
"Bash(git log:*)"
"Bash(git log:*)",
"Bash(git mv:*)",
"Bash(python3 -c \"import sys,json; [print\\(json.loads\\(l\\).get\\('MessageTemplate',''\\) + ' ' + str\\(json.loads\\(l\\).get\\('Level',''\\)\\)\\) for l in sys.stdin if 'categ' in l.lower\\(\\) or 'Error' in l or 'error' in l.lower\\(\\)]\")",
"Bash(python3 -c \" import sys, json for line in sys.stdin: line = line.strip\\(\\).rstrip\\(','\\) try: obj = json.loads\\(line\\) lvl = obj.get\\('Level',''\\) msg = obj.get\\('MessageTemplate',''\\) or obj.get\\('message',''\\) if lvl in \\('Error','Warning','Fatal'\\) or 'categ' in msg.lower\\(\\) or 'initial' in msg.lower\\(\\): print\\(f'[{lvl}] {msg}'\\) except: pass \")"
]
},
"enableAllProjectMcpServers": false

View File

@ -21,8 +21,8 @@ name: BCards Multi-Tenant Deployment Pipeline
# ─── Per-Tenant Variables (optional, have defaults) ───────────────────────
# vars.SPICYLINKS_FROM_EMAIL (default: noreply@spicylinks.site)
# vars.SPICYLINKS_FROM_NAME (default: SpicyLinks)
# vars.LUSLINKS_FROM_EMAIL (default: noreply@luslinks.site)
# vars.LUSLINKS_FROM_NAME (default: LusLinks)
# vars.LUZLINKS_FROM_EMAIL (default: noreply@luzlinks.site)
# vars.LUZLINKS_FROM_NAME (default: LuzLinks)
on:
push:
@ -482,9 +482,9 @@ jobs:
ssh -o StrictHostKeyChecking=no ubuntu@${{ env.SWARM_MANAGER }} \
'curl -sf http://localhost:8082/health && echo "✅ spicylinks healthy" || echo "⚠️ spicylinks health check failed"'
# ─── Deploy: luslinks.site ────────────────────────────────────────────────
deploy-luslinks:
name: Deploy luslinks.site
# ─── Deploy: luzlinks.site ────────────────────────────────────────────────
deploy-luzlinks:
name: Deploy luzlinks.site
runs-on: ubuntu-latest
needs: [build-and-push]
if: github.ref_name == 'main'
@ -494,9 +494,9 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
- name: Generate appsettings for luslinks
- name: Generate appsettings for luzlinks
run: |
cat > appsettings.luslinks.json << 'CONFIG_EOF'
cat > appsettings.luzlinks.json << 'CONFIG_EOF'
{
"Logging": {
"LogLevel": {
@ -524,8 +524,8 @@ jobs:
},
"SendGrid": {
"ApiKey": "${{ secrets.SENDGRID_API_KEY }}",
"FromEmail": "${{ vars.LUSLINKS_FROM_EMAIL || 'noreply@luslinks.site' }}",
"FromName": "${{ vars.LUSLINKS_FROM_NAME || 'LusLinks' }}"
"FromEmail": "${{ vars.LUZLINKS_FROM_EMAIL || 'noreply@luzlinks.site' }}",
"FromName": "${{ vars.LUZLINKS_FROM_NAME || 'LuzLinks' }}"
},
"Plans": {
"Basic": { "Name": "Básico", "PriceId": "price_1TR10UBk8jHwC3c0C9UJTNYg", "Price": 12.90, "MaxPages": 3, "MaxLinks": 8, "AllowPremiumThemes": false, "AllowProductLinks": false, "AllowAnalytics": true, "AllowDocumentUpload": false, "MaxDocuments": 0, "Features": [ "URL Personalizada", "20 temas básicos", "Analytics simples" ], "Interval": "month" },
@ -544,19 +544,19 @@ jobs:
"ModeratorEmails": [ "${{ vars.MODERATOR_EMAIL_1 || 'rrcgoncalves@gmail.com' }}", "${{ vars.MODERATOR_EMAIL_2 || 'rirocarneiro@gmail.com' }}" ]
},
"MongoDb": {
"ConnectionString": "mongodb://admin:c4rn31r0@129.146.116.218:27017,141.148.162.114:27017/LusLinksDB?replicaSet=rs0&authSource=admin",
"DatabaseName": "LusLinksDB"
"ConnectionString": "mongodb://admin:c4rn31r0@129.146.116.218:27017,141.148.162.114:27017/LuzLinksDB?replicaSet=rs0&authSource=admin",
"DatabaseName": "LuzLinksDB"
},
"BaseUrl": "https://luslinks.site",
"BaseUrl": "https://luzlinks.site",
"Tenant": {
"SiteName": "LusLinks",
"SiteName": "LuzLinks",
"SiteDescription": "A plataforma para pastores, padres, líderes religiosos e ministérios. Reúna seus estudos bíblicos, eventos, lives e canal em uma única página de fé.",
"Tagline": "Conecte sua comunidade em um único link",
"SupportEmail": "suporte@luslinks.site",
"ContentFolder": "luslinks",
"SupportEmail": "suporte@luzlinks.site",
"ContentFolder": "luzlinks",
"AgeGated": false,
"UrlExample": "luslinks.site/pastor/seu-nome",
"DpoEmail": "dpo@luslinks.site",
"UrlExample": "luzlinks.site/pastor/seu-nome",
"DpoEmail": "dpo@luzlinks.site",
"HeroHeadline": "Conecte sua comunidade em um único link",
"HeroDescription": "A plataforma ideal para pastores, padres, líderes e ministérios. Reúna seus estudos bíblicos, agenda de cultos, canal e dízimos em uma só página.",
"HeroCtaText": "Criar Minha Bio de Fé",
@ -567,13 +567,25 @@ jobs:
{ "Icon": "📅", "Title": "Agenda e Eventos", "Description": "Compartilhe retiros, cultos especiais e eventos com toda a comunidade de forma simples e organizada." }
],
"CtaHeadline": "Compartilhe sua mensagem com o mundo",
"CtaDescription": "Líderes de toda denominação já usam o LusLinks para alcançar mais pessoas com sua mensagem de fé.",
"CtaDescription": "Líderes de toda denominação já usam o LuzLinks para alcançar mais pessoas com sua mensagem de fé.",
"CtaButtonText": "Criar Minha Bio de Fé",
"MetaKeywords": "bio links pastor, página ministério, linktree cristão, links religiosos, página iglesia, bio pastor, links igreja",
"FooterTagline": "Conectando fé e comunidade.",
"HeroGradient": "linear-gradient(135deg, #5b9bd5 0%, #1a5276 100%)",
"PrimaryColor": "#2471a3",
"PrimaryColorDark": "#1a5276",
"DefaultCategories": [
{ "Icon": "🙏", "Name": "Pastores", "Slug": "pastor", "Description": "Pastores evangélicos, protestantes e pentecostais", "SeoKeywords": [ "pastor", "evangélico", "protestante", "pentecostal", "pregador" ] },
{ "Icon": "✝️", "Name": "Padres", "Slug": "padre", "Description": "Sacerdotes, padres e religiosos da Igreja Católica", "SeoKeywords": [ "padre", "sacerdote", "católico", "pároco", "religioso" ] },
{ "Icon": "⛪", "Name": "Igrejas", "Slug": "igreja", "Description": "Congregações, comunidades de fé e denominações", "SeoKeywords": [ "igreja", "congregação", "comunidade", "denominação", "templo" ] },
{ "Icon": "🌟", "Name": "Ministérios", "Slug": "ministerio", "Description": "Ministérios, organizações e missões cristãs", "SeoKeywords": [ "ministério", "missão", "organização cristã", "obra" ] },
{ "Icon": "🎵", "Name": "Louvor e Adoração", "Slug": "louvor", "Description": "Ministérios de louvor, bandas gospel e cantores cristãos", "SeoKeywords": [ "louvor", "adoração", "gospel", "banda", "música cristã" ] },
{ "Icon": "👨‍👩‍👧", "Name": "Família e Jovens", "Slug": "familia", "Description": "Líderes de grupos de jovens, casais e família", "SeoKeywords": [ "jovens", "família", "casais", "célula", "grupo" ] },
{ "Icon": "📖", "Name": "Estudos Bíblicos", "Slug": "estudos", "Description": "Mestres, professores bíblicos e teólogos", "SeoKeywords": [ "estudo bíblico", "teologia", "mestre", "professor", "bíblia" ] },
{ "Icon": "🌍", "Name": "Missionários", "Slug": "missionario","Description": "Missionários e evangelistas nacionais e internacionais", "SeoKeywords": [ "missionário", "evangelista", "evangelismo", "missões" ] },
{ "Icon": "📻", "Name": "Mídia Cristã", "Slug": "midia", "Description": "Podcasts, canais, rádios e comunicação cristã", "SeoKeywords": [ "podcast", "canal cristão", "rádio evangélica", "mídia" ] },
{ "Icon": "🤝", "Name": "Assistência Social", "Slug": "assistencia","Description": "Projetos sociais, pastorais de assistência e ONGs cristãs","SeoKeywords": [ "assistência social", "projeto social", "ONG", "pastoral" ] }
],
"AllowedLinkTypes": [
{ "Icon": "fas fa-globe", "Label": "🌐 Site / Ministério", "Prefix": "https://", "Placeholder": "ministerio.com.br", "Instructions": "Digite o domínio do site", "Color": "bg-primary" },
{ "Icon": "fas fa-envelope", "Label": "✉️ Email", "Prefix": "mailto:", "Placeholder": "contato@ministerio.com", "Instructions": "Digite apenas o email", "Color": "bg-success" },
@ -599,9 +611,9 @@ jobs:
}
}
CONFIG_EOF
echo "✅ appsettings.luslinks.json gerado"
echo "✅ appsettings.luzlinks.json gerado"
- name: Deploy luslinks stack
- name: Deploy luzlinks stack
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
@ -611,36 +623,36 @@ jobs:
# ── Sync Content to both nodes ──────────────────────────────────────
for NODE in ${{ env.SWARM_MANAGER }} ${{ env.SWARM_WORKER }}; do
echo "📂 Syncing luslinks content to $NODE..."
ssh -o StrictHostKeyChecking=no ubuntu@$NODE 'sudo mkdir -p /opt/bcards-content/luslinks && sudo chown -R ubuntu:ubuntu /opt/bcards-content'
rsync -az --delete -e "ssh -o StrictHostKeyChecking=no" src/BCards.Web/Content/Tenants/luslinks/ ubuntu@$NODE:/opt/bcards-content/luslinks/
echo "📂 Syncing luzlinks content to $NODE..."
ssh -o StrictHostKeyChecking=no ubuntu@$NODE 'sudo mkdir -p /opt/bcards-content/luzlinks && sudo chown -R ubuntu:ubuntu /opt/bcards-content'
rsync -az --delete -e "ssh -o StrictHostKeyChecking=no" src/BCards.Web/Content/Tenants/luzlinks/ ubuntu@$NODE:/opt/bcards-content/luzlinks/
done
# ── Deploy stack on manager ─────────────────────────────────────────
scp -o StrictHostKeyChecking=no appsettings.luslinks.json ubuntu@${{ env.SWARM_MANAGER }}:/tmp/
scp -o StrictHostKeyChecking=no deploy/docker-stack-luslinks.yml ubuntu@${{ env.SWARM_MANAGER }}:/tmp/
scp -o StrictHostKeyChecking=no appsettings.luzlinks.json ubuntu@${{ env.SWARM_MANAGER }}:/tmp/
scp -o StrictHostKeyChecking=no deploy/docker-stack-luzlinks.yml ubuntu@${{ env.SWARM_MANAGER }}:/tmp/
ssh -o StrictHostKeyChecking=no ubuntu@${{ env.SWARM_MANAGER }} << 'EOF'
set -e
echo "🔄 Updating luslinks stack..."
echo "🔄 Updating luzlinks stack..."
docker config rm luslinks-appsettings 2>/dev/null || true
CONFIG_NAME="luslinks-appsettings-$(date +%s)"
docker config create ${CONFIG_NAME} /tmp/appsettings.luslinks.json
docker config rm luzlinks-appsettings 2>/dev/null || true
CONFIG_NAME="luzlinks-appsettings-$(date +%s)"
docker config create ${CONFIG_NAME} /tmp/appsettings.luzlinks.json
sed "s/luslinks-appsettings/${CONFIG_NAME}/g" /tmp/docker-stack-luslinks.yml > /tmp/docker-stack-luslinks-final.yml
sed "s/luzlinks-appsettings/${CONFIG_NAME}/g" /tmp/docker-stack-luzlinks.yml > /tmp/docker-stack-luzlinks-final.yml
docker stack deploy -c /tmp/docker-stack-luslinks-final.yml luslinks --with-registry-auth
docker stack deploy -c /tmp/docker-stack-luzlinks-final.yml luzlinks --with-registry-auth
rm -f /tmp/appsettings.luslinks.json /tmp/docker-stack-luslinks.yml /tmp/docker-stack-luslinks-final.yml
echo "✅ luslinks stack atualizado!"
rm -f /tmp/appsettings.luzlinks.json /tmp/docker-stack-luzlinks.yml /tmp/docker-stack-luzlinks-final.yml
echo "✅ luzlinks stack atualizado!"
EOF
- name: Health Check luslinks
- name: Health Check luzlinks
run: |
sleep 30
ssh -o StrictHostKeyChecking=no ubuntu@${{ env.SWARM_MANAGER }} \
'curl -sf http://localhost:8083/health && echo "✅ luslinks healthy" || echo "⚠️ luslinks health check failed"'
'curl -sf http://localhost:8083/health && echo "✅ luzlinks healthy" || echo "⚠️ luzlinks health check failed"'
# ─── Release branch deploy (test swarm) ───────────────────────────────────
deploy-test:
@ -699,8 +711,8 @@ jobs:
cleanup:
name: Cleanup Old Resources
runs-on: ubuntu-latest
needs: [deploy-bcards, deploy-spicylinks, deploy-luslinks, deploy-test]
if: always() && (needs.deploy-bcards.result == 'success' || needs.deploy-spicylinks.result == 'success' || needs.deploy-luslinks.result == 'success' || needs.deploy-test.result == 'success')
needs: [deploy-bcards, deploy-spicylinks, deploy-luzlinks, deploy-test]
if: always() && (needs.deploy-bcards.result == 'success' || needs.deploy-spicylinks.result == 'success' || needs.deploy-luzlinks.result == 'success' || needs.deploy-test.result == 'success')
steps:
- name: Cleanup containers and images
@ -721,7 +733,7 @@ jobs:
docker image prune -f
docker network prune -f
# Remove stale swarm configs (keep last 3 per tenant)
for TENANT in bcards spicylinks luslinks; do
for TENANT in bcards spicylinks luzlinks; do
docker config ls --filter "name=${TENANT}-appsettings" --format "{{.ID}} {{.Name}}" \
| sort -k2 | head -n -3 | awk '{print $1}' \
| xargs -r docker config rm 2>/dev/null || true
@ -738,7 +750,7 @@ jobs:
deployment-summary:
name: Deployment Summary
runs-on: ubuntu-latest
needs: [deploy-bcards, deploy-spicylinks, deploy-luslinks, deploy-test]
needs: [deploy-bcards, deploy-spicylinks, deploy-luzlinks, deploy-test]
if: always()
steps:
@ -757,7 +769,7 @@ jobs:
echo ""
echo " bcards.site → :8080 [${{ needs.deploy-bcards.result }}]"
echo " spicylinks.site → :8082 [${{ needs.deploy-spicylinks.result }}]"
echo " luslinks.site → :8083 [${{ needs.deploy-luslinks.result }}]"
echo " luzlinks.site → :8083 [${{ needs.deploy-luzlinks.result }}]"
else
echo "🌍 Environment: Release (Test Swarm)"
echo "🔗 Status: ${{ needs.deploy-test.result }}"

View File

@ -2,19 +2,19 @@
Data de criação: 2026-04-30
## LusLinks — 4 artigos
## LuzLinks — 4 artigos
- [x] **Como criar sua bio de fé do zero**
`Content/Tenants/luslinks/Artigos/como-criar-sua-bio-de-fe-do-zero.pt-BR.md`
`Content/Tenants/luzlinks/Artigos/como-criar-sua-bio-de-fe-do-zero.pt-BR.md`
- [x] **Como divulgar cultos e eventos pelo WhatsApp com um único link**
`Content/Tenants/luslinks/Artigos/como-divulgar-cultos-e-eventos-pelo-whatsapp.pt-BR.md`
`Content/Tenants/luzlinks/Artigos/como-divulgar-cultos-e-eventos-pelo-whatsapp.pt-BR.md`
- [x] **Por que pastores precisam de presença digital**
`Content/Tenants/luslinks/Artigos/por-que-pastores-precisam-de-presenca-digital.pt-BR.md`
`Content/Tenants/luzlinks/Artigos/por-que-pastores-precisam-de-presenca-digital.pt-BR.md`
- [x] **Como receber dízimos online no seu ministério**
`Content/Tenants/luslinks/Artigos/como-receber-dizimos-online-no-seu-ministerio.pt-BR.md`
`Content/Tenants/luzlinks/Artigos/como-receber-dizimos-online-no-seu-ministerio.pt-BR.md`
## SpicyLinks — 4 artigos
@ -29,3 +29,31 @@ Data de criação: 2026-04-30
- [x] **SpicyLinks vs Linktree: qual é melhor para criadores?**
`Content/Tenants/spicylinks/Artigos/spicylinks-vs-linktree-qual-e-melhor-para-criadores.pt-BR.md`
---
## Melhorias de qualidade (SEO / estrutura)
### LuzLinks — aplicar em todos
- [ ] bio de fé do zero — "Para quem é" + prós/contras + Leia também
- [ ] WhatsApp + cultos — "Para quem é" + prós/contras + Leia também
- [ ] Pastores e digital — "Para quem é" + prós/contras + Leia também
- [ ] Dízimos online — "Para quem é" + prós/contras + Leia também
### SpicyLinks — aplicar em todos
- [ ] Bio e seguidores — "Para quem é" + prós/contras + Leia também
- [ ] Melhores links bio — "Para quem é" + prós/contras + Leia também
- [ ] Afiliados criadores — "Para quem é" + prós/contras + Leia também
- [ ] SpicyLinks vs Linktree — "Para quem é" + prós/contras + Leia também
### BCards — analisar e ajustar artigos existentes
- [ ] bcards-para-corretores-de-imoveis
- [ ] bcards-vs-linktree
- [ ] transformacao-digital-pequenos-negocios
- [ ] Tutoriais/advocacia/bcards-para-escritorios-de-advocacia
- [ ] Tutoriais/advocacia/como-advogados-podem-usar-bcards
- [ ] Tutoriais/tecnologia/bcards-para-freelancers-de-ti
- [ ] Tutoriais/tecnologia/como-criar-um-bcard

View File

@ -1,7 +1,7 @@
version: '3.8'
configs:
luslinks-appsettings:
luzlinks-appsettings:
external: true
services:
@ -23,20 +23,20 @@ services:
parallelism: 0
delay: 5s
configs:
- source: luslinks-appsettings
- source: luzlinks-appsettings
target: /app/appsettings.Production.json
mode: 0444
volumes:
- type: bind
source: /opt/bcards-content/luslinks
target: /app/Content/Tenants/luslinks
source: /opt/bcards-content/luzlinks
target: /app/Content/Tenants/luzlinks
read_only: true
environment:
ASPNETCORE_ENVIRONMENT: Production
ASPNETCORE_URLS: http://+:8080
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
MongoDb__ConnectionString: mongodb://admin:c4rn31r0@129.146.116.218:27017,141.148.162.114:27017/LusLinksDB?replicaSet=rs0&authSource=admin
MongoDb__DatabaseName: LusLinksDB
MongoDb__ConnectionString: mongodb://admin:c4rn31r0@129.146.116.218:27017,141.148.162.114:27017/LuzLinksDB?replicaSet=rs0&authSource=admin
MongoDb__DatabaseName: LuzLinksDB
Serilog__OpenSearchUrl: http://141.148.162.114:19201
Serilog__OpenSearchFallback: http://129.146.116.218:19202
Logging__LogLevel__Default: Information

View File

@ -5,7 +5,7 @@
# Requires: certbot certificates for each domain
# certbot --nginx -d bcards.site -d www.bcards.site
# certbot --nginx -d spicylinks.site -d www.spicylinks.site
# certbot --nginx -d luslinks.site -d www.luslinks.site
# certbot --nginx -d luzlinks.site -d www.luzlinks.site
# ─── bcards.site → :8080 ───────────────────────────────────────────────────
@ -79,32 +79,32 @@ server {
}
}
# ─── luslinks.site → :8083 ─────────────────────────────────────────────────
# ─── luzlinks.site → :8083 ─────────────────────────────────────────────────
upstream luslinks {
upstream luzlinks {
server 127.0.0.1:8083;
keepalive 32;
}
server {
listen 80;
server_name luslinks.site www.luslinks.site;
server_name luzlinks.site www.luzlinks.site;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name luslinks.site www.luslinks.site;
server_name luzlinks.site www.luzlinks.site;
ssl_certificate /etc/letsencrypt/live/luslinks.site/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/luslinks.site/privkey.pem;
ssl_certificate /etc/letsencrypt/live/luzlinks.site/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/luzlinks.site/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
client_max_body_size 10M;
location / {
proxy_pass http://luslinks;
proxy_pass http://luzlinks;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;

View File

@ -1,12 +1,14 @@
@model List<BCards.Web.Areas.Tutoriais.Models.ArticleMetadata>
@inject Microsoft.Extensions.Options.IOptions<BCards.Web.Configuration.TenantSettings> TenantConfig
@{
ViewData["Title"] = "Artigos BCards - Inspiração e Conhecimento";
var tenant = TenantConfig.Value;
ViewData["Title"] = $"Artigos {tenant.SiteName} - Inspiração e Conhecimento";
}
<div class="container py-5">
<div class="row mb-5">
<div class="col-lg-8 mx-auto text-center">
<h1 class="display-4 mb-3">✨ Artigos BCards</h1>
<h1 class="display-4 mb-3">✨ Artigos @tenant.SiteName</h1>
<p class="lead text-muted">Insights, tendências e inspiração para transformar sua presença digital</p>
</div>
</div>
@ -20,7 +22,7 @@
<div class="card h-100 border-0 shadow-sm hover-shadow">
@if (!string.IsNullOrEmpty(artigo.Image))
{
<img src="@artigo.Image" class="card-img-top" alt="@artigo.Title" style="height: 200px; object-fit: cover;">
<img src="@artigo.Image" class="card-img-top" alt="@artigo.Title" style="height: 200px; object-fit: cover;" onerror="this.remove()">
}
<div class="card-body">
<h5 class="card-title">@artigo.Title</h5>
@ -55,7 +57,7 @@
<div class="card bg-primary text-white border-0 shadow">
<div class="card-body text-center p-5">
<h3 class="mb-3">Quer ver tutoriais práticos?</h3>
<p class="mb-4">Acesse nossa seção de tutoriais e aprenda passo a passo como usar o BCards</p>
<p class="mb-4">Acesse nossa seção de tutoriais e aprenda passo a passo como usar o @tenant.SiteName</p>
<a href="@Url.Action("Index", "Tutoriais", new { area = "Tutoriais" })" class="btn btn-light btn-lg">
<i class="fas fa-book-open me-2"></i> Ver Tutoriais
</a>

View File

@ -2,7 +2,7 @@
title: "Como a Tecnologia Está Transformando o Ministério Moderno"
description: "Reflexão sobre como pastores, padres e líderes religiosos podem usar ferramentas digitais para alcançar mais pessoas com a mensagem de fé, sem perder a essência do ministério."
keywords: "ministério digital, igreja online, pastor digital, tecnologia e fé, evangelismo digital"
author: "Equipe LusLinks"
author: "Equipe LuzLinks"
date: 2026-01-28
lastMod: 2026-01-28
image: "/images/artigos/ministerio-digital.jpg"
@ -112,7 +112,7 @@ Sem uma centralização clara, o esforço de presença digital se fragmenta.
É por isso que a bio link — uma página única com todos os contatos e plataformas do ministério — se tornou uma necessidade básica para líderes que levam a sério a presença digital.
Com uma boa página no LusLinks, qualquer pessoa que encontra o ministério em qualquer plataforma chega ao mesmo lugar: uma porta de entrada organizada, com links para as lives, o grupo da comunidade, a agenda, e como contribuir com o ministério.
Com uma boa página no LuzLinks, qualquer pessoa que encontra o ministério em qualquer plataforma chega ao mesmo lugar: uma porta de entrada organizada, com links para as lives, o grupo da comunidade, a agenda, e como contribuir com o ministério.
---
@ -151,9 +151,9 @@ O desafio não é técnico. É espiritual: usar bem o que temos disponível, sem
---
**Quer centralizar a presença digital do seu ministério?**
Crie sua página no LusLinks e ofereça à sua congregação uma porta de entrada organizada para tudo que você produz.
Crie sua página no LuzLinks e ofereça à sua congregação uma porta de entrada organizada para tudo que você produz.
[Criar minha página no LusLinks →](https://luslinks.site/)
[Criar minha página no LuzLinks →](https://luzlinks.site/)
---

View File

@ -2,7 +2,7 @@
title: "Como Criar Sua Bio de Fé do Zero"
description: "Um guia prático para pastores, líderes e ministérios que querem criar uma página de links organizada, bonita e que realmente represente o trabalho do ministério online."
keywords: "bio link pastor, como criar pagina ministerio, presenca digital igreja, links para pastores, ministerio digital"
author: "Equipe LusLinks"
author: "Equipe LuzLinks"
date: 2026-04-30
lastMod: 2026-04-30
image: "/images/artigos/bio-de-fe.jpg"
@ -20,11 +20,22 @@ Este guia mostra como criar a sua do zero, mesmo que você não tenha experiênc
---
## Este artigo é para você se...
- Você é pastor, padre, líder ou membro ativo de um ministério
- Você manda links diferentes para a congregação e quer centralizar tudo num único endereço
- Você ainda não tem nenhuma bio de links — ou tem uma desatualizada
- Você não precisa de experiência técnica: tudo aqui é feito pelo celular ou computador, sem programação
**O que você encontra aqui:** como escolher e organizar os links do ministério, o que escrever na descrição, erros comuns para evitar e o passo a passo completo para publicar.
---
## O que é uma bio de links?
Uma bio de links é uma página simples na internet com o seu nome, uma foto, uma descrição breve e uma lista de links para tudo que você quer que as pessoas encontrem.
Funciona assim: você cria uma página no LusLinks, configura seus links, e recebe um endereço único — como `luslinks.site/pastor/seu-nome`. Esse endereço vai na bio do Instagram, no perfil do WhatsApp, no final de cada vídeo do YouTube, em qualquer lugar que você queira.
Funciona assim: você cria uma página no LuzLinks, configura seus links, e recebe um endereço único — como `luzlinks.site/pastor/seu-nome`. Esse endereço vai na bio do Instagram, no perfil do WhatsApp, no final de cada vídeo do YouTube, em qualquer lugar que você queira.
Quem clicar chega numa página organizada com acesso a tudo.
@ -125,12 +136,12 @@ Uma página sem foto parece abandonada. Mesmo que seja uma imagem simples, coloq
---
## Passo a passo para criar no LusLinks
## Passo a passo para criar no LuzLinks
1. Acesse [luslinks.site](https://luslinks.site/) e crie sua conta com email ou Google
1. Acesse [luzlinks.site](https://luzlinks.site/) e crie sua conta com email ou Google
2. Clique em "Criar nova página"
3. Escolha a categoria que melhor representa seu ministério (pastor, padre, líder, etc.)
4. Defina sua URL personalizada — ex: `luslinks.site/pastor/joao-silva`
4. Defina sua URL personalizada — ex: `luzlinks.site/pastor/joao-silva`
5. Adicione foto de perfil e descrição
6. Adicione seus links na ordem de prioridade
7. Escolha um tema visual
@ -152,10 +163,27 @@ Depois você vai ajustando conforme usa. Uma página simples e funcionando é mu
---
**Pronto para centralizar a presença digital do seu ministério?**
Crie sua página no LusLinks e ofereça à sua congregação um único link para tudo.
## O que pode não funcionar
[Criar minha bio de fé →](https://luslinks.site/)
- **Sem foto de perfil:** páginas sem foto têm taxa de saída muito mais alta — as pessoas não confiam num perfil anônimo
- **Links quebrados:** um link que não abre faz a pessoa desistir e não voltar; cheque tudo antes de publicar
- **Descrição genérica:** "Ministério da Graça" sem contexto não converte — seja específico sobre o que você oferece
- **Página desatualizada:** um horário de culto errado ou um grupo lotado (sem acesso) frustra quem quer participar
---
## Leia também
- [Como Divulgar Cultos e Eventos pelo WhatsApp com um Único Link](/artigos/como-divulgar-cultos-e-eventos-pelo-whatsapp)
- [Por Que Pastores Precisam de Presença Digital](/artigos/por-que-pastores-precisam-de-presenca-digital)
- [Como Receber Dízimos Online no Seu Ministério](/artigos/como-receber-dizimos-online-no-seu-ministerio)
---
**Pronto para centralizar a presença digital do seu ministério?**
Crie sua página no LuzLinks e ofereça à sua congregação um único link para tudo.
[Criar minha bio de fé →](https://luzlinks.site/)
---

View File

@ -2,7 +2,7 @@
title: "Como Divulgar Cultos e Eventos pelo WhatsApp com um Único Link"
description: "Chega de mandar vários links diferentes no grupo da igreja. Veja como centralizar a agenda, o link da live e as informações do culto em uma única página que você compartilha com facilidade."
keywords: "divulgar culto whatsapp, agenda igreja online, link ministerio whatsapp, como divulgar eventos religiosos, bio link pastor whatsapp"
author: "Equipe LusLinks"
author: "Equipe LuzLinks"
date: 2026-04-30
lastMod: 2026-04-30
image: "/images/artigos/cultos-whatsapp.jpg"
@ -20,6 +20,17 @@ Existe uma solução bem mais simples para isso.
---
## Este artigo é para você se...
- Você já usa grupos de WhatsApp para se comunicar com a congregação
- Você manda vários links separados nos grupos e sente que as pessoas se perdem
- Você quer que um novo contato encontre tudo em um só lugar, sem precisar perguntar
- Você quer economizar tempo na comunicação semanal do ministério
**O que você encontra aqui:** como estruturar a bio de links para eventos, quando atualizar o link da live, modelos de mensagem prontos para usar e como aplicar o mesmo link em outros canais.
---
## O problema com múltiplos links no WhatsApp
Quando você manda vários links numa mensagem, acontece algo previsível: as pessoas abrem um ou dois, ignoram o resto, e ficam sem as informações que precisariam ter visto.
@ -32,11 +43,11 @@ Além disso, toda vez que algo muda (nova live, novo link do Zoom, endereço dif
## A solução: um único link que tem tudo
Com uma página no LusLinks, você cria um endereço único — como `luslinks.site/pastor/seu-nome` — que concentra tudo que a congregação precisa saber.
Com uma página no LuzLinks, você cria um endereço único — como `luzlinks.site/pastor/seu-nome` — que concentra tudo que a congregação precisa saber.
A mensagem do grupo vira algo assim:
> "Culto de quarta à noite às 19h. Acesse aqui todos os links: luslinks.site/pastor/joao-silva"
> "Culto de quarta à noite às 19h. Acesse aqui todos os links: luzlinks.site/pastor/joao-silva"
Uma linha. Um link. Tudo que a pessoa precisa está lá quando ela clicar.
@ -96,7 +107,7 @@ Com a bio montada, você pode usar sempre a mesma estrutura de mensagem:
> ▶️ Live: [link direto caso seja específico]
> 📍 Presencial: [endereço]
>
> Tudo em um só lugar: luslinks.site/pastor/seu-nome
> Tudo em um só lugar: luzlinks.site/pastor/seu-nome
---
@ -105,7 +116,7 @@ Com a bio montada, você pode usar sempre a mesma estrutura de mensagem:
> 🙏 Retiro de jovens — sábado, 10 de maio
>
> Informações completas, como chegar e inscrições:
> luslinks.site/pastor/seu-nome
> luzlinks.site/pastor/seu-nome
---
@ -121,7 +132,7 @@ Isso alcança pessoas que você conhece pessoalmente mas que ainda não fazem pa
Uma mensagem simples no status:
> "Culto hoje às 19h — link de tudo aqui 👆 luslinks.site/pastor/seu-nome"
> "Culto hoje às 19h — link de tudo aqui 👆 luzlinks.site/pastor/seu-nome"
---
@ -133,7 +144,7 @@ O mesmo link que você usa no WhatsApp funciona em qualquer lugar:
**Cartões de visita:** se você distribui cartões físicos, o link da bio pode ser o único endereço que você precisa colocar
**Assinatura de email:** coloque no final dos seus emails como "Acesse minha agenda: luslinks.site/pastor/seu-nome"
**Assinatura de email:** coloque no final dos seus emails como "Acesse minha agenda: luzlinks.site/pastor/seu-nome"
**Final de pregações gravadas:** ao editar os vídeos, inclua o link nas telas finais e na descrição do YouTube
@ -151,10 +162,27 @@ Com um único link atualizado, você:
---
**Quer configurar sua página e simplificar a comunicação com a congregação?**
Crie sua bio de fé no LusLinks e comece a usar um link para tudo.
## O que pode não funcionar
[Criar minha página →](https://luslinks.site/)
- **Link da live que muda toda semana:** se você precisa atualizar o link da bio a cada culto, considere linkar o canal do YouTube ao invés da live específica — o canal sempre mostra a transmissão ativa no topo
- **Grupos lotados no WhatsApp:** se seu grupo atingiu o limite de participantes, o link de convite para e funcionar; mantenha a bio atualizada com o link do grupo atual
- **Bio usada apenas no grupo principal:** o maior potencial do link único é alcançar pessoas *fora* do grupo já existente — divulgue também no status do WhatsApp, no Instagram e em outras redes
- **Página sem agenda atualizada:** uma agenda desatualizada (com cultos que já passaram) confunde quem está tentando participar pela primeira vez
---
## Leia também
- [Como Criar Sua Bio de Fé do Zero](/artigos/como-criar-sua-bio-de-fe-do-zero)
- [Como Receber Dízimos Online no Seu Ministério](/artigos/como-receber-dizimos-online-no-seu-ministerio)
- [Por Que Pastores Precisam de Presença Digital](/artigos/por-que-pastores-precisam-de-presenca-digital)
---
**Quer configurar sua página e simplificar a comunicação com a congregação?**
Crie sua bio de fé no LuzLinks e comece a usar um link para tudo.
[Criar minha página →](https://luzlinks.site/)
---

View File

@ -2,7 +2,7 @@
title: "Como Receber Dízimos Online no Seu Ministério"
description: "Um guia prático sobre as opções disponíveis para receber dízimos, ofertas e doações online — com foco em segurança, transparência e facilidade para a congregação."
keywords: "dizimo online, receber oferta online, pix igreja, doacao ministerio, contribuicao igreja digital"
author: "Equipe LusLinks"
author: "Equipe LuzLinks"
date: 2026-04-30
lastMod: 2026-04-30
image: "/images/artigos/dizimos-online.jpg"
@ -20,6 +20,17 @@ Disponibilizar opções de contribuição online não é substituir a oferta pre
---
## Este artigo é para você se...
- Você lidera um ministério e quer facilitar a contribuição de membros que assistem remotamente
- Você percebe que parte da congregação não contribui simplesmente porque não carrega dinheiro em espécie
- Você quer saber quais ferramentas existem no Brasil para receber contribuições online, com custo baixo ou zero
- Você quer fazer isso com transparência e sem complicar a gestão financeira do ministério
**O que você encontra aqui:** as principais opções de recebimento digital disponíveis no Brasil (Pix, plataformas de doação, internacionais), como comunicar isso à congregação e boas práticas de transparência financeira.
---
## Por que oferecer opções digitais de dízimo
**Membros remotos também querem contribuir**
@ -45,7 +56,7 @@ O Pix é a opção mais simples e com menos burocracia. Qualquer banco ou fintec
**Como disponibilizar:**
- Crie uma chave Pix com um email ou número dedicado ao ministério (diferente do pessoal)
- Gere um QR Code estático de cobrança — sem valor fixo, a pessoa decide o valor
- Coloque o QR Code nos cultos, nos slides de apresentação, e o link na sua bio do LusLinks
- Coloque o QR Code nos cultos, nos slides de apresentação, e o link na sua bio do LuzLinks
**Vantagem:** sem taxa, imediato, qualquer pessoa com app de banco consegue usar
**Desvantagem:** não tem gestão automática de recorrência — é uma transferência avulsa cada vez
@ -56,7 +67,7 @@ O Pix é a opção mais simples e com menos burocracia. Qualquer banco ou fintec
Para dízimos maiores ou pessoas mais acostumadas com transferência bancária tradicional, ter os dados bancários disponíveis é importante.
Mantenha esses dados em lugar acessível — na bio do LusLinks, no site da igreja, nos grupos do WhatsApp.
Mantenha esses dados em lugar acessível — na bio do LuzLinks, no site da igreja, nos grupos do WhatsApp.
---
@ -94,7 +105,7 @@ Reserve um momento breve para mostrar o QR Code do Pix no telão. Uma frase simp
**Nas transmissões ao vivo:**
Mencione as formas de contribuição no início e no final da transmissão. Não precisa ser uma campanha — uma referência breve e direta é suficiente.
**Na sua bio do LusLinks:**
**Na sua bio do LuzLinks:**
Inclua um link de dízimos na sua página. Algo como "Dízimos e Ofertas" com um link para o Pix ou para a página de doação. Quando alguém descobre seu ministério e quer contribuir, esse link é o caminho mais direto.
**No grupo do WhatsApp:**
@ -121,7 +132,7 @@ Ministérios que tratam as finanças com transparência raramente enfrentam cris
Para a maioria dos ministérios, este conjunto básico já atende bem:
1. **Pix com QR Code** para contribuições espontâneas no culto e online
2. **Link do Pix ou página de doação** na bio do LusLinks
2. **Link do Pix ou página de doação** na bio do LuzLinks
3. **Menção breve nos cultos** sobre as formas disponíveis
4. **Relatório financeiro mensal** compartilhado com a liderança e, em versão resumida, com a congregação
@ -139,10 +150,27 @@ Use o digital para remover obstáculos práticos — não para transformar a ofe
---
**Coloque o link dos dízimos na sua bio de fé.**
Com uma página no LusLinks, sua congregação encontra todas as formas de contribuição em um só lugar.
## O que pode não funcionar
[Criar minha página no LusLinks →](https://luslinks.site/)
- **Usar apenas o Pix pessoal do pastor:** misturar finanças pessoais e do ministério é a raiz de muitos problemas de confiança — crie um email e chave Pix separados para o ministério
- **Não comunicar as formas disponíveis:** disponibilizar sem avisar é como ter uma porta aberta num quarto escuro; mencione regularmente nos cultos e nas transmissões
- **Depender de uma única plataforma:** plataformas mudam políticas e taxas; ter Pix como opção principal e uma segunda alternativa garante continuidade
- **Não prestar contas:** contribuições digitais sem prestação de contas periódica geram desconfiança; um relatório simples, mesmo que informal, faz diferença
---
## Leia também
- [Como Criar Sua Bio de Fé do Zero](/artigos/como-criar-sua-bio-de-fe-do-zero)
- [Como Divulgar Cultos e Eventos pelo WhatsApp com um Único Link](/artigos/como-divulgar-cultos-e-eventos-pelo-whatsapp)
- [Por Que Pastores Precisam de Presença Digital](/artigos/por-que-pastores-precisam-de-presenca-digital)
---
**Coloque o link dos dízimos na sua bio de fé.**
Com uma página no LuzLinks, sua congregação encontra todas as formas de contribuição em um só lugar.
[Criar minha página no LuzLinks →](https://luzlinks.site/)
---

View File

@ -2,7 +2,7 @@
title: "Por Que Pastores Precisam de Presença Digital"
description: "Uma análise honesta de por que a presença digital deixou de ser opcional para líderes religiosos — e como começar sem abrir mão da autenticidade e dos valores do ministério."
keywords: "pastor presenca digital, igreja digital, lider religioso internet, ministerio online, como comecar presenca digital pastor"
author: "Equipe LusLinks"
author: "Equipe LuzLinks"
date: 2026-04-30
lastMod: 2026-04-30
image: "/images/artigos/presenca-digital-pastor.jpg"
@ -20,6 +20,17 @@ Mas esse argumento ignora uma realidade importante: as pessoas que você quer al
---
## Este artigo é para você se...
- Você ainda não tem presença digital — ou tem algo desatualizado que não representa bem o seu ministério
- Você já ouviu falar em "estar online" mas não está convencido de que faz diferença para um ministério
- Você quer entender os riscos reais de não estar no digital, com exemplos práticos
- Você quer começar de forma simples, sem transformar a vida em produção de conteúdo
**O que você encontra aqui:** por que a presença digital mudou de opcional para necessária, os custos reais de não estar online, e o mínimo que já faz diferença — com passos concretos para começar.
---
## Como as pessoas encontram novas igrejas hoje
Vinte anos atrás, uma família que se mudava para uma cidade nova perguntava para vizinhos ou parentes onde havia uma boa igreja. Hoje, ela abre o Google e digita "igreja evangélica perto de mim" ou "pastor presbitariano em [cidade]".
@ -70,7 +81,7 @@ Você não precisa ter uma equipe de produção de conteúdo ou postar todos os
Uma página simples com: nome do ministério, endereço, horários de culto, contato e links para redes sociais. Isso já garante que alguém que pesquisa seu nome encontre algo.
O LusLinks foi criado exatamente para isso — criar esse ponto de referência de forma simples, sem precisar montar um site completo.
O LuzLinks foi criado exatamente para isso — criar esse ponto de referência de forma simples, sem precisar montar um site completo.
### 2. Presença consistente em uma plataforma
@ -100,7 +111,7 @@ Parte da sua congregação atual pode não usar. Mas as pessoas que você ainda
**"Não sei nada de tecnologia."**
Esse argumento ficou mais fraco com o tempo. As ferramentas de hoje são projetadas para serem usadas por qualquer pessoa. Criar uma página no LusLinks, por exemplo, leva menos de 30 minutos e não exige nenhum conhecimento técnico.
Esse argumento ficou mais fraco com o tempo. As ferramentas de hoje são projetadas para serem usadas por qualquer pessoa. Criar uma página no LuzLinks, por exemplo, leva menos de 30 minutos e não exige nenhum conhecimento técnico.
---
@ -108,7 +119,7 @@ Esse argumento ficou mais fraco com o tempo. As ferramentas de hoje são projeta
Se você ainda não tem nenhuma presença digital, comece pelos fundamentos:
**Passo 1:** Crie uma conta no LusLinks e monte uma página simples com os links do seu ministério. Isso leva menos de meia hora.
**Passo 1:** Crie uma conta no LuzLinks e monte uma página simples com os links do seu ministério. Isso leva menos de meia hora.
**Passo 2:** Coloque esse link na bio do Instagram e no status do WhatsApp.
@ -130,10 +141,27 @@ E essa é uma pergunta que você pode responder com calma, no seu ritmo, começa
---
**Pronto para dar o primeiro passo?**
Crie a página do seu ministério no LusLinks e garanta que as pessoas que estão buscando uma comunidade de fé possam te encontrar.
## O que pode não funcionar
[Criar minha página no LusLinks →](https://luslinks.site/)
- **Tentar estar em todas as plataformas ao mesmo tempo:** leva à superficialidade em todas. Comece com uma e domine antes de expandir
- **Postar esporadicamente:** o algoritmo e a audiência valorizam consistência. Uma postagem por semana, sempre, supera dez postagens num mês e sumindo depois
- **Separar completamente digital do presencial:** a presença digital deve convidar para o encontro real, não substituí-lo. Ministérios que tratam os dois como mundos separados perdem o sentido de comunidade
- **Não monitorar o que está funcionando:** criar conteúdo sem nunca verificar se as pessoas estão chegando é trabalho sem aprendizado
---
## Leia também
- [Como Criar Sua Bio de Fé do Zero](/artigos/como-criar-sua-bio-de-fe-do-zero)
- [Como Divulgar Cultos e Eventos pelo WhatsApp com um Único Link](/artigos/como-divulgar-cultos-e-eventos-pelo-whatsapp)
- [Como Receber Dízimos Online no Seu Ministério](/artigos/como-receber-dizimos-online-no-seu-ministerio)
---
**Pronto para dar o primeiro passo?**
Crie a página do seu ministério no LuzLinks e garanta que as pessoas que estão buscando uma comunidade de fé possam te encontrar.
[Criar minha página no LuzLinks →](https://luzlinks.site/)
---

View File

@ -1,18 +1,18 @@
---
title: "Como Criar sua Página no LusLinks: Guia Completo para Líderes Religiosos"
description: "Passo a passo para pastores, padres, líderes e ministérios criarem sua página profissional no LusLinks e alcançarem mais pessoas com sua mensagem de fé."
keywords: "luslinks tutorial, página pastor, bio links ministerio, presença digital iglesia, como criar página pastor"
author: "Equipe LusLinks"
title: "Como Criar sua Página no LuzLinks: Guia Completo para Líderes Religiosos"
description: "Passo a passo para pastores, padres, líderes e ministérios criarem sua página profissional no LuzLinks e alcançarem mais pessoas com sua mensagem de fé."
keywords: "luzlinks tutorial, página pastor, bio links ministerio, presença digital iglesia, como criar página pastor"
author: "Equipe LuzLinks"
date: 2026-01-25
lastMod: 2026-01-25
image: "/images/tutoriais/pastor-luslinks.jpg"
image: "/images/tutoriais/pastor-luzlinks.jpg"
culture: "pt-BR"
category: "ministerio"
---
# Como Criar sua Página no LusLinks: Guia Completo para Líderes Religiosos
# Como Criar sua Página no LuzLinks: Guia Completo para Líderes Religiosos
Sua congregação está em vários lugares ao mesmo tempo: no Instagram, no YouTube, no WhatsApp, no Telegram, na agenda de eventos — e você fica repetindo os mesmos links toda semana. O LusLinks resolve isso com uma página única que reúne tudo.
Sua congregação está em vários lugares ao mesmo tempo: no Instagram, no YouTube, no WhatsApp, no Telegram, na agenda de eventos — e você fica repetindo os mesmos links toda semana. O LuzLinks resolve isso com uma página única que reúne tudo.
Este guia mostra o passo a passo completo para líderes religiosos criarem sua bio de fé.
@ -35,11 +35,11 @@ Quando alguém perguntar "onde acompanho o ministério?", você precisa ter uma
---
## Passo 1: Criar sua Conta no LusLinks
## Passo 1: Criar sua Conta no LuzLinks
### 1.1. Acesse o Site
Vá para [luslinks.site](https://luslinks.site) e clique em **"Entrar"** no menu.
Vá para [luzlinks.site](https://luzlinks.site) e clique em **"Entrar"** no menu.
### 1.2. Login Social (Recomendado)
@ -68,17 +68,17 @@ O nome deve ser claro e reconhecível pela sua congregação:
### Escolhendo o Slug (URL)
Sua URL no LusLinks seguirá o padrão:
Sua URL no LuzLinks seguirá o padrão:
```
luslinks.site/ministerio/seu-slug
luzlinks.site/ministerio/seu-slug
```
Boas opções:
```
pr-joao-silva → luslinks.site/ministerio/pr-joao-silva
igreja-graca-viva → luslinks.site/ministerio/igreja-graca-viva
ministerio-agape → luslinks.site/ministerio/ministerio-agape
pe-carlos-mendes → luslinks.site/ministerio/pe-carlos-mendes
pr-joao-silva → luzlinks.site/ministerio/pr-joao-silva
igreja-graca-viva → luzlinks.site/ministerio/igreja-graca-viva
ministerio-agape → luzlinks.site/ministerio/ministerio-agape
pe-carlos-mendes → luzlinks.site/ministerio/pe-carlos-mendes
```
> **Dica:** Escolha algo simples que qualquer membro consiga digitar de memória.
@ -171,7 +171,7 @@ URL: mailto:secretaria@suaigreja.com.br
## Passo 4: Escolhendo o Tema Visual
O LusLinks oferece temas adequados para conteúdo espiritual. Recomendamos:
O LuzLinks oferece temas adequados para conteúdo espiritual. Recomendamos:
- **Clássico ou Minimalista** para igrejas tradicionais (católicas, luteranas, presbiterianas)
- **Gradiente suave ou Azul** para igrejas evangélicas pentecostais
@ -203,7 +203,7 @@ Com a página aprovada, divulgue por todos os canais:
Projete no telão durante os avisos:
```
"Encontre todos os nossos links e contatos em:
luslinks.site/ministerio/sua-church"
luzlinks.site/ministerio/sua-church"
```
### No Instagram
@ -212,7 +212,7 @@ Atualize a bio:
```
Igreja Graça Viva | São Paulo
Cultos: Dom 9h e 19h | Qua 20h
🔗 Todos os links: luslinks.site/ministerio/igreja-graca-viva
🔗 Todos os links: luzlinks.site/ministerio/igreja-graca-viva
```
### No WhatsApp dos Membros
@ -223,7 +223,7 @@ Irmãos, agora temos uma página única com todos os nossos links:
cultos, agenda, YouTube, dízimos e mais.
👇 Salve e compartilhe:
luslinks.site/ministerio/igreja-graca-viva
luzlinks.site/ministerio/igreja-graca-viva
```
### No YouTube
@ -231,7 +231,7 @@ luslinks.site/ministerio/igreja-graca-viva
Fixe o link como comentário pinado nos vídeos e inclua na descrição:
```
Todos os nossos contatos e próximos eventos:
luslinks.site/ministerio/sua-church
luzlinks.site/ministerio/sua-church
```
---
@ -261,7 +261,7 @@ Sim! Com o plano Premium você pode ter múltiplas páginas. Muitos líderes tê
Sempre que renovar o link de convite, acesse o Dashboard e atualize o link na sua página. Leva menos de 1 minuto.
**Posso colocar link de canal privado (assinatura)?**
Sim, desde que o conteúdo seja compatível com a plataforma. O LusLinks é focado em conteúdo espiritual e educativo.
Sim, desde que o conteúdo seja compatível com a plataforma. O LuzLinks é focado em conteúdo espiritual e educativo.
**Posso ter a página em português e espanhol?**
Para congregações bilíngues, recomendamos duas páginas: uma em pt-BR e outra em es. O plano Premium permite isso.
@ -270,7 +270,7 @@ Para congregações bilíngues, recomendamos duas páginas: uma em pt-BR e outra
## Conclusão
Criar sua página no LusLinks é o primeiro passo para organizar a presença digital do seu ministério. Em vez de repetir links toda semana, você compartilha uma URL simples que sua congregação encontra tudo.
Criar sua página no LuzLinks é o primeiro passo para organizar a presença digital do seu ministério. Em vez de repetir links toda semana, você compartilha uma URL simples que sua congregação encontra tudo.
**Recapitulando:**
1. ✅ Criar conta com email do ministério
@ -280,7 +280,7 @@ Criar sua página no LusLinks é o primeiro passo para organizar a presença dig
5. ✅ Submeter para moderação
6. ✅ Divulgar para a congregação
[Criar minha página de fé →](https://luslinks.site/)
[Criar minha página de fé →](https://luzlinks.site/)
---

View File

@ -18,6 +18,17 @@ A maioria das criadoras desperdiça essa oportunidade. Este artigo mostra como n
---
## Este artigo é para você se...
- Você já cria conteúdo no Instagram mas sente que poderia estar convertendo mais visitantes em seguidores
- Você não sabe exatamente o que colocar na bio ou na página de links para chamar atenção
- Você quer uma estratégia clara — não dicas genéricas, mas um passo a passo que dá para aplicar hoje
- Você está crescendo e quer que a estrutura da sua bio acompanhe esse crescimento
**O que você encontra aqui:** como a jornada do visitante funciona, o que uma boa foto e bio fazem, como organizar os links por prioridade, e como usar métricas para melhorar ao longo do tempo.
---
## A jornada do visitante
Antes de falar sobre configuração, entenda o caminho que uma pessoa percorre antes de clicar em "seguir":
@ -159,6 +170,23 @@ Antes de publicar, confira:
---
## O que pode não funcionar
- **Foto de perfil genérica ou de baixa qualidade:** é a primeira coisa que as pessoas veem — uma foto ruim faz a pessoa sair antes de ler a bio
- **Bio do Instagram e página de links com visual completamente diferente:** a falta de coerência visual causa estranheza e diminui a confiança
- **Atualizar a bio raramente:** o que convertia bem 6 meses atrás pode não converter mais — revise os títulos dos links e a descrição a cada 2 ou 3 meses
- **Muitos links sem hierarquia:** 10 links todos com a mesma importância visual fazem a pessoa não saber o que clicar; prioridade clara é fundamental
---
## Leia também
- [Os Melhores Links para Colocar na Sua Bio do Instagram](/artigos/os-melhores-links-para-sua-bio-do-instagram)
- [Como Criadores de Conteúdo Ganham Dinheiro com Links de Afiliados](/artigos/como-criadores-de-conteudo-ganham-dinheiro-com-afiliados)
- [SpicyLinks vs Linktree: Qual é Melhor para Criadores?](/artigos/spicylinks-vs-linktree-qual-e-melhor-para-criadores)
---
**Sua bio pronta para converter visitantes em seguidores?**
Configure sua página no SpicyLinks e transforme cada visita em uma oportunidade.

View File

@ -20,6 +20,17 @@ Este artigo explica como funciona e como você pode começar.
---
## Este artigo é para você se...
- Você recomenda produtos para suas seguidoras mas ainda não monetiza essas indicações
- Você quer uma fonte de renda que funcione mesmo quando não está postando
- Você quer entender o básico de afiliados sem enrolação — como funciona, por onde começa e quanto dá para ganhar de forma realista
- Você quer saber como organizar os links de afiliado na sua bio de forma profissional
**O que você encontra aqui:** como funciona o marketing de afiliados, os principais programas disponíveis no Brasil, como divulgar sem parecer forçada e como organizar tudo na sua bio do SpicyLinks.
---
## O que é marketing de afiliados
Marketing de afiliados é um modelo onde uma empresa te paga uma comissão pela venda que você gerou. Você recebe um link único (seu link de afiliado), compartilha com sua audiência, e quando alguém compra através desse link, você recebe uma porcentagem do valor.
@ -166,6 +177,23 @@ Links quebrados geram frustração e custam credibilidade.
---
## O que pode não funcionar
- **Indicar produtos sem ter testado:** uma indicação de produto ruim custa muito mais do que a comissão ganha — a credibilidade com a audiência é seu ativo mais valioso
- **Não deixar os links de afiliado sempre visíveis:** guardar para posts esporádicos reduz muito a conversão; links fixos na bio trabalham 24h por dia
- **Esperar resultados rápidos:** afiliados são renda que cresce com o tempo e com o crescimento da audiência — nos primeiros meses os valores são pequenos, mas escalam
- **Não declarar que é link de afiliado:** além de ser a prática honesta, a transparência aumenta a confiança e frequentemente melhora a conversão
---
## Leia também
- [Os Melhores Links para Colocar na Sua Bio do Instagram](/artigos/os-melhores-links-para-sua-bio-do-instagram)
- [Como Configurar Sua Bio para Ganhar Mais Seguidores](/artigos/como-configurar-sua-bio-para-ganhar-mais-seguidores)
- [SpicyLinks vs Linktree: Qual é Melhor para Criadores?](/artigos/spicylinks-vs-linktree-qual-e-melhor-para-criadores)
---
**Pronta para adicionar afiliados à sua estratégia de renda?**
Com o plano Premium+Afiliados do SpicyLinks, você organiza e acompanha todos os seus links de produto em um só lugar.

View File

@ -20,6 +20,17 @@ Este artigo responde essas perguntas com base no que funciona na prática.
---
## Este artigo é para você se...
- Você tem uma página de links mas não sabe se está aproveitando bem o espaço
- Você adiciona links sem critério e quer entender qual ordem gera mais resultados
- Você quer saber o que realmente converte — e o que está desperdiçando o espaço dos primeiros cliques
- Você acabou de criar sua conta e quer montar a bio já com uma estrutura inteligente
**O que você encontra aqui:** a regra dos três primeiros links, quais links valem a pena incluir por objetivo, o que evitar, modelos prontos para diferentes estratégias e como manter a página atualizada.
---
## A regra dos primeiros três links
Pesquisas de comportamento em páginas de links mostram um padrão consistente: os três primeiros links recebem entre 60% e 80% de todos os cliques. O quarto em diante recebe cada vez menos atenção.
@ -174,6 +185,23 @@ Se você usa o SpicyLinks, as métricas mostram quantas pessoas clicam em cada l
---
## O que pode não funcionar
- **Título genérico nos links:** "Instagram" ou "OnlyFans" não convence ninguém — o título precisa comunicar o que a pessoa vai encontrar ao clicar
- **Links que apontam para conteúdo específico desatualizado:** um post antigo ou uma live encerrada gera frustração; prefira links para perfis ou canais completos
- **Não testar variações:** a ordem e o título dos links que você configurou hoje não são definitivos — teste, analise e ajuste
- **Ignorar as métricas:** se um link nunca recebe cliques, ele está ocupando o espaço de algo que poderia converter
---
## Leia também
- [Como Configurar Sua Bio para Ganhar Mais Seguidores](/artigos/como-configurar-sua-bio-para-ganhar-mais-seguidores)
- [SpicyLinks vs Linktree: Qual é Melhor para Criadores?](/artigos/spicylinks-vs-linktree-qual-e-melhor-para-criadores)
- [Como Criadores de Conteúdo Ganham Dinheiro com Links de Afiliados](/artigos/como-criadores-de-conteudo-ganham-dinheiro-com-afiliados)
---
**Configure sua bio com os links certos e veja a diferença.**
Crie ou atualize sua página no SpicyLinks com uma estratégia clara.

View File

@ -18,6 +18,17 @@ Este artigo faz uma comparação direta, sem rodeios, para ajudar você a decidi
---
## Este artigo é para você se...
- Você está avaliando qual plataforma de bio link usar e não sabe a diferença entre as opções
- Você já usa o Linktree mas está questionando se vale a pena continuar — especialmente pelo custo em dólar
- Você quer uma comparação direta, sem papo de vendedor, sobre o que cada plataforma entrega
- Você quer saber se migrar faz sentido e se o processo é complicado
**O que você encontra aqui:** pontos fortes e fracos de cada plataforma, comparação de preços real (dólar vs real), diferenças nos recursos principais e quando cada uma faz sentido.
---
## O Linktree: o que é e para quem serve bem
O Linktree foi lançado em 2016 e hoje tem mais de 40 milhões de usuários. É a escolha padrão para quem quer algo rápido, reconhecível e sem muita configuração.
@ -181,6 +192,14 @@ O Linktree é a escolha padrão por reconhecimento de marca. O SpicyLinks é a e
---
## Leia também
- [Como Configurar Sua Bio para Ganhar Mais Seguidores](/artigos/como-configurar-sua-bio-para-ganhar-mais-seguidores)
- [Os Melhores Links para Colocar na Sua Bio do Instagram](/artigos/os-melhores-links-para-sua-bio-do-instagram)
- [Como Criadores de Conteúdo Ganham Dinheiro com Links de Afiliados](/artigos/como-criadores-de-conteudo-ganham-dinheiro-com-afiliados)
---
**Teste você mesma e compare.**
Crie sua página no SpicyLinks — são 7 dias grátis para avaliar sem compromisso.

View File

@ -895,11 +895,7 @@ using (var scope = app.Services.CreateScope())
await themeService.InitializeDefaultThemesAsync();
}
var existingCategories = await categoryService.GetAllCategoriesAsync();
if (!existingCategories.Any())
{
await categoryService.InitializeDefaultCategoriesAsync();
}
await categoryService.InitializeDefaultCategoriesAsync();
Log.Information("Default themes and categories initialized successfully");
}

View File

@ -24,11 +24,11 @@
},
"applicationUrl": "https://localhost:49182;http://localhost:49183"
},
"LusLinks": {
"LuzLinks": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Luslinks"
"ASPNETCORE_ENVIRONMENT": "Luzlinks"
},
"applicationUrl": "https://localhost:49184;http://localhost:49185"
}

View File

@ -58,26 +58,42 @@ public class CategoryService : ICategoryService
public async Task InitializeDefaultCategoriesAsync()
{
var categories = await _categoryRepository.GetAllActiveAsync();
if (categories.Any()) return;
// Usa categorias configuradas no tenant se disponíveis
Console.WriteLine($"[CategoryService] DefaultCategories count: {_tenant.DefaultCategories.Count}, SiteName: {_tenant.SiteName}");
// Se tenant tem DefaultCategories configuradas, sempre sincroniza (tenant config é fonte da verdade)
if (_tenant.DefaultCategories.Any())
{
var existing = await _categoryRepository.GetAllActiveAsync();
var existingSlugs = existing.Select(c => c.Slug).ToHashSet();
var configSlugs = _tenant.DefaultCategories
.Select(i => string.IsNullOrWhiteSpace(i.Slug) ? GenerateSlug(i.Name) : i.Slug)
.ToHashSet();
// Remove categorias que não estão mais na config
foreach (var cat in existing.Where(c => !configSlugs.Contains(c.Slug)))
await _categoryRepository.DeleteAsync(cat.Id!);
// Adiciona categorias novas
foreach (var item in _tenant.DefaultCategories)
{
await _categoryRepository.CreateAsync(new Category
var slug = string.IsNullOrWhiteSpace(item.Slug) ? GenerateSlug(item.Name) : item.Slug;
if (!existingSlugs.Contains(slug))
{
Name = item.Name,
Slug = string.IsNullOrWhiteSpace(item.Slug) ? GenerateSlug(item.Name) : item.Slug,
Icon = item.Icon,
Description = item.Description,
SeoKeywords = item.SeoKeywords
});
await _categoryRepository.CreateAsync(new Category
{
Name = item.Name,
Slug = slug,
Icon = item.Icon,
Description = item.Description,
SeoKeywords = item.SeoKeywords
});
}
}
return;
}
var categories = await _categoryRepository.GetAllActiveAsync();
if (categories.Any()) return;
var defaultCategories = new[]
{
new Category

View File

@ -11,17 +11,17 @@
},
"MongoDb": {
"ConnectionString": "mongodb://localhost:27017",
"DatabaseName": "LusLinksDB"
"DatabaseName": "LuzLinksDB"
},
"Tenant": {
"SiteName": "LusLinks",
"SiteName": "LuzLinks",
"SiteDescription": "A plataforma para pastores, padres, líderes religiosos e ministérios. Reúna seus estudos bíblicos, eventos, lives e canal em uma única página de fé.",
"Tagline": "Conecte sua comunidade em um único link",
"SupportEmail": "suporte@luslinks.site",
"ContentFolder": "luslinks",
"SupportEmail": "suporte@luzlinks.site",
"ContentFolder": "luzlinks",
"AgeGated": false,
"UrlExample": "luslinks.site/pastor/seu-nome",
"DpoEmail": "dpo@luslinks.site",
"UrlExample": "luzlinks.site/pastor/seu-nome",
"DpoEmail": "dpo@luzlinks.site",
"HeroHeadline": "Conecte sua comunidade em um único link",
"HeroDescription": "A plataforma ideal para pastores, padres, líderes e ministérios. Reúna seus estudos bíblicos, agenda de cultos, canal e dízimos em uma só página.",
"HeroCtaText": "Criar Minha Bio de Fé",
@ -32,13 +32,25 @@
{ "Icon": "📅", "Title": "Agenda e Eventos", "Description": "Compartilhe retiros, cultos especiais e eventos com toda a comunidade de forma simples e organizada." }
],
"CtaHeadline": "Compartilhe sua mensagem com o mundo",
"CtaDescription": "Líderes de toda denominação já usam o LusLinks para alcançar mais pessoas com sua mensagem de fé.",
"CtaDescription": "Líderes de toda denominação já usam o LuzLinks para alcançar mais pessoas com sua mensagem de fé.",
"CtaButtonText": "Criar Minha Bio de Fé",
"MetaKeywords": "bio links pastor, página ministério, linktree cristão, links religiosos, página iglesia, bio pastor, links igreja",
"FooterTagline": "Conectando fé e comunidade.",
"HeroGradient": "linear-gradient(135deg, #5b9bd5 0%, #1a5276 100%)",
"PrimaryColor": "#2471a3",
"PrimaryColorDark": "#1a5276",
"DefaultCategories": [
{ "Icon": "🙏", "Name": "Pastores", "Slug": "pastor", "Description": "Pastores evangélicos, protestantes e pentecostais", "SeoKeywords": [ "pastor", "evangélico", "protestante", "pentecostal", "pregador" ] },
{ "Icon": "✝️", "Name": "Padres", "Slug": "padre", "Description": "Sacerdotes, padres e religiosos da Igreja Católica", "SeoKeywords": [ "padre", "sacerdote", "católico", "pároco", "religioso" ] },
{ "Icon": "⛪", "Name": "Igrejas", "Slug": "igreja", "Description": "Congregações, comunidades de fé e denominações", "SeoKeywords": [ "igreja", "congregação", "comunidade", "denominação", "templo" ] },
{ "Icon": "🌟", "Name": "Ministérios", "Slug": "ministerio", "Description": "Ministérios, organizações e missões cristãs", "SeoKeywords": [ "ministério", "missão", "organização cristã", "obra" ] },
{ "Icon": "🎵", "Name": "Louvor e Adoração", "Slug": "louvor", "Description": "Ministérios de louvor, bandas gospel e cantores cristãos", "SeoKeywords": [ "louvor", "adoração", "gospel", "banda", "música cristã" ] },
{ "Icon": "👨‍👩‍👧", "Name": "Família e Jovens", "Slug": "familia", "Description": "Líderes de grupos de jovens, casais e família", "SeoKeywords": [ "jovens", "família", "casais", "célula", "grupo" ] },
{ "Icon": "📖", "Name": "Estudos Bíblicos", "Slug": "estudos", "Description": "Mestres, professores bíblicos e teólogos", "SeoKeywords": [ "estudo bíblico", "teologia", "mestre", "professor", "bíblia" ] },
{ "Icon": "🌍", "Name": "Missionários", "Slug": "missionario","Description": "Missionários e evangelistas nacionais e internacionais", "SeoKeywords": [ "missionário", "evangelista", "evangelismo", "missões" ] },
{ "Icon": "📻", "Name": "Mídia Cristã", "Slug": "midia", "Description": "Podcasts, canais, rádios e comunicação cristã", "SeoKeywords": [ "podcast", "canal cristão", "rádio evangélica", "mídia" ] },
{ "Icon": "🤝", "Name": "Assistência Social", "Slug": "assistencia","Description": "Projetos sociais, pastorais de assistência e ONGs cristãs","SeoKeywords": [ "assistência social", "projeto social", "ONG", "pastoral" ] }
],
"AllowedLinkTypes": [
{ "Icon": "fas fa-globe", "Label": "🌐 Site / Ministério", "Prefix": "https://", "Placeholder": "ministerio.com.br", "Instructions": "Digite o domínio do site", "Color": "bg-primary" },
{ "Icon": "fas fa-envelope", "Label": "✉️ Email", "Prefix": "mailto:", "Placeholder": "contato@ministerio.com", "Instructions": "Digite apenas o email", "Color": "bg-success" },
@ -53,7 +65,7 @@
]
},
"SendGrid": {
"FromEmail": "noreply@luslinks.site",
"FromName": "LusLinks"
"FromEmail": "noreply@luzlinks.site",
"FromName": "LuzLinks"
}
}