CSS

9 abr, 2015

5 maneiras de tornar o seu site menor e mais rápido

Publicidade

Confissão: eu diria que, uma vez por semana, eu realmente gostaria ser um garoto que passa o dia de trabalho cortando grama e fazendo paisagismo. Por quê? Porque, no final do dia, eles são capazes de dizer “a grama está cortada, o trabalho está completo”. Como desenvolvedores web, não podemos nunca dizer isso, não é? Um site pode sempre ser mais eficiente – sempre existem estratégias para eliminar os bytes. Sempre. E enquanto percebermos isso, vamos, interna e eternamente, dizer “o site não é bom o suficiente.” Para sermos grandes desenvolvedores, estamos quase destinados a sentir como se o nosso trabalho não fosse bom o suficiente – o que é uma forma negativa para vivemos nossas vidas!

A boa notícia é que existem alguns métodos para ganhos incríveis e fáceis nos departamentos de tempo de desempenho e de carregamento. Aqui estão cinco ganhos que você pode concluir em minutos para tornar o seu site mais rápido para todos os usuários!

1. Esmague suas imagens – ImageOptim – ImageOptim

O esmagamento de imagens é o passe livre final para melhorar o tempo de carregamento do site. O Photoshop e outros aplicativos de edição de imagem são vergonhosamente ineficientes com a compressão de imagem, causando muitos KBs de carregamento extra em cada solicitação. A boa notícia é que existem muitas utilidades para eliminar aqueles KBs extras! Meu utilitário favorito do Mac é o ImageOptim.

image-optim-sample

Você pode comprimir com gzip tanto quanto quiser, mas o tamanho extra em KB ainda será um desperdício.
Assim, utilizar uma imagem otimizando o utilitário é tão valioso quanto qualquer outra estratégia que você possa usar!

2. CloudFlare

CloudFlare, um serviço que começa gratuito, oferece um monte de melhorias:

  • Serviços de CDN
  • JavaScript, CSS, HTML e minificação
  • Serviços de backup de tempo ocioso
  • Prevenção para DDOS
  • Entrega de conteúdo baseado em localização

Isto não é um anúncio – davidwalsh.name usa Cloudflare e usou todos os seus recursos. Meu site tem economizado GBs em transferência de dados graças ao CloudFlare. Mesmo quando meu servidor ficou fora do ar, o CloudFlare forneceu as páginas de forma perfeita. Uma vitória completa quando você usa CloudFlare.

3. Bibliotecas de glifos menores com o Fontello

Fontes glifo são populares já há alguns anos, e eu vou listar as razões pelas quais elas são incríveis. O problema é que nós, preguiçosamente, usamos arquivos de fontes glifo inteiros, em vez de usar apenas uma fração das fontes contidas neles. E embora nós raramente os consideremos, arquivos de fontes são geralmente enormes. Por sorte, utilitários como o Fontello existem.

O Fontello permite escolher glifos individuais a partir de várias fontes de glifos e, assim, diminuir a quantidade de KBs de suas folhas de estilo de fontes.

4. Gerar arquivos estáticos

Nós amamos o nosso script dinâmico, mas por que oferecer páginas dinâmicas quando as páginas estáticas o farão? Essa é uma prática muitas vezes vista com WordPress – o conteúdo do artigo em geral não muda, mas os anúncios e os comentários podem mudar.

A resposta? Encontrar os pontos-chave quando uma página pode mudar e gerar conteúdo estático quando ocorrem esses pontos. Um utilitário WordPress legal chamado Really Static realiza essa façanha para o CMS. É claro que o seu CMS não-WordPress exigirá a geração de página personalizada, mas as vantagens de velocidade valerão muito a pena.

Se você tiver conteúdo que precisa rodar nessas páginas estáticas, como anúncios ou links para conteúdos mais atuais, considere os pedidos de JavaScript e AJAX para obter esse conteúdo – a página será estática e o JavaScript será servido a partir CDN – a única velocidade considerada será, então, o pedido AJAX!

5. Carregar recursos tardiamente – LazyLoad – ou embuti-los?

Um sintoma comumente conhecido da lentidão do site é o número de solicitações que cada página gera. No passado, corrigimos esse problema com CSS/image sprites, concatenando recursos JavaScript e CSS, e usando URIs de dados. Você também pode fazer carregamento tardio dos recursos ou simplesmente incluí-los na sua página:

document.querySelectorAll('article pre').length && (function() {
    var mediaPath = '/assets/';

    var stylesheet = document.createElement('style');
    stylesheet.setAttribute('type', 'text/css');
    stylesheet.setAttribute('rel', 'stylesheet');
    stylesheet.setAttribute('href', mediaPath + 'css/syntax.css');
    document.head.appendChild(stylesheet);

    var syntaxScript = document.createElement('script');
    syntaxScript.async = 'true';
    syntaxScript.src = mediaPath + 'js/syntax.js';
    document.body.appendChild(syntaxScript);
})();

O exemplo acima carrega a marcação de sintaxe somente se elementos na página exigirem destaque. E se o syntax highlighter de CSS for apenas algumas linhas? Você pode poupar algumas requisições extras e embuti-lo na página:

<style type="text/css">
	<?php include('media/assets/highlight.css'); ?>
	</style>
</head>

Ou você pode concatenar o highlighter de CSS para seu arquivo CSS em todo o site – de qualquer forma, é um benefício!

Como você pode ver, existe certo ganhos, incríveis e fáceis, de velocidade e do site que podem ser obtidos se você estiver disposto a dedicar um esforço e alguns minutos para fazê-los acontecer. E quando você pensar sobre o número de visitantes que seu site recebe, e depois no número de pageviews, você vai perceber porque essas otimizações são tão importantes!

***

David Walsh faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: http://davidwalsh.name/site-speed