Bloqueado Painel (wp-admin) em Produção via .htaccess

Por uma questão de segurança e manutenção de sistema de backup automatizado, foi bloqueado o acesso ao painel do WordPress, de todos os nossos sites, em produção.

É uma questão de segurança pois evita o ataque do tipo força bruta ou outros, protegendo com mais uma camada as informações do nosso banco.
Em relação à manutenção de backup e do banco de dados em ambiente de produção, é para evitar a publicação de posts e mídias em produção sem o seu correspondente no ambiente de desenvolvimento e QA.

Utilizamos o nosso plugin script BSD e WPSQL para esta automação, assim recomendamos que você conheça nossas soluções de código aberto e tente de adotá-las em seus projetos para ter um maior controle da automação.

Milestone de Fevereiro: Certificação SSL Renovada Após Rebuild

Posso dizer que ainda não dominei o método de certificação SSL, continuo tendo muita dificuldade em algumas etapas, principalmente a renovação automática e a configuração de virtual hosts do Apache.

Após o rebuild do meu servidor principal (veja post com mais detalhes) obtive sucesso nas novas configurações para renovação dos certificados utilizando certbot. Assim, foi renovado os nossos certificados, e muitos usuários que haviam tido problemas em acessar todos os nossos sites, passaram a conseguir acessá-los novamente.

Um bug de configuração foi identificado no servidor antigo, pois havia mais de um diretório com configurações do Apache SSL e virtual hosts, fazendo com que o servidor não conseguisse entregar os arquivos certos para navegador e a certificadora.

Centralizamos todas as configurações do Apache e instalamos o servidor principal com docker, fizemos o rebuild e a nova instalação do certbot para poder resolver esse problema e assim permitir a navegação segura para os nossos usuários novamente. Sei que ainda terei alguns problemas pela frente, como a renovação automática, então, por hora a navegação está garantida e o esforço de rebuild e recertificação valeu a pena.

Milestone de Março: Rebuild do Servidor de Produção

Foi feita a reconstrução (rebuild) do nosso servidor de produção, uma operação bastante delicada e arriscada. Após muito tempo dependendo de um esquema antigo e repleto de manutenções feitas sem planejamento, aproveitamos a janela de oportunidade para migrar totalmente nossa operação para o docker.

Assim, comecei a reconstrução com o servidor local de desenvolvimento, tarefa que levou meses, para só depois atuar em produção. Inicialmente, para não cair o serviço, havia planejado fazer um servidor em paralelo com todas as aplicações, porém, durante o processo, houve um comprometimento crucial dos serviços no servidor em produção, pela expiração dos certificados SSL.

Assim, seria um desperdício de tempo trabalhar em dois servidores em produção e abandonei o plano inicial, pois o serviço já havia caído. Então, destruí o antigo servidor em produção e todo o esquema que estava corrompido, para dar lugar ao novo esquema baseado em docker linux WordPress, Apache e MySQL.

Com a reconstrução terminei a implantação de uma nova esteira de desenvolvimento e deploy automatizado. Com isso voltei a ter mais controle sobre o processo de desenvolvimento e entrega.

Acredito em um futuro mais automatizado e mais “simples” para fazer entregas, sabemos que existem algumas dificuldades com a estrutura que foi desenvolvida, como versionamento de todos os sistemas em conjunto. Trabalhamos com um repositório principal e diversos submódulos, técnica a qual ainda não domino completamente.

O espaço em disco foi economizado e os processos de utilização de CPU e memória obtiveram ganho de desempenho. Assim em 2020 temos um novo servidor em produção baseado em Ubuntu e não mais em CentOS, mais uma dificuldade que foi superada.

F5 Sites Diretrizes de Design

Em nossa primeira tentativa de uniformizar o designs de todos nossos projetos, fazendo os terem uma aparência semelhante, como quando você está em um produto Google, Amazon, Microsoft ou Apple, você meio que sabe, mesmo que você não saiba exatamente porque você sabe, você meio que sente como se estivesse em “casa”. Isso porque eles têm um design consistente com algumas regras que orientam todos os produtos.

Então, a F5 Sites começou a desenvolver nossas primeiras diretrizes de design, elas começaram de forma simples, mas achamos que as regras se tornarão mais ajustáveis e melhores com o passar do tempo, então nossas primeiras diretrizes de design são:

  • Barra no topo de todos os produtos
  • Fonte para logo: Lobster
  • Cores:
    • F5 azul: #03659c
    • F5 azul claro: #549ed1
    • Ubuntu laranja: #FF5919
    • Cinza escuro: #3F3F3F
    • Cinza médio: #888888
    • Cinza claro: #EEEEEE
    • Verde escuro: #398439
    • Verde claro: #449d44
    • Dourado: #E2D693
  • Imagens customizadas para posts e produtos

Por enquanto isso é tudo, no futuro estamos prevendo paddings e margens para alguns elementos. Estas regras serão aplicados em produtos antigos sempre que eu puder, pois agora elas apenas existem e estão sendo implementados sem um prazo, mas nada de novo será desenvolvido sem seguir esse rigor.

Novo Plugin em Desenvolvimento: F5 Sites Smart Language Filter

Depois de toneladas de testes e experiências, com os plugins de idiomas mais famosos e atualizados para o WordPress, eu iniciei um plugin para F5 Sites e Fnetwork. Baseado em um código simples mas eficiente que fiz para um tema de projeto (Sistema Focalizador Javascript). Tudo o que eu tive que fazer é usar tags em posts, como:

  • lang-en: portugues
  • lang-pt: portugues
  • lang-fr: francês
  • lang-zn: chinês
  • E assim por diante…

O termo “inteligente” no nome é porque ele usa um algoritmo baseado no WooCommerce Geocode e na função HTTP para determinar a localização dos usuários e fornecer a linguagem provavelmente mais correta. Então, vamos fechar nossos domínios que começam com br, como br.f5sites.com e br.franciscomat.com, porque sempre que você estiver em uma localização, o domínio principal fornecerá conteúdo para você em seu idioma.

O plugin estará presente em toda a rede, ele será anexado a outro plugin que usamos F5 Sites Footer Bar, então todos os sites terão opções de tradução. Os usuários também terão a opção de alterar o idioma a qualquer momento, e se ele aparecer em um link que não tenha o idioma que os usuários falaram, um aviso será anexado para alterar o idioma a qualquer momento.

O plugin está em desenvolvimento e não tem prazo para ser finalizado, é um esforço que faço para alcançar melhores resultados em marketing e conquistar novos clientes.

Pomodoros Recebe Atualização Crítica No Algorítimo de Cronômetro

Um grave problema surgiu nos testes finais do Pomodoros.com.br, ao ser utilizado em navegadores modernos, inesperadamente o tempo do pomodoro era maior do que o exibido na tela. Para completar os 25 minutos que o app indicava poderiam ser consumidos 35, 40 minutos, o que frustrava muitos usuários, pois quando a aba do site ficava inativa, sem foco, a alocação de memória do navegador era otimizada, assim, do ponto de vista do navegador, tudo fica mais fluído, ele tira memória da aplicação em segundo plano e otimiza o que o usuário está fazendo, se troca de aba, a nova aba tem prioridade.

Assim, quando ficava em segundo plano o Pomodoros perdia prioridade no sistema do navegador, então a contagem de tempo demorava a passar. Demorei para ter tempo para atualizar o algorítimo, em meio a celebrações natalinas, consegui dedicar um dia do meu descanso para atualizar o app, a nova lógica é de certa forma até melhor, pois quando o usuário inicia a contagem de tempo, é guardado a data e hora do clique do botão, então compara-se o tempo decorrido com este instante, assim temos novamente o aplicativo funcionando com perfeição! Será que posso dizer que é um presente de natal para meus usuários que utilizam o app em navegadores modernos?

Trocador: Nova Ferramenta do Pomodoros Para Trocar de Tarefas Automaticamente

Venho trabalhando na última ferramenta do pomodoros, até então a penúltima inovação antes do lançamento oficial, até agora o nome desta ferramenta é TROCADOR, apesar de achar um nome um pouco feio, ajuda a realizar tarefas em sequência com agilidade.

Por exemplo, eu tenho algunas tarefas diárias como “escrever um post”, “escrever uma proposta”, “gravar um vídeo”, etc., são tarefas que me planejei para fazer todos os dias. Não estava me dedicando pois, infelizmente, estava muito trabalhoso a cada final de pomodoro ter que editar a tarefa para recomeçar.

Então rachei a cabeça o ano todo para solucionar esse problema, assim, somente agora, chegando ao final do ano precisei dar um “gás” nisso. Pensando em usabilidade, queria que quem usasse não precisasse ser “ensinado” antes, precisa tentei fazer de forma que fosse intuitiva, a ponto do usuário conseguir usar sem “manual”, ao mesmo tempo que é uma ferramenta muito, muito avançada, de fato poderia criar um mini-curso só para explicar.

Mas basicamente: começando abrindo o TODO (botão azul), 1 salvar uma tarefa modelo ou mais, 2 arrastar as tarefas para a caixa cinza, 3 clicar no ícone para ativar. Assim ele vai carregar automaticamente, no final de cada pomodoro, a próxima tarefa da lista.

Fiz uma bateria de testes extremos aqui e não achei bug, mas é possível que algo de errado, por isso você usuário é bem vindo a dar feedbacks. A último inovação vai ser o controle de metas diárioa, pensando aqui em criar uma barrinha que vai aparecer em cima indicando quantos pomodoros falta pra meta do dia, aí teremos enfim o lançamento.

Confira a Nova Homepage do Site Pomodoros, Ficou Incrível

Após muito tempo finalmente o site tem uma homepage de classe, estirpe e categoria! Foram anos de homepage “improvisada”, fazendo o que era possível com o pouco tempo disponível, porém a taxa de conversão era sempre muito, muito baixa, não era uma landing page eficiente para novos visitantes, que entravam e muitas vezes se perguntavam “do que se trata esse site?”.

Na primeira versão do site, em 2011, red, a homepage era o próprio aplicativo, não era necessário logar para usar e assim visitantes tinham um aplicativo muito simplificado, somente o cronômetro, se criassem uma conta abriria a parte de amigos e mais ferramentas. Na segunda versão do site, em 2013, green, na home tinham 8 balõezinhos explicando o que era, incentivando os usuários a se cadastrarem.

No início da versão black, 2018, ainda não lançada oficialmente, foi colocado um slider com imagens passando automaticamente, além das últimas notícias do blog logo abaixo, no típico formato blog do WordPress, com uma barra na lateral com mais informações, outro “improviso”, pois também não era muito claro ao visitante recém-chegado do que se tratava o aplicativo.

Assim, após analisar as taxas de conversão do Google Analytics percebi que ainda não estava bom, apesar do blog trazer novo visitantes, ainda não convertia-os em usuários ativos, precisaria dedicar um tempo para essa nova homepage. Foram 8 horas de trabalho, confira essa tarefa no aplicativo.

Comecei fazendo uma análise minuciosa dos concorrentes e pude perceber o que cada homepage tinha de melhor, assim incorporei alguns elementos dos concorrentes e criei outros originais, com uma interface exclusiva fiz uma nova homepage, com base no conceito de “explicar do que se trata o aplicativo”, os elementos básicos são:

  • Pequeno cabeçalho explicativo com botão de ação para usuário se registrar gratuitamente
  • Slider com imagens originais, explicando as principais funcionalidade do site com legendas
  • Estatísticas da comunidade, com dados em tempo real de usuários ativos, tempo de uso e outros
  • Depoimentos de usuários, colhidos nos últimos meses
  • Breve histórico, contando a história do site desde de 2010 até a data atual, com previsões para os próximos 3 anos
  • Blog, finalmente, somente ao final da homepage, as últimas 3 notícias do blog

A partir de agora uma “nova era” é iniciada, onde temos uma homepage compatível com um padrão de qualidade global, competindo de igual com os principais concorrentes e, na minha opinião, melhor do que muito deles. Ainda falta a tradução desta nova homepage para os idiomas do site, tarefa para os próximos dias.

Lojas Prontas: WooCommerce “Hackeado” Para Solução Exclusiva de Backup Automático

Atenção, conteúdo altamente técnico! Pode ser que nem eu entenda amanhã…

A mais importante, mais difícil e mais complicada implementação do WooCommerce que já realizei. Foram ao menos 2 anos de estudos para poder terminar essa implementação, a requisição da “equipe” de engenharia e projetos era simples: queremos automatizar o backup e sincronia de pedidos (orders). Assim, após a criação do plugin “F5 Sites | WordPress MySQL Manager”, ficou fácil fazer backups e uploads de dados, bastava que as tabelas tivessem o mesmo prefixo, por exemplo, site1_.

Mas o WooCommerce herdou os problemas de estrutura de dados do próprio WordPress, uma zona, fica tudo misturado no banco de dados (produtos, pedidos, posts, menus…). Então precisei criar hooks para a função get_wc_order e get_wc_orders (alterando o core do woo), além de implementar na marra as modificações no core do plugin, inserindo “6woo_” antes dos prefixos das tabelas woocommerce_items e woocommerce_itemmeta. Assim, essa solução hackeada não é de longe a melhor possível, mas a questão principal é, funciona melhor que o original, permite automação dos pedidos sem misturar os produtos, e apesar da bagunça, é excelente.

Foi difícil fazer, muito complexo e exigiu a integração de 3 plugins próprios:

  • F5 Sites | WordPress MySQL Manager
  • F5 Sites | WooCommerce shop_order Tables
  • F5 Sites | Shared Posts and Tables + Uploads Folder
  • Fork exclusivo do WooCommerce, para funcionar os 3 acimas de maneira graciosa

Assim, essa notícia, muito técnica e confusa, serve só para anunciar que a loja de chaveiro e anúncios pode começar a operar sem problemas, um marco na história do projeto. Teremos um post mais bonitinho e comercial para iniciar as atividades de vendas, esse daqui é só um registro histórico de que, após anos de testes e implementações, o esquema de backup de dados está 100% funcional, no product backlog várias tarefas foram concluídas com essa realização.

Confira o plugin:

https://github.com/franciscof5/f5sites-woocommerce-shop_order-tables

Pomodoros.com.br Android应用程序在Beta阶段发布

2011年的目标终于开始出现在Android的本机应用程序的开发中。 由于焦点培训的进步,应用程序开发被优先考虑,以便学生可以更快地下载第一门课程。

随着应用程序的增长,我们预计增长速度会快一些,对于一些投资者而言,它也是Google Play商店中的一个差异,因为很大一部分人相信移动市场,并且使用本机应用程序定位是一种优越的策略。

事实上,用户可以访问移动浏览器,单击主菜单上的菜单 – >添加快捷方式,并且主要启动器中已经显示与foquinha的链接,但我意识到很少有用户有此习惯,许多人更喜欢直接从App下商店。 我们希望很快能够改进和发布最终版本的反馈意见。