WordCampBH 2015 - O mínimo essencial para o bom desempenho do seu projeto em WordPress

59
O Mínimo essencial para o bom desempenho do seu projeto em WordPress Sergio Costa

Transcript of WordCampBH 2015 - O mínimo essencial para o bom desempenho do seu projeto em WordPress

O Mínimo essencial para o bom desempenho do seu projeto em WordPress

Sergio Costa

Oxe! Quem é esse aí?

- Formando Sistemas para Internet

- Web Dev na República Interativa

- Amante do WordPress (óbvio)

- Também amante do GruntJS e do SASS

- Viciado em video-game

- Músico

Vamos falar de que?

- Camadas do projeto

- Imagens

- Frameworks

- Grunt Tasks

- Navegação Ajax

Mas e o WordPress???

- Hierarquia e Particionamento

- Adeus ao desnecessário

- Enfileirando Scripts e Estilos

- Transients API

- Alguns plugins

- Problemas com plugins

- Por que não usam o CODEX?

Por que falar disso?

- Usuário feliz

- Você fez um bom trabalho

Só por isso?SIIIIIM!!!MAAAS…

Isso envolve alguns aspectos importantes

- Velocidade da internet

- Usuários sem paciência

- Usuários sem tempo

- Tudo se faz pelo celular

- Computador? Só para trabalho

Quem nunca se deparou com isso?

OU- Scripts inúteis

- Scripts desnecessários

- Estilos inúteis

- Excesso de tudo

- Código todo “embolado”

- 50 mil $(document).ready

- 10 mil linhas comentadas

OK! Vamos lá. Por onde começar?

As camadas do projeto

Estrutura

Estilo

Comportamento

NÃÃÃÃÃÃÃÃÃOOOO!!!!!

Imagem: Robert Cecil A.K.A. Uncle Bob

Medindo a qualidade do código

Por que isso é tão ruim assim?

Páginas mais pesadas

Perda de velocidade no carregamento

E quanto à inserção imagens?

- Funciona? - Funciona!

- Ideal?- Nããão!

O Font Awesome (por exemplo), resolve!

Poupa a requisição de arquivos do servidor

Pode substituir MUITAS imagens do projeto

Mas preciso usar MUUITAS imagens!

E não posso substituí-las pelos ícones…

E agora?

SPRITES CSS !!!

IH! Eu uso framework… e agora?

Cada situação tem a sua solução!

- Bons frameworks são modularizados!

- Bons frameworks te permitem trabalhar com módulos escolhidos

- Frameworks geralmente são construídos, utilizando pré-processadores- SIM, você pode usar o código dos pré-processadores!

E AÊ? COMO FAÇO???

Começando pelo CSS!

Vamos usar, então!

Mas precisamos de uma forma para compilar o código do pré-processador…

Hora de automatizar esse negócio

Com a automação de tarefas, vamos:

- Assistir os arquivos

- Definir quais módulos serão utilizados

- Compilar os arquivos dos pré-processadores

- Remover os seletores não utilizados

- Concatenar e minificar os módulos CSS e JS utilizados

- Otimizar imagens

Já fiz isso tudo, aí!!!Ainda tem o que fazer?

MAS É CLARO!!!

Pra que carregar conteúdo repetido em outra página?

Como assim?Você precisa mesmo recarregar o header e o footer?

<= Isso fica

<= Isso fica

<= Isso muda

Agora que já falamos um pouquinho sobre a navegação

por ajax...

Hora de falar sobre ele:

Mas já fiz muita coisa no front-end…

Existem mais coisas pra fazer no próprio WordPress, para melhorar o

meu projeto?

HÁ...

Como organizar isso tudo no diretório do tema?

“actions” desnecessárias? TCHAU!wp_head(); >>> /wp-includes/default-filters.php

Como eu removo isso?

Vamos enfileirar estilos e scripts corretamente?

Como fazer, então?

Transients APIQue bixo é esse?

Uma feature linda, do WordPress!

Ela basicamente “cacheia” o resultado da sua query

O que isso traz de bom?- Não precisa fazer consultas pesadas a cada f5!!!

PRECISO DISSO NA MINHA VIDA!!!COMO FAÇO???

Precisamos usá-la na wp_query! Vamos lá!

Mas eu estou usando um arquivo de hierarquia

Como faço para usar a Transients API na query padrão?

Mais uma mágica do WordPress:Você não precisa!

Simples! Sabe a hierarquia?Te ajuda aqui!

E quanto aos plugins de WordPress?

Nem sempre são coisas ruinsBasta você saber escolher e usar

Quais os problemas mais comuns,gerados pelos plugins para

WordPress?

- Códigos desnecessários- Códigos nos lugares errados- Brechas de segurança- Códigos não minificados- Às vezes, códigos sujos- Sobrescrição de código- Dentre outros...

Como vou resolver esse tipo de problema?

Vamos usar um exemplo rápido, do Contact Form 7

Porém, há uma excelente alternativa, para substituir muitos destes bons

plugins

Plugins também resolvem problemas!

Alguns plugins bem interessantes, pra ajudar:

E como eu vou saber se devo usar um plugin

ou não, para fazer o que eu quero?

Maravilha! Agora, eu estou pronto pra fazer meu site

voar!

Mas ainda tem coisa que você precisa saber!

AVEMARIA, O QUE É ISSO?

Agora, sim! Podemos tocar o projeto em paz!

Links interessantes

- http://codex.wordpress.org/

- http://www.escolawp.com/

- http://www.wpbeginner.com/

- http://html5boilerplate.com/

- http://browserdiet.com/pt/

- http://sass-lang.com

- http://gruntjs.com/

- https://www.w3-edge.com/products/w3-total-cache/

- https://wordpress.org/plugins/wp-optimize/

- https://wordpress.org/plugins/ewww-image-optimizer/

OBRIGADO! =D