Análise feita em 11/02/2026 via Lighthouse (mobile) URL testada: https://www.pm3.com.br/ (redireciona para https://pm3.com.br/)
| Métrica | Score | Valor |
|---|---|---|
| Performance | 48 | - |
| SEO | 100 | - |
| Accessibility | 91 | - |
| FCP | 0.45 | 3.1s |
| LCP | 0.59 | 3.6s |
| TBT | 0.08 | 1,920ms |
| CLS | 1.00 | 0 |
| Speed Index | 0.15 | 8.9s |
| TTI | 0.00 | 31.3s |
O site está muito melhor que o da FIAP (48 vs 13), mas o TBT e TTI são críticos — a página leva 31 segundos para ficar interativa no mobile. Os problemas são:
- 20 scripts síncronos (blocking) — nenhum usa
deferouasync - Third-party scripts acumulam 3,465ms de blocking (GTM: 1,296ms, Bing: 629ms, Facebook: 445ms, HubSpot: 346ms, TikTok: 283ms)
- Redirect www → non-www (1,263ms desperdiçados)
- YouTube embed carregando eagerly (player JS: 422KB + vídeos: ~1.7MB)
- Imagem de 2.4MB não otimizada (img-metodologia.jpg)
- CSS do WordPress Block Editor carregado desnecessariamente (33KB, 32KB não usado)
Plugin: WP Rocket ou Autoptimize
Atualmente 20 scripts são carregados de forma síncrona (sem defer nem async). Isso é o principal responsável pelo TBT de 1,920ms e TTI de 31s.
Scripts que devem receber defer:
jquery.min.js(31KB) — bloqueia 153ms- Todos os scripts do tema PM3 (blocks/*)
wordpress-popular-posts/wpp.min.js
Plugin alternativo: Adicionar defer via Async JavaScript (gratuito)
Impacto estimado: TBT cai de 1,920ms para ~600ms, TTI cai de 31s para ~12s
Plugin: Flying Scripts ou WP Rocket
Scripts que devem ser adiados até interação do usuário:
- Bing Ads (17KB, 629ms blocking) — delay until interaction
- Facebook Pixel (145KB, 445ms blocking) — delay until interaction
- HubSpot (122KB, 346ms blocking) — delay until interaction
- TikTok Pixel (155KB, 283ms blocking) — delay until interaction
- Clarity (29KB, 206ms blocking) — delay until interaction
- Hotjar (63KB, 192ms blocking) — delay until interaction
O GTM (638KB, 1,296ms blocking) é o maior ofensor. Opções:
- Mover para depois do
DOMContentLoaded - Usar delay no WP Rocket (carregar após interação do usuário)
- Considerar Partytown para web worker
Impacto estimado: TBT cai para ~100ms, Score Performance → 70+
Plugin: WP YouTube Lyte ou Lite YouTube Embed
O embed do YouTube carrega:
base.js: 422KBwww-embed-player: 287KB- Vídeo chunks: 676KB + 518KB + 305KB + 292KB + 245KB
Total: ~2.7MB apenas pelo YouTube.
Substituir por thumbnail estática + click-to-load:
<!-- Antes -->
<iframe src="https://www.youtube.com/embed/..." ...></iframe>
<!-- Depois (lite-youtube-embed) -->
<lite-youtube videoid="VIDEO_ID" playlabel="Assistir"></lite-youtube>O WP Rocket também tem essa funcionalidade built-in ("Replace YouTube iframes by preview image").
Impacto estimado: -2MB de payload, SI e TTI melhoram drasticamente
Plugin: ShortPixel ou Imagify
img-metodologia.jpg tem 2.4MB — é o maior payload da página. Com compressão lossy + WebP:
- JPEG → WebP: ~200KB (economia de 2.2MB)
- Configurar conversão automática para uploads futuros
Impacto estimado: LCP melhora se esta imagem estiver na viewport
Plugin: Asset CleanUp ou Perfmatters
Dois CSS do WordPress core estão sendo carregados desnecessariamente no frontend:
block-editor/style.min.css(18KB, 17KB não usado)components/style.min.css(15KB, 15KB não usado)
Estes CSS são para o editor (admin), não para o frontend. Dequeue via plugin ou functions.php:
add_action('wp_enqueue_scripts', function() {
wp_dequeue_style('wp-block-editor');
wp_dequeue_style('wp-components');
});Impacto estimado: -32KB de CSS render-blocking
Configuração DNS/CDN:
O site redireciona www.pm3.com.br → pm3.com.br gastando 1,263ms. Opções:
- Configurar o redirect no CDN (GoCache) em vez do origin — latência ~50ms
- Ou configurar DNS para que
wwwresolva diretamente para o mesmo endereço (CNAME flatten) - Atualizar links internos/externos para sempre usar
pm3.com.br(sem www)
Impacto estimado: -1,200ms no primeiro acesso via www
Já tem preconnect para fonts.gstatic.com (bom). Adicionar:
<link rel="preconnect" href="https://www.googletagmanager.com">
<link rel="preconnect" href="https://www.youtube.com">
<link rel="preconnect" href="https://i.ytimg.com">Plugin: Perfmatters ou manual no functions.php
Plugin: OMGF
O site carrega Font Awesome de maxcdn.bootstrapcdn.com (CDN antigo). Problemas:
font-displaynão configurado (FOIT — flash of invisible text)- Dependência de CDN externo
Opções:
- Self-host com
font-display: swapvia OMGF - Migrar para Font Awesome SVG (menor, sem FOIT)
- Se usa poucas icons, substituir por SVG inline
| Issue | Status | Detalhes |
|---|---|---|
| SEO Score | 100 | Excelente — nada a corrigir |
| Meta description | OK | Presente e descritiva |
| Canonical | OK | https://pm3.com.br/ |
| Structured Data | OK | WebPage schema via Yoast |
| Sitemap | Excelente | Sitemap index com 15+ sitemaps (cursos, instrutores, módulos, sprints, etc.) |
| Open Graph | OK | Completo (locale, type, title, description, url) |
| robots.txt | OK | Configurado via Yoast |
A PM3 está impecável em SEO técnico — o Yoast está fazendo seu trabalho.
| Issue | Fix |
|---|---|
| Contraste de cores insuficiente no footer | Ajustar cor do texto FooterCopyRight-info |
| Link do Alun sem texto | Adicionar aria-label="Grupo Alun" no link |
| Botão do WhatsApp (Violeta) sem texto | Adicionar aria-label="Fale conosco pelo WhatsApp" |
| Issue | Status | Ação |
|---|---|---|
/llms.txt |
404 — Não existe | Criar e publicar (já temos o conteúdo gerado via crawling) |
/robots.txt |
OK | Nenhuma ação necessária |
| Sitemap | Excelente | 15+ sitemaps granulares — muito bom para crawlers |
| Structured Data (JSON-LD) | Parcial — tem WebPage, falta Course | Adicionar schema Course nas páginas de cursos |
| Semantic HTML | OK | — |
| Meta descriptions | OK | — |
| Open Graph | OK | — |
O conteúdo já foi gerado via crawling da wp-json API e está disponível em:
- llms.txt: https://gist.github.com/peas/2352ae7b12933dc31e93dd86157480cc
- llms-full.txt: https://gist.github.com/peas/72bf63309ec68b73c4b09afab2a5c5d2
Para publicar no WordPress, a forma mais simples:
- Plugin WP LLMs.txt — gera automaticamente baseado no conteúdo do WP
- Ou criar template custom:
// functions.php
add_action('init', function() {
add_rewrite_rule('^llms\.txt$', 'index.php?llms_txt=1', 'top');
add_rewrite_rule('^llms-full\.txt$', 'index.php?llms_full_txt=1', 'top');
});- Ou servir como arquivo estático via nginx/GoCache
Plugin: Schema Pro ou Rank Math (que substitui Yoast e inclui schema)
Adicionar em cada página de curso:
{
"@type": "Course",
"name": "Curso de Product Management",
"description": "...",
"provider": { "@type": "Organization", "name": "PM3" },
"hasCourseInstance": { "courseMode": "online" }
}| Ação | Dificuldade | Impacto Performance | Plugin Sugerido |
|---|---|---|---|
| Defer scripts (20 sync!) | Fácil | ⬆⬆⬆ (TBT -1,300ms) | Async JavaScript / WP Rocket |
| Delay third-party JS | Fácil | ⬆⬆⬆ (TBT -3,400ms) | Flying Scripts / WP Rocket |
| Lazy YouTube embed | Fácil | ⬆⬆⬆ (-2.7MB payload) | WP Rocket / Lite YouTube |
| Otimizar img-metodologia | Fácil | ⬆⬆ (-2.2MB) | ShortPixel |
| Remover CSS do Block Editor | Fácil | ⬆ (-32KB blocking) | Asset CleanUp |
| Eliminar redirect www→non-www | Médio | ⬆⬆ (-1,200ms) | CDN/DNS config |
| Self-host Font Awesome | Fácil | ⬆ (FOIT fix) | OMGF |
| Publicar llms.txt | Fácil | AI/SEO | Plugin ou manual |
| Schema Course | Fácil | SEO rich results | Rank Math / Schema Pro |
Meta realista com os quick wins acima: Performance 48 → 80-90, SEO 100 (manter), Accessibility 91 → 98+
Ferramenta all-in-one recomendada: WP Rocket (€59/ano) resolve defer JS, delay third-party, lazy YouTube, critical CSS, e cache em um único plugin. Combinado com ShortPixel para imagens e Asset CleanUp para CSS desnecessário, resolve ~90% dos problemas.
| FIAP | PM3 | |
|---|---|---|
| Performance | 13 | 48 |
| SEO | 92 | 100 |
| Accessibility | 82 | 91 |
| Principal problema | Imagens gigantes PNG | Scripts síncronos + YouTube |
| CLS | 1.008 (péssimo) | 0 (perfeito) |
| TBT | 1,320ms | 1,920ms |
| LCP | 10.0s | 3.6s |
| Stack | WordPress (tema custom 2016) | WordPress (tema custom + Yoast) |
| llms.txt | Não existe | Não existe |
A PM3 está em melhor estado geral — os fixes são mais simples (basicamente adiar scripts e otimizar mídia). A FIAP precisa de trabalho mais estrutural (imagens, redirect, CSS).