WPML

Estamos prontos com um beta para o WPML 3.5. Esta versão inclui grandes melhorias na Tradução de Strings, tanto em funcionalidade quanto em desempenho.

Quase todo site que usa o WPML usa a Tradução de Strings. Então, você pode imaginar que melhorar a Tradução de Strings do WPML é uma das nossas maiores prioridades. Esta versão do WPML é quase exclusivamente dedicada a melhorar a Tradução de Strings.

Tradução de Strings mais rápida e leve


Para traduzir strings, o WPML precisa carregar a tradução do banco de dados. Nós testamos diferentes técnicas de carregamento e parece que a abordagem do WPML 3.5 é a vencedora definitiva.

Nas versões anteriores, nós tentamos:

  • Apenas traduções, exatamente quando são necessárias
  • Pré-carregar todas as strings por contexto
  • Pré-carregar todas as strings do banco de dados

Cada uma dessas abordagens tinha seus prós e contras. O problema era que, para cada site que se beneficiava de uma dessas abordagens, outro site era prejudicado.

O WPML 3.5 usa uma nova abordagem para pré-carregar as traduções de strings. Ele mantém uma tabela adicional, informando ao WPML quais strings são necessárias para cada página. Em seguida, ele pré-carrega exatamente as strings necessárias para aquela página, não importa a qual contexto elas pertençam. A vantagem óbvia disso é que menos strings são pré-carregadas e nenhuma string precisa ser carregada enquanto a página é renderizada. Como resultado, tanto o consumo de memória quanto a utilização da CPU caem drasticamente. A desvantagem dessa nova abordagem é um pequeno novo código PHP que rastreia qual string é usada onde. Esse código adicional é executado muito rápido, devido ao acesso dedicado ao banco de dados e ao cache que desenvolvemos para ele.

O ganho de desempenho que você deve esperar depende de diferentes fatores:

  • O número de strings no seu site – quanto mais strings você tiver, maior será o benefício (relativamente, menos strings são pré-carregadas agora).
  • A versão do PHP do servidor – o PHP 7 é muito mais eficiente que o PHP 5.6. Se você ainda estiver no PHP 5.x, você terá um aumento de desempenho muito mais significativo, mas você também sentirá isso no PHP 7.
  • O número de outros plugins que você está executando, a quantidade de conteúdo, o tema, etc. – obviamente, se o seu site tiver outro código lento, a melhoria na Tradução de Strings não será tão significativa.

Para o nosso próprio site WPML.org, nós obtivemos as seguintes melhorias de desempenho:

Versão do PHPPáginaEconomia de consumo de memóriaEconomia de utilização da CPU
PHP 5.6 Início60%41%
Painel de administração41%33%
PHP 7 Início50%16%
Painel de administração33%15%

A outra grande melhoria no WPML 3.5 é a capacidade de traduzir links em strings (automaticamente). O que isso significa e por que você precisa disso?

Nós usamos ‘strings’ para muitas coisas diferentes. Por exemplo, se o seu tema armazena o texto principal da sua página inicial em uma ‘option’, o WPML usará a Tradução de Strings para isso. Até agora, você precisava rastrear as strings que tinham URLs e ajustá-las para o conteúdo traduzido manualmente. Se muitas strings tivessem links, essa poderia ser uma tarefa muito cansativa.

Agora, o WPML lida com links na Tradução de Strings da mesma forma que lida com links em ‘posts’ (posts, páginas e tipos personalizados). Quando você traduz qualquer string que tenha algum link, esse link se ajustará automaticamente para apontar para o conteúdo traduzido. Escreverei um post de blog separado que mostra como isso funciona com o nosso plugin Toolset Layouts.

Atualização de 2 de agosto

Ei, nós encontramos outra fonte de perda de tempo muito significativa no painel de administração. Esta é trivial e deveria ter sido resolvida há algum tempo. Há um “widget do WPML” no painel de administração do WordPress, que provavelmente ninguém precisa mais. Esse widget extrai conteúdo de muitos lugares no banco de dados, bem como posts de blog recentes do site wpml.org. Remover isso eliminará várias chamadas ao banco de dados, bem como chamadas externas potencialmente lentas.

Nós estamos cuidando desse widget (removendo-o) e revisando todas as chamadas externas, para garantir que elas não deixem o seu site lento.

Baixe e experimente


O WPML 3.5 está entrando em QA agora. Nós já testamos totalmente a mudança na Tradução de Strings, mas há muito mais para testar antes que possamos lançá-lo como uma versão de produção.

Nós adoraríamos receber o seu feedback sobre esta nova versão que está por vir. Se o seu site tem problemas de desempenho relacionados à Tradução de Strings, esta versão é para você.

Lembre-se de que esta é uma versão beta, então experimente-a apenas em sites de desenvolvimento (não em sites de produção).

Este beta está disponível apenas para os titulares de contas “Multilingual CMS”, pois gira principalmente em torno de melhorias na Tradução de Strings.

Faça login na sua conta do WPML e clique em Downloads. Role até o final e baixe o Pacote CMS Beta. Descompacte e faça o upload de todos os componentes do WPML que você está usando para o WordPress.

Feedback?


Deixe-nos saber como esta versão está funcionando para você deixando comentários aqui. Se você estiver enfrentando um problema, abra um novo tópico no fórum de suporte do WPML E deixe um comentário aqui com uma breve descrição e um link para esse tópico.

Nós estamos aguardando o seu feedback, dúvidas, ideias e sugestões!

Achou isso útil? Compartilhe este artigo: