Documentação técnica oficial

WordPress + Elementor (Core do Negócio)

Objetivo: criar um padrão técnico escalável para a RidolfiWEB, com foco em produtividade, manutenção e qualidade de entrega.

Sumário

1) Padrão de arquitetura: tema base + plugin de widgets

Regra principal: layout base no tema, funcionalidade no plugin.

Estrutura sugerida

ridolfi-builder/
├─ ridolfi-builder.php
├─ includes/
│  ├─ Plugin.php
│  └─ Elementor/
│     ├─ Elementor.php
│     └─ Widgets/
│        ├─ Hero.php
│        ├─ FAQ.php
│        ├─ Testimonials.php
│        └─ Pricing.php
├─ assets/
│  ├─ css/
│  └─ js/
└─ readme.md
Por quê isso escala? Você versiona e evolui widgets sem “quebrar” o tema, reaproveita blocos em vários clientes e reduz retrabalho.

2) Como criar widgets com repeater (FAQ, depoimentos, pricing)

Use Repeater Controls do Elementor para itens dinâmicos (listas de perguntas, cards de preço, depoimentos).

Padrão de implementação

Exemplo conceitual (FAQ)

$repeater = new \Elementor\Repeater();
$repeater->add_control('question', [...]);
$repeater->add_control('answer', [...]);

$this->add_control('faq_items', [
  'type' => \Elementor\Controls_Manager::REPEATER,
  'fields' => $repeater->get_controls(),
]);

// render()
foreach ($settings['faq_items'] as $item) {
  echo '<h3>' . esc_html($item['question']) . '</h3>';
  echo '<p>' . wp_kses_post($item['answer']) . '</p>';
}
Boas práticas: sanitize/escape sempre, evitar HTML cru vindo de campo texto e usar classes BEM/prefixadas para CSS.

3) Performance no Elementor (CLS, LCP, lazy load, CSS crítico)

Foco em Core Web Vitals

Ações práticas

No Elementor, performance piora quando tudo é global. O segredo é asset por componente.

4) Estrutura de projeto para agências (starter kit reutilizável)

Crie um “pacote-base” para todo novo cliente.

ridolfi-wordpress-stack/
├─ docker-compose.yml
├─ Caddyfile (ou nginx.conf)
├─ install.sh
├─ deploy.sh
├─ wordpress/
│  ├─ wp-content/
│  │  ├─ plugins/
│  │  │  └─ ridolfi-builder/
│  │  └─ themes/
│  │     └─ hello-elementor-child/
└─ docs/
   └─ runbook.md

Inclua no starter:

5) Boas práticas para templates globais e design system

Resultado: consistência visual, menos retrabalho e produção mais rápida por projeto.

6) Checklist de implementação (curto)

← Início da base