O que é um programador WordPress (WordPress developer)? É um engenheiro de software que constrói, personaliza e mantém sites e aplicações no WordPress, recorrendo a PHP, JavaScript (incluindo React para os blocos Gutenberg), MySQL e às APIs do núcleo do sistema. A função abrange temas e plugins à medida, otimização de Core Web Vitals, hardening de segurança e integração com sistemas terceiros. Esta é a vertente de engenharia do WordPress, distinta de quem se limita a montar sites em page-builders prontos como Divi, Elementor ou Avada. Desenvolvo, otimizo e reparo sites e lojas baseadas em WordPress há quase duas décadas. Se já sabe do que precisa, encontra o âmbito de serviços e a forma de orçamentar mais abaixo.
Quem: Mariusz Szatkowski, Senior Programador WordPress com mais de 20 anos de experiência (WordPress desde 2006). Sede em Gdynia, atende clientes na Europa, Reino Unido, Alemanha, Noruega e América do Norte.
O quê: WordPress e WooCommerce à medida, arquiteturas Headless CMS, otimização de Core Web Vitals (resultados 90+), qualidade de código PSR-12/WPCS, sites multilíngues, integrações API e engenharia de desempenho.
Orçamento: o âmbito e o investimento são definidos individualmente, sob consulta. Tempos típicos: site simples 1-2 semanas, site empresarial 3-6 semanas, loja WooCommerce 6-10 semanas, âmbito enterprise 8-12+ semanas.
Com quem trabalha
- WordPress comercial desde 2006, antes do Gutenberg e da REST API
- Conduzido por sénior: o engenheiro do discovery é o mesmo na semana seis
- Sem passagem para offshore, sem camada de PM faturada
- Organizador da WordCamp Europe, mentor WordPress Foundation Credits
Competências de um programador WordPress 2026
Um programador WordPress em 2026 combina proficiência em PHP 8.x, JavaScript (React) e arquitetura de bases de dados, sendo responsável por soluções web seguras e escaláveis. A tabela abaixo organiza a stack por camada:
| Camada | Tecnologias obrigatórias | Tecnologias complementares |
|---|---|---|
| Backend | PHP 8.x (OOP, typed properties, enums, fibers), WordPress Core API, WooCommerce REST | Laravel, Symfony, Composer |
| Frontend | React, JavaScript ES6+, blocos Gutenberg, Full Site Editing, Tailwind | Next.js, Astro, Vue.js |
| Bases de dados | MySQL / MariaDB, otimização de WP_Query, custom tables | Redis, PostgreSQL, ElasticSearch |
| DevOps | Git, Composer, NPM, CI/CD, Docker, staging + produção | Cloudflare Workers, AWS, GCP |
| Segurança | hardening WP, OWASP Top 10, proteção contra SQL Injection e XSS | WAF, CSP, security headers |
Os sites mantidos por um programador profissional distinguem-se das construções com page-builder sobretudo na dívida técnica, na exposição a falhas de segurança e no custo total de propriedade num horizonte de três anos. É a diferença entre um projeto de engenharia e uma montagem.
Provas técnicas e atividade open-source
Como programador, a minha autoridade profissional baseia-se em envolvimento concreto em open-source e no desempenho real de sistemas, e não em alegações de marketing:
- Contribuidor do core do WordPress: patches com testes unitários submetidos ao core via Trac nas áreas das classes de query, da REST API e da internacionalização (entre outros, #51811 -
scomo alias desearchemWP_Term_Query, #43502 - reset de postdata no controlador REST de posts, #64986 - gettext na pré-visualização (i18n)), além de General Translation Editor da língua polaca (mais de 1.400 strings), com contribuição creditada no lançamento do WordPress 7.0 (profiles.wordpress.org/motylanogha). - Plugin publicado no WordPress.org: autor do plugin “Polski for WooCommerce” (faturação e conformidade polacas para WooCommerce), mantido segundo os padrões WPCS e PSR-12.
- Ferramentas open-source no GitHub: criador e mantenedor de pontes de integração open-source, incluindo o adaptador de servidor
woocommerce-mcp, um servidor Model Context Protocol read-only que expõe os dados do WooCommerce a agentes de IA. - Organizador da comunidade WordPress: organizador do WordCamp Gdynia (desde 2015), coorganizador do WordCamp Polska (desde 2016) e do WordCamp Europe (desde 2024), orador em conferências e WordPress Foundation Credits Mentor (2026).
- Resolução de casos técnicos complexos: engenharia de gargalos de desempenho ao nível corporativo, incluindo potentes pipelines de rotas híbridas multilingues, adaptadores de sincronização em tempo real para o SQLite Content Layer do Astro 5 com mais de 2.800 nós de conteúdo, e geradores de assinaturas CSP (Content Security Policy) para folhas de estilo inline.
- Desempenho e integrações headless: casos documentados em que o tempo de resposta do servidor (TTFB) foi reduzido de cerca de 1,8 s para menos de 150 ms através de refatoração de SQL e de queries e de cache Redis, além de integrações de WordPress com CRM (HubSpot, Salesforce) através de WPGraphQL e da REST API para frontends headless Astro/Next.js, com Core Web Vitals medidos antes e depois (Lighthouse CI, Cloudflare RUM).
Código que um senior escreve (e um clicador não)
Toda esta página defende que a diferença entre um programador e um clicador é de engenharia, não cosmética. Aqui está essa diferença no código que chega à produção: quatro padrões que os plugins prontos e os page-builders não implementam corretamente, ou seja, segurança, desempenho, API e cache.
1. Custom post type seguro: capabilities próprias, nonce, sanitização
Capabilities próprias em vez do papel de administrador, nonce ao guardar, verificação de permissões por post e separação entre a sanitização da entrada e o escaping da saída. O modelo de segurança completo do WordPress, não um atalho.
declare( strict_types=1 );
add_action( 'init', 'wppl_register_projekt_meta' );
add_action( 'save_post_wppl_projekt', 'wppl_save_projekt_meta', 10, 2 );
// Meta com tipagem, sanitização e auth_callback baseado em capability.
function wppl_register_projekt_meta(): void {
register_post_meta(
'wppl_projekt',
'wppl_budzet_pln',
array(
'type' => 'integer',
'single' => true,
'show_in_rest' => true,
'sanitize_callback' => 'absint', // Número inteiro, sem negativos.
'auth_callback' => static function ( bool $allowed, string $meta_key, int $post_id ): bool {
return current_user_can( 'edit_post', $post_id );
},
)
);
}
// Guarda a meta com a cadeia de segurança completa.
function wppl_save_projekt_meta( int $post_id, WP_Post $post ): void {
// 1. Nonce - proteção contra CSRF.
if ( ! isset( $_POST['wppl_budzet_nonce'] )
|| ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['wppl_budzet_nonce'] ) ), 'wppl_save_budzet' )
) {
return;
}
// 2. Ignoramos autosave e revisões.
if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || wp_is_post_revision( $post_id ) ) {
return;
}
// 3. Permissões para o post concreto, não o genérico 'edit_posts'.
if ( ! current_user_can( 'edit_post', $post_id ) ) {
return;
}
// 4. Sanitização da entrada antes de guardar.
$budzet = isset( $_POST['wppl_budzet_pln'] )
? absint( wp_unslash( $_POST['wppl_budzet_pln'] ) )
: 0;
update_post_meta( $post_id, 'wppl_budzet_pln', $budzet );
}Clicador: guarda os dados num campo do page-builder sem capabilities próprias nem nonce, por isso qualquer autor (e muitas vezes um CSRF) pode sobrescrever o valor, e os dados acabam guardados em bruto e devolvidos sem esc_attr().
2. WP_Query eficiente sem o problema N+1
De onde vem o N+1 no WordPress e como uma única chamada a update_meta_cache() depois de obter os IDs o elimina, em vez de N consultas separadas à base de dados dentro do ciclo.
function wppl_get_projekty( int $limit = 12 ): array {
$query = new WP_Query(
array(
'post_type' => 'wppl_projekt',
'post_status' => 'publish',
'posts_per_page' => $limit,
'no_found_rows' => true, // Sem SQL_CALC_FOUND_ROWS - não contamos a paginação.
'fields' => 'ids', // Apenas IDs, não os objetos completos.
'update_post_term_cache' => false, // Taxonomias desnecessárias aqui.
)
);
$ids = $query->posts;
if ( empty( $ids ) ) {
return array();
}
// Chave para evitar o N+1: com uma consulta preparamos a meta de todos os IDs.
update_meta_cache( 'post', $ids );
$projekty = array();
foreach ( $ids as $post_id ) {
$projekty[] = array(
'id' => (int) $post_id,
'tytul' => get_the_title( $post_id ),
'budzet' => (int) get_post_meta( $post_id, 'wppl_budzet_pln', true ), // Acerto na cache.
);
}
return $projekty;
}Clicador: o widget do page-builder itera sobre os objetos de post completos e chama get_post_meta em cada iteração, gerando dezenas de consultas SQL por cada vista, e o SQL_CALC_FOUND_ROWS por omissão acrescenta uma contagem de linhas dispendiosa que a página nem sequer usa.
3. Endpoint da REST API com permission_callback real e schema
Autorização por objeto no permission_callback, validação e sanitização declarativas dos argumentos e um schema formal que descreve o contrato para os consumidores da API.
add_action( 'rest_api_init', 'wppl_register_rest_routes' );
function wppl_register_rest_routes(): void {
register_rest_route(
'wppoland/v1',
'/projekty/(?P<id>\d+)/budzet',
array(
'methods' => WP_REST_Server::EDITABLE, // POST, PUT, PATCH.
'callback' => 'wppl_rest_update_budzet',
// Autorização real: permissão para o post CONCRETO.
'permission_callback' => static function ( WP_REST_Request $request ): bool {
return current_user_can( 'edit_post', (int) $request['id'] );
},
'args' => array(
'budzet' => array(
'type' => 'integer',
'required' => true,
'minimum' => 0,
'sanitize_callback' => 'absint',
'validate_callback' => 'rest_validate_request_arg',
),
),
)
);
}Clicador: os formulários de plugin expõem muitas vezes os dados via admin-ajax ou uma rota com permission_callback definido como __return_true, sem validação de tipos nem schema, o que abre a escrita não autorizada e quebra a previsibilidade da integração.
4. Cache com invalidação através de last_changed
O padrão last_changed do core do WordPress: um único registo invalida toda a família de chaves de cache, com a distinção correta entre os hooks before_delete_post e deleted_post.
// Chave de cache baseada no marcador last_changed - uma invalidação
// anula todas as variantes (vários $limit) sem as apagar uma a uma.
function wppl_projekty_cache_key( int $limit ): string {
$last_changed = wp_cache_get_last_changed( 'wppl_projekty' );
return sprintf( 'wppl_projekty_%d_%s', $limit, $last_changed );
}
add_action( 'save_post_wppl_projekt', 'wppl_flush_projekty_cache' );
add_action( 'before_delete_post', 'wppl_flush_projekty_cache' );
// Usamos before_delete_post, porque deleted_post dispara DEPOIS de o post ser apagado,
// quando get_post_type() já devolve false e não é possível verificar o tipo.
function wppl_flush_projekty_cache( int $post_id ): void {
if ( 'wppl_projekt' !== get_post_type( $post_id ) ) {
return;
}
wp_cache_set_last_changed( 'wppl_projekty' ); // Novo marcador = novas chaves.
}Clicador: os plugins de cache dos page-builders ou mantêm dados desatualizados até uma limpeza manual, ou tentam apagar chaves individuais e perdem variantes; ligar a invalidação a deleted_post em vez de before_delete_post deixa de funcionar em silêncio, porque já não é possível verificar o tipo do post.
Clicador vs programador WordPress
A principal diferença está na abordagem ao código: o implementador apoia-se em plugins e temas prontos, o programador cria soluções leves e dedicadas que minimizam a dívida técnica. Praticamente qualquer pessoa que alugue um alojamento barato consegue clicar num instalador automático de WordPress, mas isso é administração, não programação. Na comunidade vigora mesmo a crença de que “até um adolescente consegue montar um site”, e é precisamente essa promessa barata que mais cara sai aos empresários.
Implementador (clicador)
Baseia-se em colocar em massa templates pesados e populares. Qualquer falta funcional é colmatada com dezenas de plugins externos e page-builders pesados como o Elementor ou o Divi. No final, o cliente recebe um site que pesa gigabytes, carrega a ritmo de caracol e fica vulnerável a ataques.
Programador WordPress (developer)
Aposta no artesanato e no código limpo. Usa o WP como enquadramento flexível e motor de base de dados (Core API). Constrói a infraestrutura de raiz, minimiza plugins e codifica a lógica de negócio em PHP e os blocos em React. A diferença é tipicamente LCP de 4 s+ e um CLS instável na versão de page-builder face a LCP abaixo de 2,5 s em código dedicado, o que se traduz diretamente na conversão.
O futuro autónomo: UCP Agent Mesh
Uma demonstração interativa da rede de agentes do Universal Commerce Protocol.
Agentes de IA transacionam de forma autónoma sem intermediários, com latência abaixo de 1ms.
Cada site WordPress torna-se um nó na rede comercial global do UCP.
Liquidações automáticas e escrow - zero trabalho manual, zero risco de acesso não autorizado.
Exemplos de uso
Agente de IA escolhe o gateway de pagamento mais barato por transação, em tempo real.
IA negocia preços e condições de entrega com grossistas com base no stock atual.
Venda artigos, cursos ou PDFs por frações de cêntimo - sem subscrição.
Fundos retidos em contrato inteligente - liberados automaticamente após confirmação da entrega.
Preços de produtos atualizados a cada minuto com base na procura e concorrência.
Contrato inteligente paga comissão ao afiliado em milissegundos após a compra.
Nó UCP v4.0
Vitalidade do Núcleo
Sincronização da Rede
> A inicializar UCP Mesh...
> Ligação à Rede Global de Agentes [OK]
> A verificar Smart Contract v2.1... [VERIFICADO]
> À escuta de eventos comerciais...
> Transação recebida: TX-828-A1-Z [EM PROCESSAMENTO]
_
Controlos do Protocolo
"O UCP permite que agentes de IA realizem transações de forma autónoma, eliminando a fricção da economia global."
O que faz um programador WordPress
Como Senior Developer, ofereço o âmbito completo de serviços: de temas e plugins à medida, passando por integrações API com CRM/ERP, até auditorias de segurança e otimização de Core Web Vitals. Escrevo código conforme com PSR-12 e WPCS, minimizo o número de plugins e entrego arquiteturas que aguentam o tráfego de produção e uma auditoria de segurança. Antes de aprofundar a definição técnica, vale recolher factos firmes sobre o ecossistema WordPress e o trabalho sob medida na criação de sites e lojas que se faz dentro dele.
Temas WordPress à medida
Temas de blocos (FSE) construídos de raiz, conformes com PSR-12 e WPCS, totalmente responsivos, acessíveis (WCAG 2.2 AA) e otimizados para Core Web Vitals.
Lojas WooCommerce
E-commerce escalável: integrações de pagamento (Stripe, Mollie, MB WAY, multibanco), logística (CTT, DPD, transportadoras locais), preços B2B, lojas multimoeda e multilíngues.
Plugins dedicados e Legacy Code
Quando a ferramenta pronta não chega, programo um plugin de negócio à medida. Também analiso e reparo código herdado (legacy code).
Desempenho e Core Web Vitals
Cache do lado do servidor (Redis), CDN, compressão WebP/AVIF, otimização da base de dados e das consultas. PageSpeed 90+ no mobile, LCP abaixo de 2,5 s.
Integrações API e Headless
WordPress como centro operacional a trocar dados com CRM (HubSpot, Salesforce), ERP e faturação. Frontend em Next.js ou Astro, com WP e GraphQL no backend.
Auditorias de segurança e hardening
Bloqueio de falhas críticas, testes de consultas WP_Query, proteção contra XSS, SQL Injection e DDoS, security headers e estratégia de backup.
Quando o próprio WordPress não chega ou a aplicação precisa de lógica cliente-servidor ultrarrápida, recorro à arquitetura Headless: frontend em Next.js ou Astro, com WordPress e GraphQL como painel operacional CMS para os editores no backend. Servimos então o conteúdo dinâmico de forma estática a partir de CDN (TTFB abaixo de 150 ms), mantendo total comodidade de edição de conteúdo no painel do WordPress.

Quanto ganha um programador WordPress
Em 2026, os salários médios de um Senior WordPress Developer em Portugal variam entre 3 200 e 5 500 EUR líquidos por mês em contrato B2B, dependendo da experiência com arquitetura headless e e-commerce. A tabela abaixo organiza os valores por nível e modelo de contratação:
| Nível | Experiência | Salário (EUR/mês líq.) | Taxa diária B2B | Taxa horária |
|---|---|---|---|---|
| Junior | 0-2 anos | 1 200 - 1 800 | 200 - 320 | 25 - 40 |
| Mid | 2-5 anos | 1 900 - 3 000 | 350 - 550 | 45 - 70 |
| Senior | 5+ anos | 3 200 - 5 500 | 550 - 850 | 70 - 110 |
| Expert / Lead | 8+ anos | 5 000 - 7 800 | 800 - 1 300 | 100 - 160 |
Existem três modelos de faturação no mercado: a taxa horária (típica de freelancers), a taxa diária (400-750 EUR/dia para senior) e o preço fixo (fixed-price) para entregas bem definidas, como um plugin dedicado ou o refactor de uma loja WooCommerce. O valor sobe com a complexidade das integrações, os requisitos de desempenho e o número de versões linguísticas.
Oferta barata vs senior: o custo real
Quando um cliente pergunta “quanto custa um programador WordPress”, pergunta na verdade pelo custo total de propriedade do site nos próximos três anos, não pela taxa da primeira fatura. A oferta mais barata de um portal de classificados gera quase sempre dívida técnica escondida, que se paga mais tarde, normalmente no pior momento: numa campanha de vendas ou numa auditoria de RGPD.
| Área | Oferta mais barata (clicador) | Orçamento individual (senior) |
|---|---|---|
| Ponto de partida | tema pronto + Elementor/Divi, dezenas de plugins | tema de blocos dedicado (FSE), mínimo de plugins |
| Core Web Vitals | LCP frequentemente acima de 4 s, INP e CLS fora do intervalo | LCP abaixo de 2,5 s, INP abaixo de 200 ms, CLS perto de zero |
| Segurança | sem hardening, ataques via plugins desatualizados | auditoria OWASP, security headers, controlo de WP_Query |
| Integrações PT | sem MB WAY, multibanco ou fatura certificada correta | pagamentos nacionais e logística WooCommerce implementados |
| Custo em 3 anos | reconstrução de raiz ao fim de um ano, o mesmo âmbito duas vezes | uma implementação sólida com margem para crescer |
O padrão repete-se sempre que um projeto chega à minha mesa depois de outra pessoa o ter construído. Uma loja WooCommerce tinha crescido para 30+ plugins e um TTFB de 1,8 s, e o checkout deixava cair pagamentos MB WAY precisamente nas horas de maior tráfego. Outro caso era um site em Elementor que teve de ser reescrito de raiz antes sequer de poder ir a uma auditoria WCAG 2.2. Salvar cada um saiu mais caro do que um build bem feito desde o início, porque o trabalho acabou pago duas vezes.
Freelancer ou agência
A escolha depende da escala do projeto: o freelancer oferece contacto direto e custos mais baixos em tarefas focadas, enquanto a agência fornece suporte mais alargado em grandes implementações. A tabela abaixo resume os trade-offs:
| Critério | Freelancer / developer solo | Agência |
|---|---|---|
| Melhor para | plugin dedicado, auditoria, refactor, migração | rollout grande com design, copy, marketing |
| Comunicação | direta com quem escreve o código | via project manager |
| Taxa horária | 70-110 EUR/h (senior) | 100-180 EUR/h (senior) |
| Overhead | nenhum (sem PM, vendas, gestão) | 30-50% de markup |
| Bus factor | risco alto (uma pessoa) | baixo (capacidade de reserva) |
| SLA e contratos | acordo B2B básico | SLA com cláusulas penais |
| Velocidade de decisão | decisões técnicas rápidas | mais lenta (cadeias de aprovação) |
Na prática, muitas empresas escolhem uma terceira via: um senior freelancer lidera o projeto e especialistas de confiança (designer, copywriter) entram em fases específicas. Recebe profundidade técnica e flexibilidade sem o overhead completo de uma agência. É o modelo em que trabalho com mais frequência.
Como se tornar programador WordPress
Aprender as bases do WordPress demora entre 3 e 6 meses, mas atingir o nível de developer profissional requer pelo menos 2 anos de trabalho prático com PHP, bases de dados e frontend moderno. Instalar um tema e configurar plugins é administração, não programação.
Um caminho realista cobre quatro etapas: junior (3-6 meses) significa HTML5, CSS, fundamentos de JavaScript e o WordPress loop; mid (6-18 meses) exige PHP 8.x, hooks e filtros, REST API e React básico para blocos Gutenberg; senior (18-36 meses) é arquitetura de aplicações, headless, padrões OOP e SOLID, integrações, desempenho e segurança; expert (3+ anos) cobre auditorias, projetos enterprise e contribuições para o core do WordPress.
O caminho mais rápido para a competência é o trabalho real com clientes, não tutoriais isolados. O WordPress Developer Handbook, o Make WordPress Slack e o grupo Advanced WordPress dão mais do que qualquer bootcamp, porque mostram seniores a depurar problemas de produção que os cursos não revelam. O salto verdadeiro vem de ler tickets do core-trac e de entregar trabalho que sobrevive a um pico de Black Friday. Nada disso está num plano curricular, e é precisamente esse o ponto.
Contrate um programador WordPress
Procura um programador WordPress para o seu projeto? Ofereço serviços de desenvolvimento completos, com orçamento ajustado ao âmbito. Com mais de 20 anos de prática, entrego soluções WordPress de alta qualidade e otimizadas para desempenho a empresas em toda a Europa. Conduzo lojas WooCommerce como programador WooCommerce dedicado.
O apoio de um developer faz sentido quando o projeto ultrapassa o nível de um site simples. Isto acontece tipicamente quando:
- precisa de integrações à medida com CRM, ERP, pagamentos ou sistemas internos,
- a loja WooCommerce está lenta ou não aguenta mais tráfego,
- quer reconstruir um site preso ao Elementor, Divi ou outro builder pesado,
- é preciso corrigir erros, ordenar legacy code ou recuperar o controlo do projeto,
- planeia uma migração, versão multilíngue, área reservada com vários perfis ou arquitetura headless.
Processo de colaboração
Sigo uma metodologia comprovada para que a implementação seja previsível:
- Descoberta e planeamento - levantamento de requisitos, especificação técnica, marcos realistas e orçamento transparente sem custos ocultos.
- Design e protótipo - wireframes e mockups alinhados com a marca; o seu feedback molda a direção final.
- Desenvolvimento - sprints com atualizações de progresso, controlo de versões (Git), revisões de código e testes unitários, de integração e de aceitação.
- Lançamento e suporte - implementação sem downtime, verificação final de Core Web Vitals, configuração de SEO e 30-90 dias de suporte pós-lançamento.
Setores que atendo
Tenho experiência com soluções WordPress para vários setores: e-commerce (lojas WooCommerce, otimização de conversão), saúde (portais de pacientes, agendamento de consultas, dados seguros), educação (plataformas LMS como LearnDash e TutorLMS), imobiliário (listagens, pesquisa, integrações de mapas), finanças (portais seguros, calculadoras, conformidade) e media e publicação (sites com muito conteúdo, subscrições).
Comparação de serviços
| Tipo de serviço | Orçamento | Prazo | Ideal para | Funcionalidades principais |
|---|---|---|---|---|
| Site simples | sob consulta | 1-2 semanas | pequenas empresas, portefólios | design responsivo, SEO básico, 5-10 páginas |
| Site empresarial | sob consulta | 3-6 semanas | empresas em crescimento | funcionalidades à medida, SEO avançado, 15-30 páginas |
| Loja e-commerce | sob consulta | 6-10 semanas | lojas online | WooCommerce, pagamentos, gestão de stock |
| Solução enterprise | sob consulta | 8-12+ semanas | grandes organizações | arquitetura à medida, integrações API, multisite |
| Plano de manutenção | sob consulta | contínuo | todos os clientes | atualizações, monitorização de segurança, backups |
WordPress em números
O WordPress (o CMS open-source mais popular, baseado em PHP e MySQL) define os padrões em muitos mercados e evoluiu de uma plataforma de blogs para um verdadeiro framework, usado também em arquitetura Headless CMS e na integração de agentes de inteligência artificial.
Importância Global do WordPress no Mercado (2025/2026)
Os dados de mercado mostram claramente porque é que as competências de programador WordPress são tão procuradas a nível global.
Developer ou page builder
Um page builder pode ser bom no arranque, mas num projeto exigente torna-se depressa uma limitação. O site fica pesado, difícil de manter e dependente de mais um plugin atrás do outro, e o desempenho e o SEO descem. Uma implementação dedicada funciona de outra forma: o código responde a necessidades reais, não há camada intermédia desnecessária, e o site cresce mais facilmente, mantendo velocidade, segurança e ordem no painel de edição. Se o WordPress tem de funcionar de forma estável hoje e ser ampliável daqui a um ou dois anos, vale mais uma implementação bem desenhada do que mais uma camada de remendos.







