Skip to content

Instantly share code, notes, and snippets.

@peas
Created February 11, 2026 18:01
Show Gist options
  • Select an option

  • Save peas/845588349539923084e9e0c638cdc146 to your computer and use it in GitHub Desktop.

Select an option

Save peas/845588349539923084e9e0c638cdc146 to your computer and use it in GitHub Desktop.
PM3 — Core Web Vitals & SEO Quick Wins (Lighthouse mobile, fev/2026)

PM3 — Core Web Vitals & SEO Quick Wins

Análise feita em 11/02/2026 via Lighthouse (mobile) URL testada: https://www.pm3.com.br/ (redireciona para https://pm3.com.br/)

Scores Atuais (Mobile)

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

Diagnóstico Principal

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:

  1. 20 scripts síncronos (blocking) — nenhum usa defer ou async
  2. Third-party scripts acumulam 3,465ms de blocking (GTM: 1,296ms, Bing: 629ms, Facebook: 445ms, HubSpot: 346ms, TikTok: 283ms)
  3. Redirect www → non-www (1,263ms desperdiçados)
  4. YouTube embed carregando eagerly (player JS: 422KB + vídeos: ~1.7MB)
  5. Imagem de 2.4MB não otimizada (img-metodologia.jpg)
  6. CSS do WordPress Block Editor carregado desnecessariamente (33KB, 32KB não usado)

Quick Wins — Plugins WordPress & Configurações Simples

1. Defer/Async em todos os scripts (~1,900ms de TBT liberados)

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

2. Delay third-party scripts (~3,400ms de blocking liberados)

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+

3. Lazy load do YouTube embed (~2MB economia)

Plugin: WP YouTube Lyte ou Lite YouTube Embed

O embed do YouTube carrega:

  • base.js: 422KB
  • www-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

4. Otimizar imagem da metodologia (2.4MB → ~200KB)

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

5. Remover CSS não utilizado do Block Editor (32KB)

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

6. Eliminar redirect www → non-www (1,263ms)

Configuração DNS/CDN:

O site redireciona www.pm3.com.brpm3.com.br gastando 1,263ms. Opções:

  1. Configurar o redirect no CDN (GoCache) em vez do origin — latência ~50ms
  2. Ou configurar DNS para que www resolva diretamente para o mesmo endereço (CNAME flatten)
  3. Atualizar links internos/externos para sempre usar pm3.com.br (sem www)

Impacto estimado: -1,200ms no primeiro acesso via www

7. Preconnect para domínios críticos

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

8. Self-host Font Awesome (eliminar dependência maxcdn)

Plugin: OMGF

O site carrega Font Awesome de maxcdn.bootstrapcdn.com (CDN antigo). Problemas:

  • font-display não configurado (FOIT — flash of invisible text)
  • Dependência de CDN externo

Opções:

  1. Self-host com font-display: swap via OMGF
  2. Migrar para Font Awesome SVG (menor, sem FOIT)
  3. Se usa poucas icons, substituir por SVG inline

SEO Issues

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.

Acessibilidade

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"

Acessibilidade para LLMs e Agentes de IA

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

Publicar /llms.txt e /llms-full.txt

O conteúdo já foi gerado via crawling da wp-json API e está disponível em:

Para publicar no WordPress, a forma mais simples:

  1. Plugin WP LLMs.txt — gera automaticamente baseado no conteúdo do WP
  2. 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');
});
  1. Ou servir como arquivo estático via nginx/GoCache

Adicionar Schema Course

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" }
}

Resumo de Impacto Estimado

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.


Comparativo FIAP vs PM3

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment