{"id":16870,"date":"2026-01-16T15:07:32","date_gmt":"2026-01-16T14:07:32","guid":{"rendered":"https:\/\/webhosting.de\/wordpress-http-requests-reduzieren-speed-serverboost\/"},"modified":"2026-01-16T15:07:32","modified_gmt":"2026-01-16T14:07:32","slug":"wordpress-pedidos-http-reduzir-velocidade-serverboost","status":"publish","type":"post","link":"https:\/\/webhosting.de\/pt\/wordpress-http-requests-reduzieren-speed-serverboost\/","title":{"rendered":"Reduzir os pedidos HTTP do WordPress: Como otimizar a velocidade do seu s\u00edtio Web"},"content":{"rendered":"<p>Os pedidos HTTP do WordPress determinam a rapidez com que as suas p\u00e1ginas aparecem, porque cada pedido de CSS, JS, imagens ou tipos de letra demora algum tempo. Vou mostrar-lhe como reduzir o n\u00famero de pedidos, evitar o bloqueio de renderiza\u00e7\u00e3o e otimizar a <strong>website<\/strong> imediatamente percet\u00edvel <strong>acelerar<\/strong>.<\/p>\n\n<h2>Pontos centrais<\/h2>\n\n<p>Os seguintes pontos focais conduzir\u00e3o rapidamente a um menor n\u00famero de pedidos de informa\u00e7\u00e3o e a uma melhor <strong>LCP<\/strong> com estabilidade <strong>Fun\u00e7\u00e3o<\/strong>:<\/p>\n<ul>\n  <li><strong>Armazenamento em cache<\/strong> utiliza\u00e7\u00e3o: A cache do navegador, da p\u00e1gina e do objeto reduz significativamente os pedidos repetidos.<\/li>\n  <li><strong>CSS\/JS<\/strong> otimizar: Reduzir, agrupar, integrar CSS essenciais, evitar bloqueios de processamento.<\/li>\n  <li><strong>fotos<\/strong> modernizar: WebP\/AVIF, carregamento lento, dimens\u00f5es fixas, sem deslizadores de her\u00f3is.<\/li>\n  <li><strong>Scripts<\/strong> atraso: adiar\/atrasar para an\u00e1lises, pix\u00e9is, recursos externos.<\/li>\n  <li><strong>CDN\/Hosting<\/strong> escolher: HTTP\/3, caching de ponta, TTFB curto para utilizadores globais.<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/wordpress-speed-optimierung-8192.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>O que s\u00e3o pedidos HTTP no WordPress?<\/h2>\n\n<p>Cada recurso da p\u00e1gina gera o seu pr\u00f3prio pedido, ou seja, ficheiros CSS, JavaScript, imagens, \u00edcones e <strong>Fontes<\/strong>. Os temas e plugins modernos adicionam rapidamente muitos ficheiros pequenos, o que aumenta o n\u00famero de <strong>Pedidos de informa\u00e7\u00e3o<\/strong> unidades. Cada pedido envolve a pesquisa de DNS, o aperto de m\u00e3o TCP e a transfer\u00eancia, e \u00e9 precisamente esta sobrecarga que aumenta. Sem otimiza\u00e7\u00e3o, vejo frequentemente mais de 70 pedidos por p\u00e1gina, o que atrasa visivelmente a visualiza\u00e7\u00e3o. Os valores-alvo s\u00e3o claramente inferiores a estes: menos de 50 \u00e9 bom, menos de 25 \u00e9 excelente para a velocidade m\u00e1xima. Uma pequena redu\u00e7\u00e3o por tipo de p\u00e1gina tem um grande impacto porque os modelos, cabe\u00e7alhos e rodap\u00e9s s\u00e3o carregados em todo o lado.<\/p>\n\n<h2>Porque \u00e9 que cada pedido de informa\u00e7\u00e3o conta<\/h2>\n\n<p>Qualquer ficheiro adicional pode bloquear a renderiza\u00e7\u00e3o, especialmente os carregados de forma s\u00edncrona <strong>CSS<\/strong> e <strong>JavaScript<\/strong>. Se estes recursos continuarem a bloquear o processamento na parte superior da p\u00e1gina, os utilizadores esperam pelos espa\u00e7os em branco e saltam. Isto tem um impacto nos Core Web Vitals: O LCP atrasa-se, o TBT cresce e o CLS aumenta sem medidas fixas para imagens ou an\u00fancios. Por isso, verifico sistematicamente quais os recursos que s\u00e3o realmente cr\u00edticos e quais os que posso atrasar. Se n\u00e3o tiver a certeza da raz\u00e3o pela qual os pedidos est\u00e3o a abrandar apesar dos pequenos tamanhos de ficheiro, leia o meu guia <a href=\"https:\/\/webhosting.de\/pt\/porque-e-que-os-pedidos-http-bloqueiam-apesar-da-rede-de-analise-de-recursos\/\">Porqu\u00ea bloquear pedidos HTTP<\/a> para explica\u00e7\u00f5es pr\u00e1ticas.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/wordpressspeedmtg4821.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>In\u00edcio r\u00e1pido: medidas com maior efeito de alavanca<\/h2>\n\n<p>Come\u00e7o com o caching, a minifica\u00e7\u00e3o e o lazy loading porque estes passos produzem grandes efeitos e podem ser implementados rapidamente. <strong>s\u00e3o<\/strong>. Um bom plugin de cache cria p\u00e1ginas HTML est\u00e1ticas e guarda as <strong>Base de dados<\/strong>. A minimiza\u00e7\u00e3o remove espa\u00e7os e coment\u00e1rios, combina ficheiros e reduz significativamente as transfer\u00eancias. O Lazy Loading move as imagens fora do ecr\u00e3 para a parte de tr\u00e1s, o que ajuda o First Paint e o LCP. Com apenas alguns cliques, \u00e9 poss\u00edvel obter melhorias diretas sem alterar o tema.<\/p>\n\n<table>\n  <thead>\n    <tr>\n      <th>Medida de otimiza\u00e7\u00e3o<\/th>\n      <th>Pedidos de redu\u00e7\u00e3o<\/th>\n      <th>Ferramentas\/Plugins<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Armazenamento em cache (navegador, p\u00e1gina, objeto)<\/td>\n      <td>50-80% para visitas de retorno<\/td>\n      <td>WP Rocket, LiteSpeed Cache, W3TC<\/td>\n    <\/tr>\n    <tr>\n      <td>Reduzir e combinar<\/td>\n      <td>20-50% menos transfer\u00eancias<\/td>\n      <td>Otimiza\u00e7\u00e3o autom\u00e1tica, Perfmatters<\/td>\n    <\/tr>\n    <tr>\n      <td>Imagens de carregamento lento<\/td>\n      <td>30-60% inicial<\/td>\n      <td>WP Rocket, fun\u00e7\u00e3o principal<\/td>\n    <\/tr>\n    <tr>\n      <td>CDN com HTTP\/2\/3<\/td>\n      <td>para 40% mais eficiente<\/td>\n      <td>Cloudflare, QUIC.cloud<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<h2>Utiliza\u00e7\u00e3o inteligente do caching<\/h2>\n\n<p>Em primeiro lugar, ativo o cache do navegador para que os utilizadores que regressam possam guardar activos localmente a partir do <strong>Cache<\/strong> e nunca mais do <strong>Servidor<\/strong> carregar. O armazenamento em cache de p\u00e1ginas gera HTML est\u00e1tico para os visitantes e poupa a execu\u00e7\u00e3o de PHP e as consultas \u00e0 base de dados. Com o armazenamento em cache de objectos (por exemplo, Redis), as consultas frequentes permanecem na mem\u00f3ria, o que reduz a carga nas p\u00e1ginas de administra\u00e7\u00e3o e da loja. Al\u00e9m disso, o Gzip\/Brotli reduz a transfer\u00eancia, o que reduz o tempo de transfer\u00eancia e o volume de dados. Em seguida, verifico os tempos de expira\u00e7\u00e3o (controlo da cache, expira\u00e7\u00f5es) e se as cadeias de consulta excluem desnecessariamente os scripts de marketing da cache.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/wordpress-speed-optimierung-6342.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>CSS e JavaScript: Reduzir, combinar, carregar<\/h2>\n\n<p>Muitos ficheiros pequenos significam muitos <strong>Pedidos<\/strong>, por isso, resumo os estilos e os gui\u00f5es o menos poss\u00edvel. <strong>Pacotes<\/strong> juntos. A minimiza\u00e7\u00e3o reduz o tamanho, mas o mais importante \u00e9 ter menos ficheiros para o caminho cr\u00edtico. Incluo CSS cr\u00edticos em linha para que o conte\u00fado acima da dobra seja estilizado imediatamente. Carrego os estilos n\u00e3o cr\u00edticos de forma ass\u00edncrona ou atrav\u00e9s do atributo media. Defino o JavaScript para adiar ou atrasar, mas testo a sequ\u00eancia para que as depend\u00eancias n\u00e3o se quebrem.<\/p>\n\n<h2>Imagens e suportes: grandes poupan\u00e7as<\/h2>\n\n<p>As imagens causam frequentemente a maior percentagem de <strong>Pedidos de informa\u00e7\u00e3o<\/strong>, por isso, converto para WebP ou AVIF e defino a <strong>Dimens\u00f5es<\/strong>. O carregamento lento atrasa as imagens fora do ecr\u00e3, mas eu pr\u00e9-carrego a imagem do her\u00f3i especificamente para um LCP r\u00e1pido. O srcset responsivo garante que os dispositivos m\u00f3veis carregam pequenas variantes. Evito os cursores no her\u00f3i porque causam muitos ficheiros e repinturas. Tamb\u00e9m utilizo formatos espec\u00edficos modernos para reduzir ao m\u00ednimo os artefactos.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/wordpress_speed_optimierung_3829.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Tipos de letra, fornecedores terceiros e scripts externos<\/h2>\n\n<p>Carrego fontes externas localmente para ter controlo total sobre <strong>Armazenamento em cache<\/strong> e <strong>Pr\u00e9-carga<\/strong> t\u00eam. Combino os estilos de letra com modera\u00e7\u00e3o, sendo muitas vezes suficientes os estilos regular e negrito com tipos de letra vari\u00e1veis. Para an\u00e1lises, gestores de tags e pix\u00e9is, defino atrasos at\u00e9 depois da primeira intera\u00e7\u00e3o ou carrego-os apenas depois do evento onload. Isto mant\u00e9m o caminho cr\u00edtico livre de ficheiros desnecess\u00e1rios. Tamb\u00e9m verifico os widgets das redes sociais e substituo-os por pr\u00e9-visualiza\u00e7\u00f5es est\u00e1ticas que recarrego ao clicar.<\/p>\n\n<h2>Escolher sabiamente a CDN e o alojamento<\/h2>\n\n<p>Uma CDN aproxima os activos dos utilizadores e reduz a lat\u00eancia e o n\u00famero de <strong>Viagens de ida e volta<\/strong> percet\u00edvel no primeiro <strong>Apelo<\/strong>. O HTTP\/2\/3 permite a multiplexagem, a defini\u00e7\u00e3o de prioridades e a acelera\u00e7\u00e3o dos \"handshakes\" TLS. O armazenamento em cache de HTML no limite torna os grupos-alvo internacionais, em particular, mais r\u00e1pidos. No servidor, presto aten\u00e7\u00e3o ao armazenamento NVMe, \u00e0s vers\u00f5es actuais do PHP e ao TTFB curto. Os bons hosters oferecem ferramentas como o Brotli, Early Hints e QUIC, que utilizo ativamente.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/wordpress-requests-speed4093.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Casos especiais: REST-API e Admin-Ajax<\/h2>\n\n<p>Muitas instala\u00e7\u00f5es geram pedidos em segundo plano atrav\u00e9s do <strong>API REST<\/strong> ou admin-ajax.php, por exemplo, para formul\u00e1rios, pesquisa ou din\u00e2mica <strong>Widgets<\/strong>. Identifico estas chamadas no separador de rede e verifico se os intervalos de sondagem podem ser reduzidos ou se os pedidos podem ser resumidos. Sempre que poss\u00edvel, coloco em cache as respostas da API no lado do servidor e defino limites de taxa. Para optimiza\u00e7\u00f5es mais aprofundadas, consulte o meu guia para <a href=\"https:\/\/webhosting.de\/pt\/wordpress-rest-api-otimizacao-do-desempenho-perfboost\/\">Desempenho da API REST<\/a>, que mostra trav\u00f5es e solu\u00e7\u00f5es t\u00edpicas. \u00c9 assim que reduzo as consultas em segundo plano repetidas sem perder fun\u00e7\u00f5es.<\/p>\n\n<h2>Medi\u00e7\u00e3o e controlo da velocidade sustentada<\/h2>\n\n<p>Testo todas as altera\u00e7\u00f5es com o PageSpeed Insights, o Lighthouse e o GTmetrix para obter a verdadeira <strong>Efeito<\/strong> ver e n\u00e3o <strong>Regress\u00f5es<\/strong> captura. Objectivos: menos de 50 pedidos por p\u00e1gina, LCP inferior a 2,5 s, TBT inferior a 200 ms e CLS inferior a 0,1. Tamb\u00e9m olho para o gr\u00e1fico em cascata para visualizar os recursos de bloqueio, as pesquisas no DNS e as filas de espera. Lembre-se: o n\u00famero de pedidos conta muitas vezes mais do que o tamanho puro do ficheiro; \u00e9 exatamente isso que explico no artigo sobre o <a href=\"https:\/\/webhosting.de\/pt\/pedidos-http-em-vez-de-tamanho-do-ficheiro-foco-nos-pedidos-impulsionar\/\">Foco nos pedidos de informa\u00e7\u00e3o<\/a>. A monitoriza\u00e7\u00e3o cont\u00ednua mant\u00e9m as optimiza\u00e7\u00f5es est\u00e1veis e mensur\u00e1veis.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/01\/wordpress-speed-optimieren-6172.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Avan\u00e7ado: HTTP\/2\/3, CSS n\u00e3o utilizado e manuten\u00e7\u00e3o de BD<\/h2>\n\n<p>Com o HTTP\/2\/3, beneficio de multiplexagem, prioriza\u00e7\u00e3o e maior rapidez <strong>Apertos de m\u00e3o<\/strong>, o que significa que os tempos de espera para as cargas paralelas <strong>Arquivos<\/strong> abreviado. Removo as CSS n\u00e3o utilizadas para tornar as folhas de estilo mais pequenas e reduzir os pedidos. No caso de layouts recorrentes, vale a pena usar CSS cr\u00edticas por modelo e n\u00e3o por p\u00e1gina. Na base de dados, elimino revis\u00f5es, transientes expirados e cad\u00e1veres do cron para que o back end e as fun\u00e7\u00f5es din\u00e2micas permane\u00e7am r\u00e1pidos. Estes passos aceleram visivelmente o processo, especialmente em grandes projectos com muitos plug-ins.<\/p>\n\n<h2>Higiene de plugins e temas<\/h2>\n\n<p>Verifico regularmente quais os plugins que duplicam fun\u00e7\u00f5es ou que raramente s\u00e3o utilizados. <strong>tornar-se<\/strong>, e substituir as embalagens pesadas por outras mais leves <strong>Alternativas<\/strong>. Os temas Lean, como o Astra ou o GeneratePress, geram muito poucos pedidos e podem ser optimizados de forma limpa. Dentro do tema, desativo os m\u00f3dulos de que n\u00e3o preciso, como cole\u00e7\u00f5es de \u00edcones ou sliders. Tamb\u00e9m configuro os construtores de p\u00e1ginas de uma forma minimalista para que s\u00f3 carreguem os widgets que s\u00e3o utilizados. Os sinalizadores de funcionalidades e as filas modulares ajudam a evitar o desperd\u00edcio de ficheiros.<\/p>\n\n<h2>Utiliza\u00e7\u00e3o orientada dos recursos e defini\u00e7\u00e3o de prioridades<\/h2>\n\n<p>Para al\u00e9m da coloca\u00e7\u00e3o em cache e do agrupamento <strong>Dicas de recursos<\/strong> os toques finais decisivos. S\u00f3 utilizo o Preload para recursos realmente cr\u00edticos: a imagem LCP, o CSS principal (se n\u00e3o estiver em linha como CSS cr\u00edtico) e o <strong>Webfont<\/strong>-file. Demasiados pr\u00e9-carregamentos bloqueiam a defini\u00e7\u00e3o de prioridades e podem ter o efeito contr\u00e1rio. Para fontes eu defino <em>exibi\u00e7\u00e3o de fonte<\/em> (swap\/opcional) para evitar FOIT e criar um pr\u00e9-carregamento com a <em>como<\/em>-para que o navegador n\u00e3o carregue o ficheiro duas vezes.<\/p>\n\n<p><strong>Pr\u00e9-busca de DNS<\/strong> e <strong>Pr\u00e9-conex\u00e3o<\/strong> Utilizo-o com modera\u00e7\u00e3o para fornecedores terceiros obrigat\u00f3rios (por exemplo, fornecedores de pagamentos no checkout). O Preconnect poupa-me o trabalho de <strong>Aperto de m\u00e3o TLS<\/strong>, No entanto, isto s\u00f3 faz sentido se o recurso for definitivamente necess\u00e1rio. <strong>Pr\u00e9-busca<\/strong> Utilizo-o para recursos que provavelmente ser\u00e3o necess\u00e1rios na etapa seguinte (por exemplo, a p\u00e1gina de pagina\u00e7\u00e3o seguinte). Em liga\u00e7\u00e3o com <strong>Dicas iniciais<\/strong> o servidor pode sinalizar os pr\u00e9-carregamentos mais cedo - isto reduz o tempo para o primeiro byte enquanto a liga\u00e7\u00e3o est\u00e1 a ser estabelecida.<\/p>\n\n<ul>\n  <li>Pr\u00e9-carregamento: Apenas para a imagem LCP, CSS principal, ficheiro de tipo de letra cr\u00edtico.<\/li>\n  <li>Preconnect: Para dom\u00ednios de terceiros seguros e inevit\u00e1veis.<\/li>\n  <li>Pr\u00e9-buscar: Para recursos\/p\u00e1ginas que s\u00e3o potencialmente necess\u00e1rios em breve.<\/li>\n  <li>DNS prefetch: Para um trabalho preparat\u00f3rio baixo mas favor\u00e1vel com anfitri\u00f5es externos.<\/li>\n<\/ul>\n\n<p>Sempre que poss\u00edvel, utilizo tamb\u00e9m <strong>Sugest\u00f5es de prioridade<\/strong> (fetchpriority=\u201chigh\u201c para a imagem LCP), para que o browser compreenda o que tem realmente de vir primeiro. Isto reduz o tempo de carregamento e <strong>Sequ\u00eancia do pedido<\/strong> controlo mais preciso.<\/p>\n\n<h2>Recursos do WordPress: carregar apenas o que \u00e9 necess\u00e1rio<\/h2>\n\n<p>Muitas p\u00e1ginas carregam estilos e scripts globalmente, embora s\u00f3 sejam necess\u00e1rios em alguns modelos. Identifico esses candidatos e carrego-os <strong>condicional<\/strong> - Por exemplo, os scripts de formul\u00e1rio apenas nas p\u00e1ginas de contacto, o CSS dos cursores apenas nos locais onde existem cursores e os activos do WooCommerce apenas nas p\u00e1ginas da loja, do produto e de checkout.<\/p>\n\n<p>Um trabalho de limpeza particularmente gratificante:<\/p>\n<ul>\n  <li><strong>Emoji<\/strong>-Desativar scripts e estilos no frontend, uma vez que os sistemas modernos t\u00eam emojis nativos.<\/li>\n  <li><strong>oEmbed<\/strong>funciona se nenhum conte\u00fado de terceiros estiver incorporado.<\/li>\n  <li><strong>Dashicons<\/strong> no frontend se o tema n\u00e3o os exigir.<\/li>\n  <li><strong>Migra\u00e7\u00e3o jQuery<\/strong> se n\u00e3o houver scripts antigos pendurados.<\/li>\n  <li>Gutenberg <strong>biblioteca de blocos<\/strong> Carregue CSS apenas se os estilos de bloco forem efetivamente utilizados no frontend.<\/li>\n<\/ul>\n\n<p>Para uma gest\u00e3o de activos mais fina, confio em filas modulares (por modelo\/bloco) ou utilizo um plugin de otimiza\u00e7\u00e3o que pode desativar recursos por p\u00e1gina. Isto reduz o <strong>Lista de pedidos<\/strong> rapidamente de imensos ficheiros para um punhado de bens realmente necess\u00e1rios.<\/p>\n\n<h2>WooCommerce, formul\u00e1rios e outras \u00e1reas din\u00e2micas<\/h2>\n\n<p>As lojas t\u00eam os seus pr\u00f3prios casos especiais: A conhecida <strong>fragmentos de carrinho<\/strong>-script pode causar muitos pedidos repetidos via admin-ajax.php. S\u00f3 carrego esta fun\u00e7\u00e3o em \u00e1reas onde faz sentido (p\u00e1ginas de produtos, de cestos de compras, de checkout) e desativo-a em blogues ou p\u00e1ginas de destino. Coloco os mini-carrinhos em cache sempre que poss\u00edvel e s\u00f3 os actualizo quando h\u00e1 uma verdadeira intera\u00e7\u00e3o. Para imagens de produtos, utilizo sistematicamente <strong>conjunto de fontes<\/strong> e pr\u00e9-carregar a primeira imagem vis\u00edvel.<\/p>\n\n<p>Para os formul\u00e1rios, reduzo <strong>Sondagem<\/strong>-intervalos, envio valida\u00e7\u00f5es em pacotes e utilizo debouncing para que a entrada n\u00e3o seja transmitida com cada batida de tecla. Sempre que poss\u00edvel, realizo pesquisas e filtros atrav\u00e9s de pontos de extremidade em cache (por exemplo, REST) para que pedidos id\u00eanticos repetidos sejam servidos a partir da cache. Isto reduz a carga do servidor, o n\u00famero de <strong>Pedidos HTTP<\/strong> e melhora a perce\u00e7\u00e3o da velocidade.<\/p>\n\n<h2>Aperfei\u00e7oar ainda mais as imagens, iframes e media<\/h2>\n\n<p>Para a imagem LCP, utilizo <strong>fetchpriority=\"high\"<\/strong> e definir uma pr\u00e9-carga exacta. Ao mesmo tempo, presto aten\u00e7\u00e3o a <strong>largura<\/strong>\/<strong>altura<\/strong> ou um CSS<em>rela\u00e7\u00e3o de aspeto<\/em>, para que n\u00e3o haja mudan\u00e7a de layout. Forne\u00e7o imagens com <em>descodifica\u00e7\u00e3o=\"ass\u00edncrono\"<\/em>, para n\u00e3o bloquear a renderiza\u00e7\u00e3o, e definir <em>pregui\u00e7oso<\/em> apenas onde faz sentido: O <strong>primeiro<\/strong> A imagem n\u00e3o deve ser pregui\u00e7osa, todos os outros devem ser.<\/p>\n\n<p>Substituo iframes externos (YouTube, Maps, Social) por <strong>pr\u00e9-visualiza\u00e7\u00f5es de luz<\/strong>. Em vez de carregar imediatamente todo o widget, mostro uma imagem de pr\u00e9-visualiza\u00e7\u00e3o est\u00e1tica e s\u00f3 carrego a incorpora\u00e7\u00e3o real depois de clicar. Desta forma, elimino in\u00fameros pedidos iniciais que s\u00e3o desnecess\u00e1rios para a primeira intera\u00e7\u00e3o. Para os meus pr\u00f3prios v\u00eddeos, utilizo imagens de cartaz, codecs modernos e streaming adaptativo para que nenhum ficheiro grande bloqueie a sincroniza\u00e7\u00e3o.<\/p>\n\n<h2>Limpar cabe\u00e7alhos de cache e elimina\u00e7\u00e3o de cache<\/h2>\n\n<p>Muitos pedidos surgem porque as caches do browser ou da CDN n\u00e3o funcionam da melhor forma. Defino para activos est\u00e1ticos (CSS, JS, tipos de letra, imagens) <strong>TTLs longos<\/strong> com <em>Controlo da cache<\/em> e definir a bandeira <em>imut\u00e1vel<\/em>. Para lan\u00e7ar actualiza\u00e7\u00f5es de forma segura, utilizo <strong>Versionamento<\/strong> em nomes de ficheiros ou no WordPress<em>ver<\/em>-par\u00e2metros. Importante: O CDN deve armazenar em cache as strings de consulta corretamente, caso contr\u00e1rio, voc\u00ea perder\u00e1 <em>?ver=<\/em>-Os par\u00e2metros perdem o seu efeito e s\u00e3o recarregados desnecessariamente.<\/p>\n\n<p><em>ETag<\/em> e <em>\u00daltima modifica\u00e7\u00e3o<\/em> para que as revalida\u00e7\u00f5es sejam efectuadas rapidamente e as respostas \"se-nenhuma-correspond\u00eancia\/se-modificado-desde-que\" ajudam a poupar o volume de dados. Com <em>obsoleto-enquanto-revalidado<\/em> o s\u00edtio permanece reativo enquanto as actualiza\u00e7\u00f5es s\u00e3o efectuadas em segundo plano. Em conjunto, isto resulta em menos viagens de ida e volta e actualiza\u00e7\u00f5es programadas de forma limpa sem caos na cache.<\/p>\n\n<h2>Evitar erros: Quando o empacotamento e a minifica\u00e7\u00e3o s\u00e3o demasiado bons<\/h2>\n\n<p>Em <strong>HTTP\/2\/3<\/strong> N\u00e3o tenho de espremer tudo num \u00fanico ficheiro. Os pacotes demasiado grandes tornam <strong>Acessos ao cache<\/strong>, porque cada altera\u00e7\u00e3o invalida o bloco inteiro. Eu encontro um meio-termo: alguns pacotes logicamente separados que mant\u00eam o caminho cr\u00edtico pequeno e ainda permitem a reutiliza\u00e7\u00e3o (por exemplo, um pacote de n\u00facleo global, um pacote de modelo, um pacote de fornecedor raramente alterado).<\/p>\n\n<p>A minifica\u00e7\u00e3o tamb\u00e9m pode causar problemas: Uglify\/Minify pode danificar fun\u00e7\u00f5es em alguns plugins. Por isso, testo passo a passo e excluo scripts cr\u00edticos do Minify\/Combine, se necess\u00e1rio (por exemplo, JSON em linha, scripts de pagamento, Captcha). O objetivo \u00e9 um <strong>mais est\u00e1vel<\/strong>, caminho cr\u00edtico curto, pacote sem risco que quebra a cada atualiza\u00e7\u00e3o.<\/p>\n\n<h2>Metodologia de medi\u00e7\u00e3o: testes fi\u00e1veis em vez de conjecturas<\/h2>\n\n<p>Fa\u00e7o medi\u00e7\u00f5es com perfis reproduz\u00edveis: Desktop e telem\u00f3vel separadamente, com larguras de banda realistas e limita\u00e7\u00e3o da CPU. Nas DevTools, utilizo <strong>Cobertura<\/strong>com o objetivo de <em>CSS\/JS n\u00e3o utilizado<\/em> e o gr\u00e1fico em cascata para ver que pedidos est\u00e3o \u00e0 espera, empilhados ou atrasados por prioridades. Comparo <strong>Primeira vista<\/strong> e <strong>Repetir vista<\/strong>, para verificar se os cabe\u00e7alhos da cache funcionam realmente e se o n\u00famero de pedidos \u00e9 efetivamente reduzido para metade ou melhor quando se revisita.<\/p>\n\n<p>Tamb\u00e9m estabeleci barreiras de prote\u00e7\u00e3o: n\u00famero m\u00e1ximo <strong>Pedidos<\/strong> por tipo de p\u00e1gina, objetivo LCP, or\u00e7amento para fornecedores terceiros. As novas funcionalidades s\u00f3 s\u00e3o activadas se estiverem em conformidade com os or\u00e7amentos. Isto mant\u00e9m o s\u00edtio r\u00e1pido a longo prazo, e n\u00e3o apenas imediatamente ap\u00f3s uma ronda de otimiza\u00e7\u00e3o.<\/p>\n\n<h2>Subtilezas do lado do servidor: TTFB e TLS<\/h2>\n\n<p>Para al\u00e9m do n\u00famero puro de pedidos, o tempo de resposta do servidor tamb\u00e9m conta. Eu mantenho <strong>OPcache<\/strong> ativo, afinar o PHP-FPM, garantir plug-ins simples e minimizar a base de dados<strong>Viagens de ida e volta<\/strong>. Com o TLS, asseguro uma cadeia de certificados curta, o TLS 1.3 atual e ativado <strong>Agrafagem OCSP<\/strong>. Juntamente com o HTTP\/3, isto reduz os tempos de \"handshake\" e acelera consideravelmente os pedidos iniciais - especialmente para os utilizadores m\u00f3veis.<\/p>\n\n<h2>Brevemente resumido<\/h2>\n\n<p>Reduzo o n\u00famero de pedidos activando o caching, agrupando CSS\/JS, modernizando imagens e atrasando scripts externos. <strong>carga<\/strong>. Alojo os tipos de letra localmente e pr\u00e9-carrego os recursos cr\u00edticos de forma limpa e <strong>direcionado<\/strong>. Uma CDN com HTTP\/2\/3 e um alojamento r\u00e1pido reduzem a lat\u00eancia e o TTFB. Utilizo medi\u00e7\u00f5es no PageSpeed, no Lighthouse e no GTmetrix para verificar se o LCP, o TBT e o CLS est\u00e3o a entrar no corredor alvo. Em apenas algumas horas, este processo d\u00e1 frequentemente o salto de pedidos lentos de 70+ para p\u00e1ginas r\u00e1pidas que est\u00e3o bem abaixo de 50.<\/p>","protected":false},"excerpt":{"rendered":"<p>Demasiados pedidos http do wordpress est\u00e3o a tornar o seu site mais lento? Com a otimiza\u00e7\u00e3o do front-end do wp e dicas para reduzir a velocidade do site, as p\u00e1ginas carregam \u00e0 velocidade da luz.<\/p>","protected":false},"author":1,"featured_media":16863,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_crdt_document":"","inline_featured_image":false,"footnotes":""},"categories":[733],"tags":[],"class_list":["post-16870","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"1293","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":null,"_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"WordPress HTTP Requests","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"16863","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/posts\/16870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/comments?post=16870"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/posts\/16870\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/media\/16863"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/media?parent=16870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/categories?post=16870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/tags?post=16870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}