Nova Arquitetura F5 Sites: Nginx-proxy Reverso de Múltiplos Dockers WordPress

Finalizando a tarefa mais difícil demorada, complexa e importante da história da F5 sites, mesmo tendo achado, ou até mesmo escrito posts anteriormente aqui no blog com o mesmo argumento, apenas agora, tive a plena consciência do que significa a nova arquitetura do F5 sites, como eu fiz uma virada há 2 anos e tudo isso aos poucos foi fazendo sentindo e criando pequenas soluções que juntas formam uma complexa nova arquitetura. O resultado prático é simples, mas o caminho para chegar nesse esquema é único e representa o passado, presente e futuro da F5 Sites.

Nem sempre uma tarefa nasce com o título que deveria, no começo do ano tive um excedente de caixa e pude contratar mais um pequeno servidor, uma micro cloud, com configuração mais básica e econômica (nanode de 5 dólares, uma micro VM). Para manter os custos sempre enxutos, não contratava qualquer serviço que não fosse estritamente necessário, regra que começou a valer em 2017, se não é necessário, se existe solução grátis ou se eu posso fazer, não contrato. Aqui no blog tem-se muitos posts sobre como migrei de um plano de revenda de hospedagem super custoso que hospedava mais de 10 sites, para uma micro VM de 5 dólares, hospedando os mesmos sites. Aqui já temos os ingredientes da sopa dessa publicação:

  • Mudanças na forma de administrar recursos
  • Possibilidade de contratação de um servidor adicional
  • A forma improvisada (algumas vezes atrapalhada e apressada) de criar soluções

(O apressado acaba sendo uma característica inerente de quem não tem muito tempo para se dedicar integralmente para os próprios projetos, já que trabalho contratado 8 horas por dia para terceiros, além de ter uma vida pessoal que reduz minha atuação na F5 Sites as vezes a poucas horas por mês.)

Assim essa nova tarefa surgiu com o tema de “eliminar uma VM” (voltar a operar somente com uma VM). Portanto precisei migrar toda a arquitetura da VM antiga para a nova arquitetura da VM nova, com docker com nginx-proxy e acme certbots automatizado, proxyando diversos outros dockers, seja WordPress, Node ou Python.

Entrei no maior desafio da minha vida, que para muitos é algo bem simples e trivial, para mim foi uma jornada ao desconhecido. Significa ter um objetivo e buscar o conhecimento, estudar muito, fazer milhões de testes para chegar em uma fórmula muito simples. Como pegar uma AK 47, uma arma tão simples e fácil de fazer que surpreende, mas levou muitos anos para chegar nesse produto.

Então descobri com muita pesquisa, mais do que muitas semanas de teste a fio, como sustentar em pé um serviço docker que fizesse o proxy reverso para cada domínio. Porque o docker / apache trabalha com a porta 80/443, assim não tem como levantar outro docker no mesmo ambiente, se for trabalhar com um projeto WordPress precisa desligar o outro. O grande desafio foi encontrar uma forma de levantar dois dockers / apache usando a mesma porta 80 e magicamente entregar para o usuário na ponta, o site que está acessando.

Acredito que o conhecimento que construi nestes meses são muito relevantes e por isso vou criar uma série de vídeos, talvez até mesmo um curso ensinando passo a passo como fazer uso desta tecnologia e solução, como já falei, simples para quem conhece, mas um longo caminho de conhecimento para quem quer dominar todas as etapas.

Novos Conceitos de Identidade Visual para F5 Sites e todos meus projetos

E aí olha que legal tô trabalhando aqui no novo conceito de identidade visual de algumas páginas minhas. Eu quero conectar todas elas quando o usuários entrar na minha página de comédia e quando ele entrar no meu canal de turismo e ele entrar no meu site F5site.com, ele precisa ver que tá tudo conectado.

Então eu tô trabalhando aqui design hacks, ou seja, tem alguns hacks de design aqui: como uma fonte, a type face, adiciona significado do Design. Aqui a gente tá estudando how to pick the correct color: como escolher a melhor cor a melhor fonte alguns princípios porque vem aí a nova identidade visual de todos os meus projetos

Lógico que não vamos começar acertando, mas eu vou criar todo um padrão aqui. O Canva ele permite e você ter Marcas, cada design é uma peça única e tudo isso aqui vai mudar tudo vai mudar com o uso de kit de marca, que permite você ter um logo e algumas cores e as fontes que você quer.

Com isso eu vou padronizar todos os meus projetos em questão de cores, quando você entra num site da Google você sabe que é da Google por mais que ele seja diferente, por exemplo o Gmail é uma coisa o drive é outra, o google.com é outra, o YouTube é outra, mas tem alguns elementos ali que conectam todos eles e a isso que eu tô trabalhando agora.

FSlint: Deletando Arquivos Duplicados no Linux

A manutenção de sistemas exige limpezas constantes, ter arquivos duplicados em servidores tem um custo muito alto, as vezes temos várias cópias do mesmo arquivo, ocupando espaço, dificultando backups, custando espaço, tempo e dinheiro.

Instale o script com o comando

sudo apt-get install fslint

Basta encontrar o programa para iniciar a busca de arquivos duplicados, pode ser feito a remoção em massa ou arquivo por arquivo.

Referências

https://www.edivaldobrito.com.br/remover-arquivos-duplicados-no-linux/

FSlint: Deletando Arquivos Duplicados no Linux

A manutenção de sistemas exige limpezas constantes, ter arquivos duplicados em servidores tem um custo muito alto, as vezes temos várias cópias do mesmo arquivo, ocupando espaço, dificultando backups, custando espaço, tempo e dinheiro.

Instale o script com o comando

sudo apt-get install fslint

Basta encontrar o programa para iniciar a busca de arquivos duplicados, pode ser feito a remoção em massa ou arquivo por arquivo.

Referências

https://www.edivaldobrito.com.br/remover-arquivos-duplicados-no-linux/

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.

Aprenda como fazer este tipo de bloqueio de segurança no blog do CursoWP.

Bloqueando wp-admin do WordPress usando .htaccess

O arquivo .htaccess permite configurações avançadas para diretórios e arquivos, em algumas situações é possível bloquear o acesso wp-admin por segurança, libenrando somente IPs específicos.

Para fazer isso basta criar um arquivo .htaccess no diretório wp-admin com o conteúdo a seguir

order deny,allow
deny from all
allow from 1.1.1.1 #IP

Estrutura de Múltiplos WordPress Multi-Site

Uma instalação de WordPress é basicamente os arquivos do WordPress (wp-config, core, plugins, temas, uploads, etc.) e um banco de dados (tabelas prefixadas). Qualquer instalação precisa de um endereço de URL para ser acessada, que é uma instalação simples de WordPress.

Porém seria possível habilitar o multi-site nesta instalação (veja como habilitar o multi-site na documentação oficial ¹), basta ativar no wp-config, assim uma única instalação de WordPress pode ativar em uma URL vários subsites.


Em algumas situações podemos ter duas instalações de WordPress Multi-Site em duas URL diferentes, funcionando de forma independente. Cada instalação com seus arquivos e seu banco de dados.

Uma alternativa seria usar a mesma instalação de WordPress, mas com banco de dados diferentes, pois o serviço que mais consome recursos do servidor é o banco de dados, em bancos diferentes (até mesmo em servidores diferentes) temos mais segurança no caso de uma queda do serviço não derrubar a rede toda.

Em uma configuração mais avançada podemos fazer estas duas instalações diferentes usarem os mesmo arquivos e o mesmo banco de dados (com prefixos diferentes para as tabelas), cada uma com sua URL diferente.

Mas também é possível ter várias instalações de WordPress Multi-site na mesma URL, funcionando basicamente como o exemplo acima, mas só que múltiplos subdomínios ou subpastas também podem ser diferentes WordPress multi-site, mas compartilhando a mesma instalação e o mesmo banco de dados.

Assim temos vantagens e desvantagens em cada um dos modelos.

Múltiplas contas BitBucket na mesma máquina

A situação que passei foi a seguinte, trabalhar com dois clientes diferentes no mesmo computador, porém os dois usavam BitBucket para a gestão de repositórios git, assim, a chave SSH que foi configurada para um, não iria funcionara para o outro.

Criar chaves SSH

Primeiro é preciso criar uma chave para cada usuário

 ssh-keygen -t rsa -C "franciscof5" -f "franciscof5"

Adicioná-las em sua conta

Depois copiar cada chave para cada usuário do BitBucket, para mais informações visite a documentação oficial.

Configurar seu SSH

Na pasta ~/.ssh/ crie um arquivo chamado config com o seguinte conteúdo:

#default account
Host bitbucket.org
	HostName bitbucket.org
	User git
	IdentityFile ~/.ssh/id_rsa
	IdentitiesOnly yes

#franciscof5 account
Host bitbucket.org-franciscof5
	HostName bitbucket.org
	User git
	IdentityFile ~/.ssh/franciscof5
	IdentitiesOnly yes

Configurando repos

Se não tem um repositório clonado, use o seguinte comando (repare no nome do usuário)

git clone git@bitbucket.org-franciscof5:franciscof5/your-repo-name.git

Se já tem um clone, atualize a origin

git remote set-url origin git@bitbucket.org-franciscof5:franciscof5/your-repo-name.git

Agora entre no repo local e atualize o usuário e email

git config user.name "franciscof5"
git config user.email "user1@example.com

Agora você pode trabalhar com uma ou mais conta de BitBucket na mesma máquina, espero que tenha gostado, deixe comentários.

Referências

Tip of the Week: Using different SSH keys for multiple Bitbucket accounts

https://confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html

 

Deploy avançado com WordPress

O que é deploy?

Primeiro, o que é deploy? Deploy é o processo de “empacotar” o trabalho de desenvolvimento e transportá-lo de um ambiente para outro, por exemplo, quando um programador termina uma atualização de um sistema e vai disponibilizá-la para os usuários.

Essa entrega precisa acontecer sem comprometer o serviço atual, o site não pode cair, também é importante não consumir muitos recursos do servidor e nem levar muito tempo, em muitos casos é preciso reverter (rollback) o processo caso surja algum erro, para evitar correria para apagar incêndios. Pensa no site da sua empresa, se ele cair quando a TI fizer uma atualização é provável erro de deploy.

Minha experiência pessoal

Fazer deploy com WordPress tem sido umas das minhas maiores dificuldades como desenvolvedor, pois as linguagens e pastas do sistema são uma “bagunça”, temos PHP, misturado com JavaScript, HTML, CSS inline e arquivos separados, muitas configurações em locais diferentes, podem estar no código e no banco de dados. Pastas que são substituídas totalmente com atualizações do WordPress e pastas que não são tocadas.

Nos meus projetos pessoais, antes de ter uma “estrutura de deploy”, entre 1998 e 2010, fazia os updates da forma mais tradicional (e ainda usada por muitas empresas em 2020), terminava algum update e utilizava um sistema de FTP, que listava os arquivos alterados mais recentemente. Assim bastava subir e trocar, por FTP, os arquivos. Eficiente, econômico, mas sem controle de versão, além de não permitir múltiplas pessoas trabalharem no mesmo projeto ao mesmo tempo (de forma eficiente).

Uma solução inicial, ainda em 2011, foi utilizar o Dropbox na minha máquina local de desenvolvimento e instalar o Dropbox no servidor, todas as mudanças eram transferidas automaticamente, existia controle de versão de arquivos, porém sofria por muitos aspectos, deletar um arquivo acidentalmente podia derrubar o sistema inteiro, não conseguia trabalhar em arquivos e fazer as entregas por partes, antes da funcionalidade inteira estar pronta, poderia derrubar o sistema, o que acontecia era os temidos “testes em produção”.

Assim, ao final de 2012 me foi finalmente apresentado o git, sistema de versionamento de projetos, ali a minha mente “explodiu”, finalmente entendi como grandes empresas trabalham com grandes projetos. Aprendi o básico, commits, push, pull e o básico do básico de branchs.

Neste projeto de cliente aprendi a commitar na branch master e o gestor de TI dava o pull em produção quando tudo estava pronto. Ainda havia um grande problema, sendo WordPress e o banco de dados? Muitos vão rir, mas colocava o dump na raíz do git, funciona e não é tão estúpido, se tiver numa pasta acima do conteúdo público, trabalhoso sim, mas versiona.

Então basicamente não tinha uma estrutura de deploy muito boa, copiei esse sistema para os meus projetos pessoais, optava por velocidade e facilidade de deploy, abrindo mão de alguns quesitos de segurança. Migrei todos os meus projetos para o git ao longo de 2013, este conhecimento de git me alavancou e me fez conseguir uma boa colocação no mercado, trabalhei em uma empresa com muitos profissionais no mesmo projeto. Ali tinha review de pull request.

Houve um hiato de programação na minha carreira durante meu mestrado entre 2014-2016, voltei a estudar programação pois em 3 anos fiquei muito desatualizado. Retomei meus projetos pessoais e decidi criar um sistema próprio para deploy (em shell) de banco de dados chamado F5 Sites WordPress MySQL Manager (que uso até hoje). Percebi que 90% das configurações ficam na tabela wp_options, então com esse sistema subia para produção uma cópia desta tabela de forma inovadora, fazia um dump específico desta tabela (prefixo do projeto)_options, comprimia, enviava via SSH para o servidor, conectava no servidor e fazia um cópia de segurança da tabela e import do dump. Em paralelo com um script simples de push e pull em máquina de dev e produção, a velocidade de entrega disparou.

Esteira de Deploy: Jenkis, SonarQube e GitFlow e live

Tudo ia mais ou menos bem, alguns problemas contornáveis, como git no servidor de produção (!), porém para o nível de requerimento exigidos para um projeto pessoal de uma pessoa só, tudo ok. Um novo projeto aparece no radar, um grande portal WordPress de um cliente como forte estrutura de TI.

Com uma equipe de especialistas, recursos e investimentos pesados por anos, uma estrutura conhecida como “esteira” foi implementada pela equipe. Conheci novas tecnologias, promissoras, parrudas, inteligentes e funcionais. Com o Jenkis é possível fazer uma estrutura de deploy realmente automatizada, fazendo diversos processos testes antes da entrega antes do servidor de produção.

SonarQube permite uma análise automática de qualidade de código e brechas de seguranças antes do pull request, pelo próprio pipeline do BitBucket. GitFlow é uma técnica interessante de organizar commits e merges de branches de dev, homolog, produção e hotfixes. E git live é um forma de manter cópias de gits sem a pasta .git no servidor remoto.

Assim em 2020 conheci um processo muito forte, mas não a prova de bugs e erros. Ainda fica a minha premissa pessoal que sistema ou processo nenhuma vale mais que um profissional experiente e/ou atencioso.

Referências:

https://roselleebarle.com/wordpress-auto-deploy-using-git-jenkins/

A Jenkins Pipeline for WordPress Projects

https://www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-16-04

https://www.digitalocean.com/community/tutorials/how-to-configure-jenkins-with-ssl-using-an-nginx-reverse-proxy

https://www.digitalocean.com/community/tutorials/how-to-set-up-continuous-integration-pipelines-in-jenkins-on-ubuntu-16-04

https://www.google.com/search?q=deploy+wordpress+with+git

https://tableless.com.br/deploy-usando-git-pull-e-hooks/

https://git-scm.com/book/en/v2/Git-Tools-Submodules

https://git-scm.com/docs/git-submodule

https://www.ostraining.com/blog/wordpress/deploy-git-wordpress/

WordPress Deployment Part 3: Deploying WordPress Using Git

http://www.saintsjd.com/2011/01/what-is-a-bare-git-repository/

https://github.com/vicenteguerra/git-deploy

https://wppusher.com/wordpress-git-course

https://medium.com/@jmarhee/running-multiple-web-applications-on-a-docker-host-with-apache-85f673f02803

https://www.atlassian.com/git/tutorials/comparing-workflows

https://www.atlassian.com/git/tutorials/comparing-workflows

Como Instalar o Linux Ubuntu em um Máquina Virtual

Como baixar o Linux Ubuntu no site oficial, criar uma máquina virtual com o Oracle VirtualBox e configurar um computador virtual com a imagem recém-baixada, instalar o linux. São os primeiros passos para fazer uma instalação WordPress de ponta-a-ponta, da máquina virtual até a o seu WordPress auto-hospedado.

De volta à pista

Após meses de trabalho na infraestrutura e organização de vários projetos, chegou a hora de priorizar o Curso de WordPress da F5 Sites por Francisco Mat. Estamos neste momento atualizando o blog e terminando este projeto.

Neste momento estou fazendo vários testes de usabilidade, traduzindo partes do tema e criando novos posts para o blog. Após será criado finalmente as aulas pagas dos cursos e vídeo-aulas fresquinhas, com conteúdo atualizado.

Como proteger seu site WordPress dos recentes ataques hackers

Estou escrevendo um post rápido com uma dica de segurança super simples para proteger seu blog hospedado de um possível ataque hacker, semelhante aos que o servidor wordpress.com sofreu essa semana. Os hackers usam um script para tentar adivinhar a senha do usuário ‘admin’, utilizado como padrão na maioria dos blogs hospedados, a minha recomendação é para que se altere o nome do usuário administrador, para qualquer coisa, menos ‘admin’. Isso aumenta um pouco a segurança do seu blog, mas ainda é preciso sempre ficar atento a possíveis vulnerabilidades.

Referências

http://idgnow.uol.com.br/internet/2013/04/14/blogs-e-sites-wordpress-sofrem-ataque-hacker-forca-bruta/

Ativando WordPress Multisite (MU)

Também conhecido com WordPress network essa funcionalidade permite criar vários blogs na mesma instalação do WordPress, que compartilham plugins e temas, é uma das ferramentas mais avançadas do sistema, é como multiplicar o poder do WordPress por mil. Lembre-se de fazer backup da sua instalação. Para quem gosta de tutoriais rápidos, vamos direto ao passos.

Passo 1 – Habilite multisite no wp-config.php
Existem dois tipos de redes, que operam em subdomínios e subpastas, vamos tratar somente da segunda opção que é mais simples de ativar, acesse o link na referência para o tutorial completo. Cole o código abaixo na última linha do wp-config.php, salve e não feche o arquivo ainda.

/* Multisite */
define('WP_ALLOW_MULTISITE', true);

Passo 2 – Ative a rede pelo painel

Ferramentas -> Instalação da Rede
Ferramentas -> Instalação da Rede

Um novo item irá aparecer no seu painel, em Ferramentas -> Instalação da Rede. Vai pedir para você desativar os plugins antes de prosseguir.

Depois de ativada a rede você vai ter que colar dois trechos de códigos, um no wp-config.php e outro no .htaccess, que serão exibidos se tudo correr bem.

Passo 3 – Painel do administrador

Para instalar plugins, temas e atualizações surgiu um novo painel, chamado painel do administrador. Se você criar um blog para um usuário ele não vai poder instalar um plugin, sempre que você precisar instalar um plugin vai ter que acessar o painel da rede e depois voltar para o cada blog e ativar. Dica, se você usa o plugin BuddyPress vai ter que colar esse código no wp-config:


/* Enable BuddyPress Multisite*/
define ( 'BP_ENABLE_MULTIBLOG', true );

Referências

http://codex.wordpress.org/Create_A_Network – Página oficial que ensina a ativar a rede de blogs com muito mais informação, em inglês

Receba feedback do seus visitantes com o plugin Usernoise

Abra um novo canal de relacionamento com seus visitantes e clientes, com esse incrível plugin um novo item aparece ao lado do seu site, permitindo um novo tipo de interação. É possível receber idéias, críticas e elogios para melhorar seu site.

Plugin uservoice, um novo canal de comunicação
plugin Usernoise

No momento que eu escrevo este post o plugin está ativado e operando, se quiser entender como funciona é só clicar na caixinha do lado esquerdo do site escrito “comentário”, mas se por ventura o plugin estiver desabilitado no momento da sua visita, segue uma captura de tela para um registro mais apurado.

Recomendo utilizar esse plugin porque é muito versátil e pode ser útil em qualquer projeto, além de permitir um melhor relacionamento com o visitante pode ajudar os administradores a melhorarem continuamente. Fica muito mas fácil receber opiniões de pessoas de fora da equipe de desenvolvimento, que enxergam o site com outros olhos e podem alertar para problemas e melhorias que ainda não tinham entrado no radar.

Não é um plugin must-have porque sua funcionalidade é complementar, mas está na lista dos plugins que eu recomendo para meus clientes.

Referências

http://wordpress.org/extend/plugins/usernoise/screenshots/ – Página oficial do plugin

Explorando "post type" com dois plugins completos

O WordPress lança funcionalidades novas a cada versão, as vezes é muito difícil acompanhar essas mudanças, muita gente ainda não conhece uma funcionalidade incrível que foi lançada recentemente, os tipos de post customizados (custom post type). Os autores tem muitas opções para organizar seus posts, categorias e tags resolvem quase todo pepino, não deixando nada a desejar, então para que serve os tipos de posts?

Do ponto de vista de um autor que precisar falar de vários assuntos diferentes no mesmo WordPress, por exemplo, treinos de corrida, horta caseira e administração de empresas, essa nova funcionalidade pode ajudar a organizar o conteúdo, separando cada assunto em seu próprio blog. O leitor ia ficar bem confuso se no mesmo blog encontrasse tantos assunto, mesmo estando super organizado em categorias.

Na verdade essa é um demanda que faz mais sentido do ponto de vista dos desenvolvedores, já que vários plugins utilizam posts customizados para não bagunçar o banco de dados do WordPress, assim quem cria plugins tem uma opção extra para trabalhar com o banco de dados, sem o bagunçar, mas mesmo autores de blogs podem a utilizar para escrever sobre vários assuntos.

O próprio WordPress já utiliza essa funcionalidade no seu core, você sabia que páginas são posts? Porém são um tipo de post exclusivo, denominados páginas, no banco de dados do WordPress estão posts e páginas juntos na mesma tabela.

Plugin Custom Content Type Manager

um blog novo no menu
um blog novo no menu

Para trabalhar com essa funcionalidade sem alterar o código-fonte do seu tema existe a opção de utilizar o plugin Custom Content Type Manager, que permite adicionar e editar post types facilmente.

Para criar um tipo de post utilizando este plugin  é muito simples, após a instalação você pode escolher o nome e um ícone para seu tipo de post e um menu aparece no painel, como na imagem ao lado. Assim você tem um novo blog dentro do WordPress, é aberto no menu um item novo, igual ao dos posts.

adicionando um post customizado
adicionando um post customizado

A tela para adicionar um post é parecida com a padrão, mas sem categorias e tags, como você pode ver na imagem ao lado. Para quem precisa criar um blog novo e está com pressa esse plugin ajuda muito, como no caso de um cliente que tem um game usando o WordPress e utilizou post type para as atividades que os jogadores precisam cumprir.

Plugin Post Type Switcher

mudando tipo de post
mudando tipo de post

A última dica é o plugin Post Type Switcher, com ele é possível trocar o tipo de um post, uma caixinha de seleção aparece no menu de edição, que permite alterar facilmente o tipo do post. Se você quer, por exemplo, transformar um Post em Página.

 

WordPress MU x custom post yype
O que vale mais a pena, habilitar o WordPress MU e criar novos blogs ou utilizar estes plugins? Na minha opinião, ativar o MU é mais trabalhoso, mas tenha em mente que o custom post types é bem limitado, essa funcionalidade é boa para organizar o conteúdo, ainda mais em alguns casos quando já se tem um blog e não quer misturar os posts. Do ponto de vista do desenvolvedor é ainda mais importante para deixar o banco de dados organizados.

Plugin portable phpMyAdmin

phpmyadmin_logo_300x300Desenvolvedores de WordPress que são da turma da pesada, ou seja, que alteram php e banco de dados do sistema sabem que ficar trocando de tela, aba ou janela atrapalha muito, ainda mais quando tem muita coisa aberta na tela, fazer os caminhos de ida e volta podem exigir muita concentração. Para evitar ficar abrindo abas e logando no phpMyAdmin fui procurar uma solução.

Quando descobri esse plugin fiquei muito feliz mesmo, é tão bom que eu não vou precisar de mais de um parágrafo para te convencer a instalar, se você responder sim a minha pergunta você vai terminar de ler esse post e vai direto fazer a instalação. Você utiliza WordPress e phpMyAdmin? Então saia correndo daqui e vá instalar o Portable phpMyAdmin, sem mais delongas, esse é um must-have. Um novo item aparece no menu do seu WordPress com seu phpMyAdmin sempre pronto, esse desenvolvedor merece um troféu pela solução criativa, tenho instalado este plugin em todos os meus projetos.

Referências

http://wordpress.org/extend/plugins/portable-phpmyadmin/ – Site oficial do plugin

WordPress com suporte a vários idiomas

Hello my friend, estamos hoje conectados na teia mundial de computadores e mesmo um site de uma empresa brasileira pode ter uma versão tipo exportação, com suporte a vários idiomas, com o plugin qTranslate você pode dar suporte a qualquer idioma de maneira muy fácil. Chineses, franceses, alemães, russos, todos vão poder acessar seu site e se sentir em casa e quem sabe até comprar seus produtos ou serviços?

Nada se compara a um site acessível to the whole world, prepare seu site para o acesso de estrangeiros com suporte à outros idiomas, uma simples bandeirinha para trocar toda a linguagem do site e o gringo se sente em casa.

Plugin qTranslate

Existem diversos plugins para dar suporte a multi linguagem, mas como diz a própria descrição do plugin, você vai testar outros e acabar voltando para o plugin qTranslate, que recebe o selo F5 Sites de qualidade máxima, pode ser visto em prática no nosso projeto Pomodoros, que tem suporte a inglês e português. Look the sceenshots para entender como funciona essa belezinha:

tela permite ter o mesmo posts em vários idioma
tela permite ter o mesmo posts em vários idioma

O post é curto mas o conteúdo é precioso, aproveite nossa dica de plugin e impressione seus clientes e visitantes.

Sublime Text 2 com pacote para desenvolvedores WordPress

Qual editor você utiliza para seus projetos em WordPress? Existem dezenas de centenas de editores na internet, eu sou fã do bloco de notas ou do notepad++, até o gedit do linux para mim já está de bom tamanho, sou da filosofia de quanto mais simples melhor, ainda quero aprender a utilizar o Eclipse, uma IDE completa, mas ainda não tive a oportunidade.

Sublime com WordPress
Sublime com WordPress

Comecei recentemente um novo projeto e me foi recomendado pelo gestor conhecer o editor que ele utilizava, o Sublime Text 2, por ser muito leve e ter funcionalidades que interessa dentro do escopo do projeto. Gosto muito de conhecer novas tecnologias e fiquei surpreso com a versatilidade desse editor, tenho instalado tanto no Windows quanto no Linux.

Para eu abandonar meu bloco de notas era preciso que existesse algum “tcham”, algo mais que realmente fizesse minha vida melhor. Em uma busca rápida no Google encontrei um tutorial que ensina a instalar pacotes para incrementar o Sublime com novas funcionalidades e dentro desses pacotes um me chamou a atenção, o pacote de WordPress, que vem com todas as funções e tags fazendo um auto-complete super eficiente.

Gostei muito desse recurso e agora estou utilizando o Sublime “oficialmente” para meus projetos, para programadores WordPress eu recomendo e vou ensinar a instalar, é muito fácil mesmo.

Parte 2 – Instalando o pacote WordPress

Abra o Sublime e navegue para Preferências->Visualizar Pacotes (preferences->browse packages), você vai cair num diretório com todos os pacotes, basta baixar o zip no link abaixo e extrair nessa pasta, então reiniciar o programa. Agora você já vai ter o recurso de auto completar com funções do WordPress.

Referências

http://www.sublimetext.com/ – Página oficial do Sublime

https://github.com/purplefish32/sublime-text-2-wordpress – Pacote de recursos WordPress para Sublime

http://clintberry.com/2012/sublime-text-2-php-symfony-development/ – Post ensinando a instalar vários pacotes para PHP e WordPress no Sublime, em inglês

Publicando o post automaticamente no Facebook e Twitter

Plugins utilizados Twitter Publisher e Wordbooker

Parece cenário de ficção científica pensar em apertar o botão “publicar” do post e o mesmo criar um tweet e um post no Facebook, mas sim meus caros, isso é possível. Ficar “bombando” nossas próprias páginas manualmente é muito demorado, já não basta ter o trabalho de escrever o post ainda ter que ficar colando os links e descrição em cada rede social. Apresento dois plugins camaradas que vão fazer você demitir o estagiário.

Plugin 1 – Twitter Publisher

Teste
Configurando o Twitter Publisher

Fácil de configurar e ainda permite algumas opções “extras”. Para configurar basta logar na sua conta do Twitter, que o plugin pega as informações e se “auto configura”. Esse plugin tem um pequeno problema, se você atualiza um post que já foi publicado ele cria mais um tweet, ou seja, o plugin não sabe a diferença entre “publicar” e “atualizar”. Mas tem uma opção para contornar esse problema, como pode ser visto na captura de tela o checkbox “

Plugin 2 – Wordbooker

wr
WordBooker configurações

Eu já testei dezenas de plugins de Facebook que prometem publicar seu post automaticamente e na minha opinião esse é o melhor, a integração não é muito trabalhosa e cumpre muito bem sua função, mas tem tantas opções que eu ainda estou perdido, não tive tempo para testar cada configuração. Agora quando um post é lançado no blog ele atualiza meu perfil no Facebook e a fanpage do blog F5 Sites, jogando um post no wall.

A configuração é rápida, basta logar na sua conta que ele carrega todas as suas fanpages e você pode escolher em qual publicar, além de permitir publicar no seu mural, como você pode ver na captura de tela ao lado. Esse plugin é fundamental para quem tem página no face e o tenho instalado em outros blogs.

 

Conclusão

Dois plugins ótimos para quem utiliza a dupla dinâmica Facebook e Twitter, pode economizar muito tempo. Mais uma dica que vale ouro para você melhorar seu blog e deixar seus leitores atualizados com seus últimos posts.

Agendando posts para serem publicados futuramente, plugins Editorial Calendar e Future Posts

Parte 1 – Publicando com frequência

Todos gostam de blogs atualizados com frequência, todos temos nossos blogs favoritos que visitamos frequentemente, mas quanto de nós temos blogs que são favoritos de outros pessoas? Escrever pode ser um exercício solitário e muitas pessoas tem um blog apenas para dar vazão a seus sentimentos, muitos escrevem crônicas, poesias e até mesmo post técnicos com muita qualidade, porém ainda não conseguem atingir um nível de profissionalismo.

Escritores todos podemos ser, além de dominar a língua portuguesa é necessário ter um assunto, algo para discorrer e pronto, é só começar a escrever. Pegando exemplo de alguns cronistas de jornal, como o Ignácio de Loyola Brandão ou Luís Fernando Veríssimo, são conceituados escritores na suas áreas, mas o que eles tem em comum?

Além da qualidade do texto, todos escrevem semanalmente para o jornal o Estado de São Paulo, a frequência deles é implacável, dificilmente eles vão “falhar” e deixar o espaço do jornal vazio, porque são profissionais. Essa é a diferença do escritor de vez em quando para o escritor profissional, a frequência de publicação. Leio suas crônicas há anos, tem dias que os textos são incríveis, tem dias que nem tanto, mas da para perceber que sempre eles dão o sangue e o suor visando algo para encantar seu público.

Dito isso deixo claro que eu mesmo não sou um escritor profissional, estou tentando melhorar a frequência dos meus textos e acabei encontrando um caminho interessante, um truque que todos podemos ter na manga, textos prontos e agendados. Quando um escritor vai tirar férias o que ele faz? Prepara alguns textos antes de fazer as malas, algo que está ao alcance de todos nós e que se todos seguíssemos teríamos blogs muito melhores.

Aqui no blog F5 Sites eu escolhi quinta-feira como dia oficial para a publicação do posts, assim tenho agendado para as próximas quinta-feiras vários post. Dica para quem está começando, não publique seu primeiro texto, salve como rascunho, faça isso até chegar a 10 textos e depois você pode agendá-los e assim ter uma “folga” para escrever outros, sem tanta pressão.

Parte 2 – Como o WordPress pode te ajudar?

A caixa de edição padrão do sistema

Agendando publicação
Agendando publicação

O WordPress já vem com tudo pronto para você agendar sua publicação, antes de publicar você pode abrir uma pequena caixa extra com a opção para escolher as datas de publicação. Como você pode ver na imagem ao lado é possível digitar manualmente a data que deseja para a publicação, uma mão na roda para quem deseja ter um blog profissional com textos agendados.

Essa ferramenta é incrível e pode ajudar os escritores a tirarem suas merecidas férias ou aliviarem a pressão por textos novos e com os plugins do WordPress essa tarefa pode ficar mais fácil. Abaixo dou dicas de dois plugins que vão facilitar esse trabalho.

 

Plugin Future Posts

Calendário no painel de edição de posts
Calendário no painel de edição

Confesso que depois de agendar algumas publicações fiquei meio perdido, não lembrava mais que post estava agendado para qual data, a tela do WordPress também se mostrava limitada, me incomodava ter que abrir o calendário para ver a data e então digitar manualmente no campo.

Encontrei um plugin que ajuda nesse processo, após instalar e ativar o plugin Future Posts uma caixinha com um calendário aparece no menu, mostrando as datas dos posts agendados e permitindo que se clique no dia desejado para configurar o agendamento para a data. Posso dizer que melhorou muito a minha experiência.

Plugin Editorial Calendar

Calendário completo com todos os posts agendados e já publicados
Calendário completo

Com uma pegada um pouco diferente, o plugin Editorial Calendar permite visualizar de maneira mais organizadas os posts agendados. Um novo item no painel do administrador aparece para exibir um calendário completo para você bancar o editor do seu blog, acesse pelo caminho Posts->Calendário. A ideia é fazer o controle dos posts para os próximos meses, além de também mostras as publicações passadas e uma caixinha ao lado do calendário com os seus rascunhos.

A ideia aqui é trocar o chapéu, em vez de ser somente autor dos seus posts você também pode ser o editor, o responsável por organizar as próximas publicações, o melhor é a função de arrastar (drag-and-drop) para trocar as datas dos posts, é fantástico e faz desse um plugin obrigatório. Esse plugin também me ajudou muito e recomendo.

Conclusão

O WordPress é incrível e sempre me surpreende, permitir agendar posts é ótimo para organizar nossos blogs e com os dois plugins acima essa tarefa fica mais fácil. Os dois plugins se complementam e usados juntos melhoram a experiência e quem ganha com tudo isso é o seu leitor, que vai frequentar seu blog em vez de visitar de vez em quando.

Referências

http://www.noupe.com/wordpress/25-useful-free-wordpress-plugins-for-multi-author-blogs.html – Encontrei esses dois plugins nessa lista, site em Inglês

Como exibir os últimos tweets no seu site?

Você só precisa instalar o plugin (Un)Official Twitter Widget

Após a instalação irá aparecer uma nova caixinha na tela de widgets, arraste e configure para o local desejado

E o resultado é incrível, seu site integrado com o twitter em menos de 60s

Não poderia deixar de dizer, siga @f5sites no twitter e fique por dentro das melhores dicas de WordPress

Como instalar plugin de Google Analytics para WordPress em menos de 1 minuto: Google Analyticator

Widget do Analytics

Esse plugin foi feito pra quem sabe resolver os problemas de maneira rápida e simples, com poucos cliques. Conheça o plugin Google Analyticator, após instalar é só linkar sua conta do Google Analytics existente ao seu site, o plugin configura automaticamente seu site, todas as páginas e posts.

Esse plugin oferece duas grandes vantagens, a primeira é que a autenticação no é super simples, basta fazer o login e escolher o domínio que vai ser monitorado, você não precisa copiar e colar o código do Google em cada página.

A segunda vantagem é que ele joga um widget no painel do administrador, então assim que entrar no site já tem as informações do Google Analytics. É instalar o plugin e habilitar sua conta, as duas vantagens desse incrível plugin:

  • Acesso automático na sua conta do Google Analytics, não precisa copiar e colar o código
  • Widget com informações detalhadas na página inicial do administrador

Ele ainda tem a opção para você mostrar um contador de visita no seu site, usando um widget na barra lateral do seu site, com diversas opções de configuração. As imagens abaixo mostram duas possibilidades, entre outras, para colocar no seu site:

Contador de visitas

Hits

.
.
.
.
.
.
.
.

Da para instalar e configurar o plugin em menos de 1 minuto tranquilamente. Mas lembre-se que só é possível instalar plugins em WordPress hospedados.

 

Dica de Plugin: Ultimate Category Excluder

    Dica de Plugin: Ultimate Category Excluder

    É preciso garantir que as categorias ficam também organizadas no feed de notícias, percebi que os posts sobre os clientes, portfolio, serviços e interno, que não são postagens do blog principal, mas só servem para organizar as informações, estavam sendo queimados no feed. Isso fazia com que os assinantes do feed recebessem informações que deveriam ser exclusivas do site, para resolver esse problema instalei o plugin Ultimate Category Excluder, assim pude excluir as categorias certas do feed e deixar somente as categoria com artigos endereçados aos leitores, sendo assim, apenas as informações selecionadas chegam aos nossos assinantes.

    O plugin permite excluir categorias da Página Principal (main page)Feeds eArquivos (archives), como pode ser visto na captura de tela abaixo:

Captura de tela de como configurar o plugin Ultimate Category Excluder

 

Melhor plugin de slideshow (banner rotator) para WordPress: wp-cycle!

Pesquisei algumas soluções de banner rotator para um cliente, já estava habituado a utilizar o plug-in NextGen Gallery e resolvi não pesquisar outras soluções, pois tudo que eu (achava) que precisava estava listado em sua descrição, as configurações deste plugin são tantas que achei que deveria ter de tudo. Porém um problema apareceu somente após ter instalado o plugin, configurado e, depois de muito pesquisar, descoberto como utilizar a template tag para exibir o slideshow fora de posts ou páginas.

O problema é que o NextGen não permite a adição de links nas imagens, quando se clicava na imagem do banner apenas pulava para a próxima, nada de link. Mesmo depois de passar horas lendo um tutorial avançado de integração com outro plugin nada consegui, só depois de passar por todas as etapas deste tutorial percebi que essa solução não iria resolver meu problema. Era tanto detalhe que comecei a me encher deste plugin, e conversando com o próprio cliente ainda recebo a mensagem: “de pouco me serve um slideshow que não permite links”, o que é muito verdade.

O plugin wp-cycle

Um plugin muito mais simples, wp-cycle, que foi criado exclusivamente para servir de slideshow resolveu o problema. Esse plugin permite adicionar imagens de maneira simples, e na mesma tela já adicionar o link. As configurações são básicas (o que é ótimo) e permitem que em pouco tempo seu banner esteja no ar. Para utilizar basta utilizar a template tag:

<?php if (function_exists(“wp_cycle”)) wp_cycle(); ?>

Abaixo uma captura de tela das configurações:

Captura de tela: wp-cycle

Conclusão: Wp-cycle x NextGen Gallery

Se você deseja um simples slideshow fique com wp-cycle, se você tem horas para testar configurações e as mais inimagináveis e complicadas integrações utilize o NextGen.