Stack Técnico (Engenharia)

Upnetix · Engenharia

Stack técnico

A engenharia por trás do upnetix.com.br — servidor, cache, segurança, blog editorial e automações de IA — explicada em linguagem simples.

01

Arquitetura geral

Como as peças se encaixam, do navegador do cliente até o banco de dados.

O site roda em um único servidor Linux (Ubuntu) atrás do Nginx, que entrega o conteúdo já comprimido e em cache. O PHP 8.1 processa o WordPress; o MySQL 8 guarda os dados; o Redis acelera tudo mantendo respostas prontas na memória.

02

Servidor web — Nginx

O “porteiro” que recebe cada visita e decide o caminho mais rápido.

ItemDetalhe
Servidornginx 1.18 (Ubuntu)
Funçõesproxy reverso, cache de página em disco, rate limiting, HTTP/2, TLS
CompressãoBrotli (módulo dinâmico) + gzip de fallback
03

Runtime — PHP-FPM

A “cozinha” que monta cada página sob demanda.

Process manager PHP 8.1-FPM, com OPcache e limites ajustados para WordPress + Elementor. Código próprio concentrado em mu-plugins (carregados sempre, sem interface).

04

CMS — WordPress + Blocksy

A base de conteúdo e o tema que dá a cara do site.

ItemDetalhe
CoreWordPress 7.0 (pt_BR)
TemaBlocksy
ConstrutorElementor (páginas institucionais)
Blogrenderização própria (mu-plugin), sem page builder
05

Banco de dados — MySQL

Onde vivem posts, leads, assinantes e configurações.

MySQL 8.0. Além das tabelas do WordPress, o projeto adiciona tabelas próprias para a newsletter (assinantes e log de envios).

06

Cache e performance — Redis + W3TC

O que faz o site responder em milissegundos no acesso repetido.

CamadaFunção
Redis (object cache)resultados de banco e fragmentos reutilizáveis
Redis (page cache)páginas inteiras prontas
W3TCorquestra minificação, cache de página em disco e Redis

No acesso em cache quente, o tempo até o primeiro byte (TTFB) cai cerca de 85% frente ao acesso frio.

07

Compressão — Brotli

Menos bytes na rede, página abrindo mais rápido.

O HTML servido com Brotli fica cerca de 34% menor que com gzip, reduzindo o tempo de download — especialmente em conexões móveis.

08

Código próprio — mu-plugins

As “peças sob medida” que o projeto ganhou, além do WordPress padrão.

MóduloO que faz
upnetix-lp-formscaptação de leads — endpoint REST, anti-bot (honeypot + time-trap + token JS), e-mail duplo, log .jsonl
upnetix-seo-metameta description, Open Graph, Twitter Cards e canonical por página
upnetix-seo-schemaJSON-LD: Organization, WebSite, WebPage, BreadcrumbList e Article
upnetix-performanceenfileiramento seletivo de fontes, ícones, preconnect e ajustes de carga
performance-optimizationsremoção de scripts desnecessários e heartbeat control no painel
upnetix-blog-b2bhero, grade, imagens (hero + inline WebP), compartilhamento e CTA do blog editorial
upnetix-blog-analyticsrastreamento de tempo de leitura e engajamento por artigo
upnetix-newsletterenvio drip de artigos por e-mail — 2×/semana, terça e sexta, 08h (Manaus)
upnetix-newsletter-dashboardpainel de estatísticas da newsletter (aberturas, cliques, descadastros)
upnetix-conectamais-condominiospágina de produto Conecta+ Condomínios — vitrine, argumentos, CTA e galeria
upnetix-cookie-consentbanner LGPD com aceite por categoria e registro de consentimento
upnetix-portalportal do cliente — acesso a faturas, suporte e dados da conta
upnetix-searchbusca personalizada com relevância editorial (blog + páginas)
upnetix-stack-pageesta página de documentação técnica
09

Captação de leads

Como um formulário vira um contato comercial qualificado.

Endpoint REST próprio com proteção anti-bot (honeypots, time-trap, rate limit e token de JS). Cada envio dispara dois e-mails — um para a equipe Upnetix e uma confirmação para o cliente — e é arquivado em formato .jsonl por mês.

10

Blog editorial B2B

Conteúdo que educa o mercado e leva ao contato comercial.

64 artigos em padrão editorial premium — sem invenção, sem viés, fontes verificáveis em cada publicação. Temáticas: conectividade B2B, redes multi-site, cloud, continuidade de serviços, Wi-Fi corporativo, segurança e IA para negócios.

Cada artigo é estruturado como funil: o leitor entra por uma dor real, avança por insights verificados e chega ao CTA (WhatsApp + formulário) como consequência natural da leitura. Quebras de objeção são inseridas como argumentos técnicos, não como defesa.

ElementoEspecificação
Imagem herogerada por IA (gpt-image-1.5) · 1200×600px · WebP quality=85 · 37–150KB
Thumbnailrecorte da hero · 300×200px · WebP quality=85 · 5–30KB
Imagens inline3–5 por artigo · 900×500px · WebP · fill+crop sem distorção · comparativos, infográficos ou contexto corporativo
CTAWhatsApp direto + formulário embutido (lead capturado em JSON + e-mail duplo)
Fontesallow-list curado (ANATEL, Gartner, IDC, CNBC, G1 Economia…) — validadas antes de publicar
11

Imagens geradas por IA

Por que todo artigo tem imagens únicas, sem banco de fotos genéricas.

O pipeline de imagens parte da API OpenAI (gpt-image-1.5), que gera imagens em resolução 1536×1024px (paisagem nativa). O resultado é convertido para WebP quality=85 — nunca JPEG ou PNG — usando o seguinte fluxo:

EtapaDetalhe
Geraçãogpt-image-1.5 · 1536×1024px · quality=high · resposta b64_json
Decodebase64 → PNG temporário no servidor
Resize heroImageMagick -resize 1200x600^ -gravity Center -extent 1200x600 (fill+crop, sem distorção)
Resize inlineImageMagick -resize 900x500^ -gravity Center -extent 900x500
Conversãoconvert … -quality 85 arquivo.webp
UploadWP-CLI wp media import + wp post meta set _thumbnail_id

Fallback sem API: ImageMagick com banco interno de imagens (zero custo). Imagens com texto: obrigatoriamente em PT-BR, sem erros de grafia.

12

Sistema de fontes/referências

Como garantimos que cada dado citado tem origem real.

Uma lista curada de fontes oficiais (allow-list) é cruzada com o conteúdo: cada estatística é mapeada para a URL canônica e validada contra a lista antes de virar link — evitando referências inventadas. A URL aparece encurtada, para dar credibilidade.

13

SEO técnico

O que ajuda o Google a entender e exibir bem cada página.

  • meta description (própria por página)
  • Open Graph e Twitter Cards
  • JSON-LD: Organization, WebSite, WebPage e Breadcrumb
  • canonical e robots avançado
14

Banners de compartilhamento

A imagem que aparece ao colar o link no WhatsApp/Facebook.

Banners únicos por produto, gerados com GD (Plus Jakarta Sans, supersampling 2× e quebra automática de texto), para um compartilhamento sempre caprichado.

15

Newsletter B2B (broadcast)

Como os artigos chegam por e-mail aos clientes, no ritmo certo.

ItemRegra
Frequência2× por semana, de segunda a sexta — janela de disparo em lote
Modelobroadcast: um mesmo artigo para toda a base, do mais recente para o mais antigo; ao publicar um artigo novo, ele entra na frente da fila
Assinantesleads dos formulários + base de clientes B2B
Boas-vindase-mail de boas-vindas no cadastro (sem fragmentar o broadcast)
Entregabilidaderampa de warm-up, cap diário, throttle, prioridade a domínios corporativos antes dos populares, List-Unsubscribe 1 clique
Registrolog de envio por destinatário (enviado/falha), índice único por (e-mail, artigo) anti-reenvio
16

Segurança

As camadas que protegem o site e os dados.

  • acesso ao painel protegido por camada adicional
  • anti-bot nos formulários e bloqueio de abuso por IP
  • TLS/HTTPS em todo o site
  • e-mail transacional autenticado por SMTP
17

Infraestrutura e continuidade

O que mantém tudo no ar, inclusive depois de um reboot.

Serviços essenciais habilitados para iniciar com o sistema, rotina de backups e monitoramento de processos. Tarefas agendadas (cron) cuidam de sincronizações e do envio da newsletter.

18

Identidade visual

A linguagem de design que dá unidade ao site.

ElementoValor
Navy#0d1a5c
Azul#2055c7
Ciano#00a8d4
TipografiaSora (títulos), Lexend (rótulos), Source Sans 3 (texto)
19

Integrações

Os serviços externos que conversam com o site.

ServiçoUso
OpenAI API (gpt-image-1.5)geração de imagens hero e inline para cada artigo do blog
OpenAI API (gpt-4.1)redação e revisão do conteúdo editorial B2B
SMTP autenticadoentrega de e-mail transacional (leads + newsletter + alertas)
IX.br Manauspeering regional — latência reduzida para clientes do Norte
Google FontsSora, Lexend, Source Sans 3, JetBrains Mono (enfileiradas seletivamente)
20

Construtores e automações

Scripts que operam o blog sem intervenção manual.

Localizados em /usr/local/share/upnetix-builders/blog/, os scripts automatizam o ciclo completo de publicação:

ScriptO que faz
add-inline-images.pygera 3–5 imagens WebP por artigo via OpenAI API, converte com ImageMagick (sem distorção), faz upload via WP-CLI e insere no conteúdo · suporta --all, --skip-existing e --force
generate-hero.shgera hero (1200×600px) + thumbnail (300×200px) e define como featured image

Logs em /var/log/upnetix-blog-images.log. Toda execução é idempotente: re-rodar com --skip-existing não toca artigos que já têm imagens.

21

Observações

Princípios que guiam a evolução do projeto.

Preferimos código próprio enxuto a plugins pesados, cache agressivo, conteúdo verificado e comunicação honesta — prometer apenas o que a operação entrega de fato.

Documentação viva. Este stack evolui continuamente. Atualizado em 07/2026.