{"id":1063,"date":"2018-01-02T13:23:40","date_gmt":"2018-01-02T13:23:40","guid":{"rendered":"https:\/\/sitechecker.pro\/?page_id=1063"},"modified":"2024-03-14T13:45:36","modified_gmt":"2024-03-14T11:45:36","slug":"speed-test","status":"publish","type":"page","link":"https:\/\/test.sitechecker.pro\/pt\/speed-test\/","title":{"rendered":"Fa\u00e7a um Teste de Velocidade do Site e Descubra Como Acelerar o seu Carregamento"},"content":{"rendered":"<p>Todo mundo sabe que um site lento \u00e9 ruim. Por causa da lentid\u00e3o, surgem s\u00e9rios problemas na solu\u00e7\u00e3o das tarefas cotidianas. \u00c0s vezes \u00e9 somente uma situa\u00e7\u00e3o chata. Frequentemente, a lentid\u00e3o do site \u00e9 problem\u00e1tica, principalmente quando temos o servi\u00e7o negado &#8211; as pessoas n\u00e3o esperam e acabam saindo. Isso \u00e9 relevante para casos de um travamento radical do site, por exemplo, quando o in\u00edcio da renderiza\u00e7\u00e3o da p\u00e1gina come\u00e7a com 8 a 10 segundos ap\u00f3s o clique.<\/p>\n<p>Mesmo com uma situa\u00e7\u00e3o favor\u00e1vel para a p\u00e1gina (com download r\u00e1pido na internet com fio \u00e9 um computador moderno), atrasos no download podem levar \u00e0 perda de p\u00fablico e menores taxas de convers\u00e3o. Por exemplo, a Amazon conduziu um experimento no qual descobriu que cada atraso de 100 ms (0,1s) leva a uma edi\u00e7\u00e3o de vendas de 1%.<\/p>\n<p>Mais da metade dos usu\u00e1rios da internet utiliza dispositivos m\u00f3veis para acessar sites. Assim, eles podem usar canais lentos para acesso e processadores para baixar a p\u00e1gina.<\/p>\n<p>A terceira raz\u00e3o para import\u00e2ncia da velocidade do site \u00e9 t\u00e9cnica. Normalmente, os sites lentos consomem uma quantidade maior de recursos de hospedagem, o que leva custos adicionais. A lentid\u00e3o por parte do servidor reduz a capacidade de experimentar cargas de pico problem\u00e1ticas no site.<\/p>\n<p>Portanto, a velocidade do site deve ser tratada tanto do ponto de vista t\u00e9cnico quanto do ponto de vista econ\u00f4mico. Neste artigo vamos nos concentrar no lado t\u00e9cnico da acelera\u00e7\u00e3o do site.<\/p>\n    <div class=\"blog__conversion blog__conversion-app element__logged_out\">\n        <div class=\"blog__conversion-inner\">\n            <p class=\"title\">Detectar p\u00e1ginas com c\u00f3digo redundante<\/p>\n            <p class=\"description\">Fa\u00e7a uma auditoria no seu site para descobrir p\u00e1ginas com conte\u00fado para codificar menos de 10%<\/p>\n            <form id=\"audit__form\"\n                  class=\"article__seo-search audit__form Fa\u00e7a uma auditoria no seu site para descobrir p\u00e1ginas com conte\u00fado para codificar menos de 10%\"\n                  action=\"\"\n                  method=\"POST\"\n                  autocomplete=\"off\">\n                <span class=\"error\"><\/span>\n                <div class=\"error__limits\">Something went wrong. Please, try again later.<\/div>\n                <input name=\"url\"\n                       type=\"text\"\n                       placeholder=\"Digite seu nome de dom\u00ednio\">\n                                <button type=\"submit\"\n                        class=\"sitechecker__text\">\n                    <span>Verifica<\/span>\n                    <img src=\"\/wp-content\/themes\/sitechecker\/out\/img_design\/loading.svg\"\n                         width=\"31\"\n                         height=\"30\"\n                         class=\"loading\">\n                <\/button>\n            <\/form>\n        <\/div>\n    <\/div>\n    \n<h2 id=\"components\">Velocidade do Site: os Principais Componentes<\/h2>\n<p>A velocidade do site diz respeito a dois lados: o cliente e o servidor. At\u00e9 o momento, cada uma dessas partes \u00e9 equivalente a um resultado final. Mas cada um possui caracter\u00edsticas pr\u00f3prias.<\/p>\n<p>Para entender qual \u00e9 o tempo de carregamento de uma p\u00e1gina no site, vamos dar uma olhada no processo. Como resultado, poderemos entender onde est\u00e3o localizados os recursos de otimiza\u00e7\u00e3o de servidor e usu\u00e1rio.<\/p>\n<p>O processo completo de download do site (primeira visita) \u00e9 o seguinte:<\/p>\n<ul>\n<li>\u00a0Consulta <a href=\"http:\/\/test.sitechecker.pro\/pt\/dns-checker\/\">DNS<\/a> pelo nome do site<\/li>\n<li>\u00a0Conex\u00e3o ao servidor por IP (conex\u00e3o TCP)<\/li>\n<li>\u00a0Estabelecimento de uma conex\u00e3o segura ao usar HTTPS (conex\u00e3o TLS).<\/li>\n<li>\u00a0Solicitar p\u00e1gina HTML por URL e espera do servidor (solicita\u00e7\u00e3o HTTP)<\/li>\n<li>\u00a0Carregamento de HTML.<\/li>\n<li>\u00a0An\u00e1lise de um documento HTML pelo navegador, criando uma fila de consulta nos recursos do documento.<\/li>\n<li>\u00a0Carregar e analisar estilos CSS.<\/li>\n<li>\u00a0Carregamento e execu\u00e7\u00e3o de c\u00f3digo JS.<\/li>\n<li>\u00a0In\u00edcio da renderiza\u00e7\u00e3o da p\u00e1gina, execu\u00e7\u00e3o do c\u00f3digo JS.<\/li>\n<li>\u00a0Fa\u00e7a o download de fontes da web<\/li>\n<li>\u00a0Carregar imagens e outros elementos<\/li>\n<li>\u00a0Terminar a renderiza\u00e7\u00e3o da p\u00e1gina, execu\u00e7\u00e3o do c\u00f3digo JS deferido.<\/li>\n<\/ul>\n<p>Nesse processo, algumas posi\u00e7\u00f5es ficam paralelas, algumas podem mudar de lugar, mas a ess\u00eancia permanece a mesma. Otimiza\u00e7\u00e3o do servidor lida com os est\u00e1gios do primeiro ao quarto. As etapas 5 a 12 s\u00e3o otimiza\u00e7\u00f5es do usu\u00e1rio. O tempo gasto em cada um desses est\u00e1gios \u00e9 independente para cada site, por isso voc\u00ea precisa obter m\u00e9tricas no site e identificar a principal fonte de problemas. E aqui nos voltamos para quest\u00f5es de como obter m\u00e9tricas e interpret\u00e1-las.<\/p>\n<h2 id=\"measuring\">Mesurando a Velocidade do Site<\/h2>\n<p>A quest\u00e3o principal \u00e9: o que precisa ser mensurado? Existem muitas m\u00e9tricas para velocidade do site, mas n\u00e3o h\u00e1 muitas b\u00e1sicas.<\/p>\n<p><strong>Primeiro.<\/strong> Desta vez temos o primeiro byte (TTFB &#8211; tempo para o primeiro byte) \u00e9 o tempo do in\u00edcio do processo de download at\u00e9 o recebimento da primeira parte dos dados do servidor. Essa \u00e9 principal m\u00e9trica para otimiza\u00e7\u00e3o do servidor.<\/p>\n<p><strong>Segundo.<\/strong> Este \u00e9 o come\u00e7o da renderiza\u00e7\u00e3o da p\u00e1gina (iniciar renderizar, primeiro pintar). A m\u00e9trica mostra o tempo at\u00e9 o final do per\u00edodo de \u201ctela branca\u201d no navegador, quando a p\u00e1gina come\u00e7a a desenhar.<\/p>\n<p><strong>Terceiro.<\/strong> Estar\u00e1 carregando os principais elementos da p\u00e1gina (tempo de carregamento). Isso inclui o carregamento e interpreta\u00e7\u00e3o de todos os recursos para trabalhar com a p\u00e1gina; ap\u00f3s essa marca, o indicador de carregamento da p\u00e1gina para de girar.<\/p>\n<p><strong>Quarto.<\/strong> \u00c9 a carga total da p\u00e1gina: o tempo antes do fim da atividade principal do navegador, todos os recursos principais e a adiados s\u00e3o carregados.<\/p>\n<p>Essas m\u00e9tricas b\u00e1sica s\u00e3o medidas em segundos. Tamb\u00e9m \u00e9 \u00fatil ter uma estimativa da quantidade de tr\u00e1fego para terceira e quarta m\u00e9tricas. O tr\u00e1fego precisa ser conhecido para que se avalie o efeito da velocidade de conex\u00e3o no tempo de carregamento.<\/p>\n<p>Agora precisamos entender como testar a velocidade. Existem muitos servi\u00e7os e ferramentas para avaliar as m\u00e9tricas da velocidade de download de sites, cada uma funciona melhor para determinadas tarefas.<\/p>\n<p>Uma das ferramentas mais populares \u00e9 o painel do desenvolvido no navegador. A funcionalidade mais avan\u00e7ada do painel est\u00e1 no Chrome. Na guia Rede, voc\u00ea pode obter m\u00e9tricas para o tempo de carregamento de todos os elementos, incluindo pr\u00f3prio documento HTML. Quando voc\u00ea passar o mouse sobre o item, pode ver quanto tempo \u00e9 gasto para cada etapa na obten\u00e7\u00e3o do recurso. Para avaliar a imagem completa do processo de carregamento da p\u00e1gina, voc\u00ea pode usar a guia Desempenho, que fornece detalhes completos at\u00e9 o momento da decodifica\u00e7\u00e3o das imagens.<\/p>\n<p>Se voc\u00ea precisar avaliar a velocidade do site sem a granularidade total, \u00e9 \u00fatil iniciar uma auditoria do site (guia Auditorias), ele ser\u00e1 conduzido usando plugin do Lighthouse. No relat\u00f3rio, iremos obter uma estimativa da velocidade dos dispositivos m\u00f3veis (ambos integrais em ponto, de acordo com nossas m\u00e9tricas baixo b\u00e1sicas) e v\u00e1rios outros relat\u00f3rios.<\/p>\n<p>Para avaliar rapidamente autoriza\u00e7\u00e3o do cliente, voc\u00ea pode usar o <a href=\"https:\/\/developers.google.com\/speed\/pagespeed\/insights\/\">Google PageRank Speed Insights Service<\/a> ou Sitechecker (usamos a API do Google PageSpeed Insights). Finalmente, \u00e9 \u00fatil analisar o tempo de download do site de usu\u00e1rios reais. Para isso, a relat\u00f3rios especiais no sistema de an\u00e1lise da web e anda Yandex.Metrics e o Google Analytics.<\/p>\n<p>Os marcos para o tempo de carregamento do site s\u00e3o seguintes: o in\u00edcio da renderiza\u00e7\u00e3o acerca de 1 segundo, carregando a p\u00e1gina de 3-5 segundos. Nessa estrutura, os usu\u00e1rios n\u00e3o reclamar\u00e3o da velocidade do site e o tempo de download n\u00e3o limitar\u00e1 a efici\u00eancia da p\u00e1gina. Esses n\u00fameros devem ser alcan\u00e7ados por usu\u00e1rios reais, mesmo em condi\u00e7\u00f5es dif\u00edceis de conex\u00e3o m\u00f3vel e dispositivos desatualizados.<\/p>\n<h2 id=\"serveroptimization\">Otimiza\u00e7\u00e3o de Servidores<\/h2>\n<p>Vamos para acelera\u00e7\u00e3o do site. A otimiza\u00e7\u00e3o da parte do servidor \u00e9 a medida mais compreens\u00edvel e \u00f3bvia para desenvolvedores de sites. Primeiro, a parte do servidor \u00e9 facilmente monitorada e controlada pelos administradores do sistema. Em segundo lugar, com s\u00e9rios problemas com tempo de resposta do servidor, a lentid\u00e3o \u00e9 percept\u00edvel para todos, independentemente da velocidade da conex\u00e3o ou no dispositivo.<\/p>\n<p>Enquanto as raz\u00f5es para frear o lado do servidor podem ser muito diversas, h\u00e1 lugares espec\u00edficos a serem observados.<\/p>\n<h3>Hospedagem (recurso do servidor)<\/h3>\n<p>Esta \u00e9 a primeira raz\u00e3o para a lentid\u00e3o em sites pequenos. Para a carga atual do site, simplesmente n\u00e3o h\u00e1 recursos de hospedagem suficientes (geralmente CPU e a velocidade do sistema de disco). Se voc\u00ea puder aumentar rapidamente esses recursos, vale a pena tentar. Em alguns casos, o problema ser\u00e1 resolvido. Se o custo de recursos adicionais ficar mais alto que o custo do trabalho de otimiza\u00e7\u00e3o, voc\u00ea precisar\u00e1 contar com os m\u00e9todos a seguir.<\/p>\n<h3>DBMS (Servidor de Banco de Dados)<\/h3>\n<p>Estamos aqui voltados para fonte do conflito: a baixa velocidade do c\u00f3digo do problema. Na maioria das vezes, um aplicativo da web \u00e9 gasto em solicita\u00e7\u00f5es de banco de dados. Isso \u00e9 l\u00f3gico, porque a tarefa do aplicativo da web \u00e9 coletar dados e convert\u00ea-los de acordo com determinado padr\u00e3o.<\/p>\n<p>A resolu\u00e7\u00e3o do problema de respostas lentas do banco de dados \u00e9 dividida em dois est\u00e1gios: ajuste DBMS e atualiza\u00e7\u00e3o da consulta e esquemas de dados. Ajustar o DBMS (por exemplo, MySQL) pode oferecer acelera\u00e7\u00e3o v\u00e1rias vezes, caso isso n\u00e3o tenha sido feito anteriormente. O ajuste pode dar um efeito de at\u00e9 doze porcento.<\/p>\n<p>A otimiza\u00e7\u00e3o de consultas e esquema de dados \u00e9 a maneira radical de acelerar. Devido essa otimiza\u00e7\u00e3o, \u00e9 poss\u00edvel obter acelera\u00e7\u00e3o em v\u00e1rias ordens de grandeza. Se a altera\u00e7\u00e3o na estrutura do banco de dados puder ocorrer sem a invers\u00e3o no c\u00f3digo do programa do site, a otimiza\u00e7\u00e3o das solicita\u00e7\u00f5es dessa \u00a0interven\u00e7\u00e3o exigir\u00e1.<\/p>\n<p>Para identificar consultas lentas, voc\u00ea precisa coletar estat\u00edsticas sobre a carga do banco de dados por um per\u00edodo em que o tempo bastante longo. Em seguida, O log \u00e9 analisado e os candidatos para a otimiza\u00e7\u00e3o s\u00e3o identificados.<\/p>\n<h3>Efeito do CMS e do C\u00f3digo do Programa<\/h3>\n<p>Acredita-se muito que a velocidade do site depende apenas do CMS (\u201cengine\u201d). Os propriet\u00e1rios de sites geralmente tentam dividir o CMS em r\u00e1pido e lento. Por\u00e9m isso n\u00e3o \u00e9 verdade.<\/p>\n<p>Naturalmente, a carga do servidor depende do c\u00f3digo inclu\u00eddo no CMS em uso. Al\u00e9m disso, os sistemas mais populares tentam otimizar a velocidade m\u00e1xima e problemas fatais com a velocidade do site n\u00e3o deveriam ocorrer.<\/p>\n<p>No entanto, al\u00e9m do c\u00f3digo principal do CMS, o site pode conter m\u00f3dulos adicionais (plug-ins), extens\u00f5es e modifica\u00e7\u00f5es dos desenvolvedores do site. Esse c\u00f3digo pode ter um impacto negativo na velocidade do site.<\/p>\n<p>Al\u00e9m disso, ocorrem problemas de velocidade quando o sistema \u00e9 mal utilizado. Por exemplo, o sistema para blogs \u00e9 usado para criar uma loja. Ou o sistema para sites pequenos \u00e9 usado para desenvolver um portal.<\/p>\n<h3>Cache<\/h3>\n<p>O meio mais poderoso e universal de aumentar a velocidade do servidor \u00e9 tradicionalmente caching. Estamos falando sobre o cache do lado do servidor, e n\u00e3o sobre cabe\u00e7alhos de cache. O c\u00e1lculo do resultado (montagem da p\u00e1gina, bloco) exige recursos significativos, coloque o resultado no cache e atualize-o periodicamente. A ideia \u00e9 simples e complexa ao mesmo tempo: os sistemas de armazenamento em cache s\u00e3o integrados em linguagem de programa\u00e7\u00e3o, sistemas de gerenciamento de sites e servidores da web. Normalmente, o cache da p\u00e1gina permite reduzir o tempo de endere\u00e7o da p\u00e1gina para dezenas de milissegundos. Naturalmente, neste caso, o servidor experimenta facilmente um pico de atendimento. H\u00e1 dois problemas aqui: nem tudo pode ser armazenado em cache e o cache deve estar corretamente desativado (descartado). Se os problemas forem resolvidos, o armazenamento em cache pode ser recomendado como um meio eficaz de acelera\u00e7\u00e3o do servidor.<\/p>\n<h3>Otimiza\u00e7\u00e3o de TCP, TLS, HTTP\/2<\/h3>\n<p>Nesta parte, temos as otimiza\u00e7\u00f5es de rede sutis que fornecem acelera\u00e7\u00e3o ao servidor. O efeito aqui n\u00e3o \u00e9 t\u00e3o grande quanto a outros m\u00e9todos, mas \u00e9 alcan\u00e7ado exclusivamente pela configura\u00e7\u00e3o, isto \u00e9, livre.<\/p>\n<p>O ajuste TCP hoje \u00e9 necess\u00e1rio para grandes projetos e servidores como uma extens\u00e3o a partir de 10G, o principal a ser lembrado: o subsistema de rede \u00e9 atualizado regularmente com o lan\u00e7amento de novos kernels Linux, portanto vale a pena atualiz\u00e1-lo. A configura\u00e7\u00e3o correta de TOS (HTTP) permitem obter um maior n\u00edvel de seguran\u00e7a e minimizar o tempo para estabelecer uma conex\u00e3o segura. Boas recomenda\u00e7\u00f5es s\u00e3o liberadas pelo Mozilla.<\/p>\n<p>A nova vers\u00e3o do protocolo HTTP-HTTP \/ 2 foi projetada para acelerar o download de sites. Este protocolo apareceu recentemente e agora \u00e9 usado ativamente (cerca de 20% de participa\u00e7\u00e3o entre as p\u00e1ginas). Em geral, no HTTP \/ 2, os mecanismos de acelera\u00e7\u00e3o s\u00e3o realmente estabelecidos, o principal uso deles \u00e9 para reduzir o efeito de atrasos de rede no tempo de carregamento da p\u00e1gina (multiplexa\u00e7\u00e3o de solicita\u00e7\u00e3o). Mas acelera\u00e7\u00e3o devido ao HTTP \/ 2 nem sempre \u00e9 \u00a0bem-sucedida, portanto, n\u00e3o confie neste protocolo.<\/p>\n<h2 id=\"customeroptimization\">Otimiza\u00e7\u00e3o do Cliente<\/h2>\n<p>Diferentemente da otimiza\u00e7\u00e3o do servidor, a do cliente \u00e9 voltada para tudo que acontece no navegador do usu\u00e1rio. Por causa disso, o controle \u00e9 complicado (diferentes dispositivos e navegadores) e possui muitas linhas diferentes de otimiza\u00e7\u00e3o. Examinaremos os m\u00e9todos mais eficazes e universais que podem ser usados em praticamente qualquer projeto.<\/p>\n<h3>Otimiza\u00e7\u00e3o do Caminho Cr\u00edtico: CSS, JS<\/h3>\n<p>Caminho cr\u00edtico de renderiza\u00e7\u00e3o \u00e9 um conjunto de recursos para iniciar a renderiza\u00e7\u00e3o da p\u00e1gina no navegador. Normalmente essa lista inclui o pr\u00f3prio documento HTML, estilos CSS, fontes da web e o c\u00f3digo JS.<\/p>\n<p>Nossa tarefa como otimizadores de velocidade \u00e9 encurtar esse caminho tanto no tempo (levando em conta os atrasos da rede) quanto no prazo (levando em conta as conex\u00f5es ruins). A maneira mais f\u00e1cil de determinar o caminho cr\u00edtico \u00e9 iniciar uma auditoria no Chrome (no painel do desenvolvedor), o plugin do lighthouse ir\u00e1 determinar sua composi\u00e7\u00e3o e o tempo de inicializa\u00e7\u00e3o, levando em considera\u00e7\u00e3o a conex\u00e3o lenta.<\/p>\n<p>A principal t\u00e9cnica na redu\u00e7\u00e3o do caminho cr\u00edtico: remover tudo o que n\u00e3o \u00e9 necess\u00e1rio o que pode ser adiado. Por exemplo, a maior parte do c\u00f3digo JS pode ser adiada antes que a p\u00e1gina seja carregada. Para fazer isso, coloque a chamada de recurso JS no final do documento HTML ou use o atributo async.<\/p>\n<p>Para o carregamento atrasado do CSS \u00e9 poss\u00edvel usar a conex\u00e3o din\u00e2mica de estilos atrav\u00e9s do JS (aguardando o evento domContentLoaded).<\/p>\n<h3>Otimizando Fontes da Web<\/h3>\n<p>Conectar foto da web hoje se tornou quase um padr\u00e3o design. Infelizmente, eles afetam negativamente a velocidade de renderiza\u00e7\u00e3o da p\u00e1gina. Fontes da web s\u00e3o recursos adicionais que voc\u00ea precisa obter antes come\u00e7ar a desenhar o texto.<\/p>\n<p>A situa\u00e7\u00e3o piora porque muitas vezes os ponteiros para os arquivos de fontes est\u00e3o enterrados em uma arquivo CSS, que tamb\u00e9m n\u00e3o aparece instantaneamente. Muitos desenvolvedores gostam de usar servi\u00e7os p\u00fablicos de fotos da web (por exemplo, Google Fonts), o que causa ainda mais atrasos (conex\u00f5es adicionais, arquivos CSS).<\/p>\n<p>As regras de otimiza\u00e7\u00e3o consistem em reduzir o tamanho do tr\u00e1fego de fontes da web e obt\u00ea-las o mais r\u00e1pido poss\u00edvel.<\/p>\n<p>Para reduzir o tr\u00e1fego, voc\u00ea precisa usar formatos modernos: WOFF2 para navegadores modernos, WOFF para compatibilidade. Al\u00e9m disso, voc\u00ea s\u00f3 precisa incluir os conjuntos de caracteres usados no site (por exemplo, latim e cir\u00edlico).<\/p>\n<p>Para influenciar a exibi\u00e7\u00e3o \u00a0r\u00e1pida de fontes da web, voc\u00ea pode usar as novas especifica\u00e7\u00f5es link rel=\u201cpreload\u201d e a exibi\u00e7\u00e3o de fontes de propriedade CSS. O pr\u00e9 carregamento permitir\u00e1 que voc\u00ea informe o navegador o mais r\u00e1pido poss\u00edvel sobre a necessidade de fazer o download de um arquivo de fontes, e a exibi\u00e7\u00e3o da fonte ir\u00e1 fornecer uma maneira flex\u00edvel de controlar o comportamento do navegador no caso de atraso do arquivo (aguarde, desenhe livremente, n\u00e3o espere por uma fonte por mais de tr\u00eas segundos).<\/p>\n<h3>Otimizando Imagens<\/h3>\n<p>As imagens s\u00e3o a maior parte do peso de um site moderno. Naturalmente, as imagens n\u00e3o s\u00e3o recursos cr\u00edticos para p\u00e1ginas como CSS e c\u00f3digo JS. Mas, para muitos sites, as imagens s\u00e3o uma parte importante do conte\u00fado: lembre-se dos produtos em lojas on-line.<\/p>\n<p>A principal t\u00e9cnica para otimizar imagens \u00e9 reduzir seu tamanho. Para fazer isso, precisamos usar as ferramentas corretas de formato e compacta\u00e7\u00e3o:<\/p>\n<ul>\n<li>\u00a0PNG para imagens com transpar\u00eancia e texto;<\/li>\n<li>\u00a0JPEG para fotos imagens complexas;<\/li>\n<li>\u00a0SVG para gr\u00e1ficos vetoriais.<\/li>\n<\/ul>\n<p>Al\u00e9m desses formatos, novos est\u00e3o sendo desenvolvidos: por exemplo o WebP do Google. Este formato pode cobrir a fun\u00e7\u00e3o de uso de PNG e JPEG &#8211; suporta a compacta\u00e7\u00e3o com perda ou sem perda, transpar\u00eancia e at\u00e9 mesmo anima\u00e7\u00e3o.<\/p>\n<p>Para us\u00e1-lo, basta criar uma c\u00f3pia das imagens no WebP e fornec\u00ea-las aos navegadores que a suportam.<\/p>\n<p>Para PNG, existem muitos utilit\u00e1rios de otimiza\u00e7\u00e3o que podem ser usados para reduzir o tamanho, por exemplo o OptiPNG, PNGout, <a href=\"https:\/\/ewww.io\/plans\/ref\/156\/\">EWWW Image Optimizer<\/a> e outros. Al\u00e9m disso, a otimiza\u00e7\u00e3o interna da compacta\u00e7\u00e3o de dados pode ser feita usando o zopfli PNG. A ideia principal desse software \u00e9 selecionar os par\u00e2metros de compacta\u00e7\u00e3o ideais, removendo dados desnecess\u00e1rios de arquivos. Voc\u00ea precisa ter cuidado aqui: alguns utilit\u00e1rios tem um modo com perda de qualidade, o que pode n\u00e3o ser adequado (se voc\u00ea espera que a mesma imagem seja produzida).<\/p>\n<p>A otimiza\u00e7\u00e3o do JPEG tamb\u00e9m \u00e9 dividida em dois tipos: lossy e lossless. Em geral, voc\u00ea pode recomendar o pacote Mozilla JPEG, especialmente projetado para melhor compacta\u00e7\u00e3o neste formato. Para otimiza\u00e7\u00e3o sem perdas, voc\u00ea pode usar o jpegtran , com perdas &#8211; cjpeg.<\/p>\n<h3>Cabe\u00e7alhos de Cache<\/h3>\n<p>Esse \u00e9 o m\u00e9todo mais simples de otimiza\u00e7\u00e3o do cliente. Seu significado est\u00e1 no cache do navegador de recursos raros: imagens, arquivo CSS e JS, fontes, \u00e0s vezes at\u00e9 mesmo o pr\u00f3prio documento HTML. Como resultado, cada recurso \u00e9 solicitado ao servidor apenas uma vez.<\/p>\n<p>Se voc\u00ea estiver usando o Nginx, basta adicionar a diretiva:<\/p>\n<div class=\"code\"><code>add_header Cache-Control \"max-age=31536000, immutable\";<\/code><\/div>\n<p>De agora em diante, O navegador tem o direito de armazenar recursos por at\u00e9 um ano (o que \u00e9 quase sempre). O novo par\u00e2metro \u201cimut\u00e1vel\u201c indica que o recurso n\u00e3o ser\u00e1 alterado.<\/p>\n<p>Naturalmente, surge a pergunta: e se precisarmos alterar o recurso de armazenamento em cache? A resposta \u00e9 simples: altere o seu endere\u00e7o, URL. Por exemplo, voc\u00ea pode adicionar uma vers\u00e3o a um nome de arquivo. Para documentos HTML, esse m\u00e9todo tamb\u00e9m aplic\u00e1vel, mas, como regra, um per\u00edodo mais curto de armazenamento em cache \u00e9 usado (por exemplo, um minuto uma hora).<\/p>\n<h3>Compacta\u00e7\u00e3o de dados<\/h3>\n<p>Uma pr\u00e1tica compuls\u00f3ria \u00e9 a compacta\u00e7\u00e3o de qualquer dado de texto quando transferido do servidor para o navegador. A maioria dos servidores da web tem uma implementa\u00e7\u00e3o de compacta\u00e7\u00e3o gzip-compression de respostas.<\/p>\n<p>No entanto, a ativa\u00e7\u00e3o de compacta\u00e7\u00e3o simples n\u00e3o \u00e9 suficiente.<\/p>\n<p>Primeiro, a taxa de compress\u00e3o \u00e9 ajust\u00e1vel e deve ficar pr\u00f3xima do m\u00e1ximo.<\/p>\n<p>Em segundo lugar, voc\u00ea deve usar compacta\u00e7\u00e3o est\u00e1tica, ou seja pr\u00e9-compactar arquivos e colocar em disco. Em seguida, o servidor da web deve procurar a vers\u00e3o compacta e enviar imediatamente. Em terceiro lugar voc\u00ea pode usar algoritmos de compress\u00e3o mais eficientes: zopfli (compat\u00edvel com gzip) e brotli (novo algoritmo de compress\u00e3o). O Brotli s\u00f3 funciona com HTTPS. Como esses algoritmos (especialmente zopfli) s\u00e3o caros para serem compactados, sempre os usamos na vers\u00e3o est\u00e1tica.<\/p>\n<p>Para maximizar o efeito da compress\u00e3o dos arquivos, o processo de minifica\u00e7\u00e3o \u00e9 aplicado preliminarmente: limpeza de tradu\u00e7\u00f5es desnecess\u00e1rias de strings, espa\u00e7os e outros caracteres desnecess\u00e1rios. Este processo \u00e9 espec\u00edfico para cada formato. Al\u00e9m disso, voc\u00ea deve cuidar de compactar outros dados do texto no site.<\/p>\n<h2 id=\"usingcdn\">Usando o CDN<\/h2>\n<p>Aplica\u00e7\u00e3o de CDN (rede de distribui\u00e7\u00e3o de conte\u00fado) para acelera\u00e7\u00e3o do website \u00e9 uma medida muito divulgada, com muito marketing em torno das ess\u00eancia da tecnologia.<\/p>\n<h3>Teoria: Por que<\/h3>\n<p>Inicialmente, os CDNs foram projetados para descarregar os canais da internet de sites de m\u00eddia de transmiss\u00e3o. Por exemplo, ao assistir a um v\u00eddeo ao vivo, milhares de espectadores criam uma carregamento muito pesado na banda larga do servidor. Al\u00e9m disso, garantir a qualidade ininterrupta da comunica\u00e7\u00e3o com a remo\u00e7\u00e3o de grandes clientes e servidores \u00e9 extremamente dif\u00edcil (devido atrasos e instabilidade na rede).<\/p>\n<p>A solu\u00e7\u00e3o para esse problema foi criar um CDN, ou seja, uma rede distribu\u00edda a qual os clientes (por exemplo, visualizadores) estavam conectados e os hosts dessa rede j\u00e1 estavam no servidor (origem). Ao mesmo tempo, o n\u00famero de conex\u00f5es com servidor foi reduzido para um (alguns) e o n\u00famero de conex\u00f5es para o CDN pode atingir milh\u00f5es devido armazenamento em cache de conte\u00fado pela rede.<\/p>\n<p>Hoje, a maioria dos CDNs se posiciona como meio de acelerar os sites, principalmente reduzindo a dist\u00e2ncia do conte\u00fado at\u00e9 o cliente (o visitantes do site).<\/p>\n<h3>Efeitos poss\u00edveis<\/h3>\n<p>Como posso acelerar um site usando o CDN?<\/p>\n<p>Sim, de fato, o usu\u00e1rio se conecta, via de regra, ao servidor de rede pr\u00f3ximo (por tempo de acesso) e obt\u00e9m um processo r\u00e1pido ao estabelecer conex\u00f5es TCP e TLS. Al\u00e9m disso, se o conte\u00fado estiver no servidor CDN, o usu\u00e1rio poder\u00e1 receb\u00ea-lo rapidamente. Assim, a carga em nosso pr\u00f3prio servidor \u00e9 reduzida.<\/p>\n<p>Em segundo lugar, o CDN n\u00e3o pode apenas distribuir conte\u00fado sem altera\u00e7\u00f5es, mas otimiz\u00e1-los e fornec\u00ea-los de forma mais compacta: compactar imagens, aplicar compacta\u00e7\u00e3o ao teste etc. Devido essas otimiza\u00e7\u00f5es, voc\u00ea pode obter um tempo de download mais curto.<\/p>\n<h3>Desvantagens de Usar o CDN<\/h3>\n<p>As desvantagens, como de costume, acontecem como as vantagens: o objeto pode n\u00e3o estar no cache do n\u00f3 CDN. Por exemplo, ainda n\u00e3o foi solicitado ou n\u00e3o pode ser armazenado em cache (documento HTML). Neste caso, temos atrasos adicionais entre o n\u00f3 CDN e o nosso servidor.<\/p>\n<p>Apesar do fato de que CDNs n\u00e3o s\u00e3o projetadas para acelerar o acesso ao site, h\u00e1 situa\u00e7\u00f5es em que a rota de rede ser\u00e1 menos ideal do que sem o CDN. Especialmente importante para o CDNs globais, para os quais a R\u00fassia n\u00e3o \u00e9 um mercado priorit\u00e1rio.<\/p>\n<p>Finalmente, as redes de entrega de conte\u00fado s\u00e3o sistemas muito complexos, onde falhas, instabilidades e outros problemas tamb\u00e9m s\u00e3o poss\u00edveis em todos os lugares. Usando CDN, adicionamos mais um n\u00edvel de complexidade.<\/p>\n<h2 id=\"conclusions\">N\u00f3s Consertamos o Resultado<\/h2>\n<p>Digamos que voc\u00ea tenha conseguido uma boa velocidade no site. Usu\u00e1rios e propriet\u00e1rio do recurso est\u00e3o felizes. Sobre isso, voc\u00ea pode esquecer a quest\u00e3o da velocidade? Claro que n\u00e3o. Para alcan\u00e7ar a qualidade constante do trabalho do site, voc\u00ea deve manter constantemente o site monitorado.<\/p>\n<h3>Suporte de acelera\u00e7\u00e3o<\/h3>\n<p>Qualquer projeto da web ao vivo \u00e9 atualizado regularmente, e ocorrem altera\u00e7\u00f5es em modelos comuns (temas de design, interfaces) e conte\u00fado. Al\u00e9m disso, o c\u00f3digo do programa (cliente e servidor) est\u00e1 mudando ativamente.<\/p>\n<p>Cada altera\u00e7\u00e3o pode afetar a velocidade do site. Para monitorar esse impacto, voc\u00ea precisa implementar um sistema de monitoramento de velocidade de site sint\u00e9tico no est\u00e1gio de desenvolvimento. Assim, os problemas de velocidade podem ser interceptados antes que os usu\u00e1rios os notem.<\/p>\n<p>Para otimizar o conte\u00fado de entrada, \u00e9 necess\u00e1rio integrar os procedimentos de otimiza\u00e7\u00e3o do sistema de gerenciamento de conte\u00fado. Primeiro de tudo, isso diz respeito ao processamento de imagens.<\/p>\n<p>Acelera\u00e7\u00e3o de sites \u00e9 uma \u00e1rea muito din\u00e2mica: novos padr\u00f5es est\u00e3o surgindo, seu suporte por navegadores est\u00e1 mudando. Portanto, \u00e9 importante auditar regularmente a tecnologia do projeto, processos e softwares utilizados.<\/p>\n<h3>Monitoramento da velocidade real do usu\u00e1rio<\/h3>\n<p>Testes artificiais em condi\u00e7\u00f5es laboratoriais ideais s\u00e3o muito \u00fateis para avaliar mudan\u00e7as no c\u00f3digo do sistema, mas isso n\u00e3o \u00e9 suficiente. No final, queremos que o site funcione rapidamente para usu\u00e1rios reais. Para coletar esses dados, h\u00e1 um monitoramento da velocidade no lado do usu\u00e1rio (RUM &#8211; monitoramento real do usu\u00e1rio). Para organizar o RUM, basta conectar um dos sistemas de an\u00e1lise da web (Yandex.Metrics, Google Analytics) e ver relat\u00f3rios sobre o tempo de download do site. Para dados mais detalhados e precisos, voc\u00ea pode usar servi\u00e7os especializados de monitoramento de velocidade.<\/p>\n<h3>Conclus\u00f5es<\/h3>\n<p>O tema da velocidade do site \u00e9 extenso e afeta muitos aspectos do desenvolvimento e suporte de um aplicativo da web: do c\u00f3digo do servidor ao conte\u00fado. Isso significa que obter bons resultados \u00e9 imposs\u00edvel sem envolver a equipe de desenvolvimento.<\/p>\n<p>O mais importante: lembre-se dos usu\u00e1rios, leve em considera\u00e7\u00e3o as v\u00e1rias condi\u00e7\u00f5es de uso do site.<\/p>\n<p>Acelera\u00e7\u00e3o do site \u00e9 um processo que ocorre com intensidade diferente ao longo do ciclo de vida de um projeto.<\/p>","protected":false},"excerpt":{"rendered":"Todo mundo sabe que um site lento \u00e9 ruim. Por causa da lentid\u00e3o, surgem s\u00e9rios problemas na solu\u00e7\u00e3o das tarefas cotidianas. \u00c0s vezes \u00e9 somente uma situa\u00e7\u00e3o chata. Frequentemente, a lentid\u00e3o do site \u00e9 problem\u00e1tica, principalmente quando temos o servi\u00e7o negado &#8211; as pessoas n\u00e3o esperam e acabam saindo. Isso \u00e9 relevante para casos de&#8230;","protected":false},"author":10380808,"featured_media":3348,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"pages-templates\/pages-minitools-3.php","meta":[],"categories":[60],"tags":[],"_links":{"self":[{"href":"https:\/\/test.sitechecker.pro\/pt\/wp-json\/wp\/v2\/pages\/1063"}],"collection":[{"href":"https:\/\/test.sitechecker.pro\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/test.sitechecker.pro\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/test.sitechecker.pro\/pt\/wp-json\/wp\/v2\/users\/10380808"}],"replies":[{"embeddable":true,"href":"https:\/\/test.sitechecker.pro\/pt\/wp-json\/wp\/v2\/comments?post=1063"}],"version-history":[{"count":0,"href":"https:\/\/test.sitechecker.pro\/pt\/wp-json\/wp\/v2\/pages\/1063\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/test.sitechecker.pro\/pt\/wp-json\/wp\/v2\/media\/3348"}],"wp:attachment":[{"href":"https:\/\/test.sitechecker.pro\/pt\/wp-json\/wp\/v2\/media?parent=1063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/test.sitechecker.pro\/pt\/wp-json\/wp\/v2\/categories?post=1063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/test.sitechecker.pro\/pt\/wp-json\/wp\/v2\/tags?post=1063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}