Skip to main content

Adicionando Botão Google+1 (Plus One)

Seguindo a tendência de compartilhamento de conteúdo, como o twitter e o like do facebook, o google lançou o projeto plus one (Google+1). Para que você compartilhe com sua rede de relacionamento as páginas que você gosta e recomenda.

Muito provável que isso também influencie no seu posicionamento nos mecanismos de pesquisa do google. E é de graça, então não custa nada colocarmos no site, vai que…

Ah! Você ainda não sabe o que é esse tal de Google+1??? Então veja no site: www.google.com/+1/button

Vou mostrar apenas UMA das inúmeras formas de inserir esse widget no Magento. Primeiro você deve entrar no google webmaster para escolher a configuração do seu botão, coisas como tamanho e idioma: www.google.com/intl/pt-BR/webmasters/+1/button/index.html

google+1 configurações

Veja que a medida que você vai alterando as configurações, o código disponível para copiar vai mudando.  Mas basicamente são dois blocos de código a serem usados. Um import no javascript. E a tag que exibe o botão na página, bem simples.

Então copiamos o código que importa o javascript:

[js]<!– Inclua esta tag na seção head ou logo antes da tag de fechamento da seção body –>
<script type=”text/javascript” src=”https://apis.google.com/js/plusone.js”>
{lang: ‘pt-BR’}
</script>[/js]

Abra o backend do Magento e vá em: Sistema -> Configuração -> Template e na guia Rodapé cole o trecho de código no campo “Outros códigos HTML“. E não esqueça de salvar no alto da tela.

Pronto. Com isso você já “instalou” o Google+1 na sua loja. Agora é só escolher onde você quer adicionar o botão, no seu template. Copie o código disponibilizado pelo google:

[js]<!– Inclua esta tag onde desejar que o botão +1 seja exibido –>
<g:plusone size=”tall”></g:plusone>[/js]

Para efeito de exemplo, eu irei adicionar em qualquer lugar. Vou abrir uma página CMS do Magento, como a página “Quem Somos” e no menu Conteúdo vou adicionar a tag do google, salvar, e ver o resultado no frontend.

adicionando tag google+1 no magento

E está feita a mágica. Bem simples não é!? Você pode decidir adicionar esse botão apenas nas páginas de produtos ou em todo site, basta escolher o local conforme seu template/tema permite.

 

google+1 no site magento

Se você quer adicionar diretamente no seu código html, basta abrir o phtml responsável pelo bloco da página. Para isso use o debug do Magento, não tem erro, você vai alterar exatamente a página que precisa, e vai encontrar o diretório exato da página. Se não sabe usar o debug, leia o post aqui do blog.

Sucesso e Bons Negócios!

O Magento é só o começo…

O Magento abriu muitas portas e janelas de oportunidades na internet para quem deseja começar ou evoluir no mercado de vendas online.

Mas o que tenho visto, é um desprepado generalizado. Muita gente acreditando que basta ter um sistema “matador” para entrar no mercado e fazer sucesso. Caros amigos, comércio eletrônico é muito mais do que ter um site, o Magento é só o começo, a ponta do iceberg.

Tem muita gente que vai aos trancos e barrancos, resolvendo os problemas a medida que vão surgindo. O que pode levar ao desânimo e a desistência. Pois sem preparo, as pessoas não sabem que problemas irão enfrentar, e podem não saber como reagir a eles, ou reagir da pior forma possível.

Então vamos a uma visão geral sobre como vender pela internet.

De início você deve imaginar o comércio eletrônico como uma loja física, sujeita as mesmas leis e dificuldades, vai ser preciso planejamento e investimento, capacitação e contar com uma boa equipe. Você deve levar tudo a sério se quiser que as pessoas o levem a sério. O comércio eletrônico será seu ponto de venda, e o Magento a estrutura de sua loja virtual.

– Você deve abrir empresa, ter um CNPJ para emitir nota fiscal.

– Precisa ter bons fornecedores, criar parcerias.

– Analisar e classificar a concorrência.

– Traçar metas e objetivos.

– Investir em marketing e publicidade (online e offline).

– Trabalhar sua imagem nas redes sociais.

– Oferecer um ambiente seguro para seus usuários, como faria no mundo físico com a instalação de câmeras e/ou seguranças.

– Sistemas anti-fraude.

– Disponibilizar diversas formas de pagamento e facilidades, será preciso contratar as administradoras de cartão.

– Sites bem desenhados, fáceis de navegar, com usabilidade.

– Guardar, organizar e gerir o estoque físico, sempre cuidando para não perder ou estragar a mercadoria.

– Criar políticas de troca e devolução.

– Treinar uma equipe de atendimento pré e pós venda.

– Ter um pessoal para separar, conferir, e embalar os produtos.

– Contratar os correios ou outra forma de entrega rápida e segura.

– Fazer o acompanhamento dos pedidos.

– Analisar, identificar, e tomar providências para resolver problemas de comunicação interna e/ou externa (com clientes).

– Manter o site atualizado com informações, novos produtos, novas promoções.

– Manter seus clientes atualizados por email.

– Cuidar de toda ortografia e imagens usadas na comunicação com o público.

– Trabalhar continuamente com SEO e SEM.

– Criar um diferencial de mercado.

– Utilizar sempre boas estruturas de TI, como bons servidores de hospedagem.

Enfim, isso em resumo. Há muitas peculiaridades envolvidas em cada processo mencionado acima. Como o exemplo da embalagem de seus produtos, você precisa se preocupar e negociar a compra das caixas, das fitas adesivas, do papel bolha, os adesivos (ou cola) para colar endereço, a impressora que não pode ficar sem tinta, etc, etc, etc.

Depois que tiver tudo isso em mãos, basta instalar o Magento, cadastrar os produtos, divulgar o link para seus contatos e começar a vender e a ficar rico. Ou quase isso. ;)

Sucesso!

Oportunidades com Magento

Desnecessário falar que você pode ganhar dinheiro com Magento vendendo produtos e/ou serviços. Mas não é só assim que se ganha dinheiro usando Magento.

O comércio eletrônico está em constante crescimento, e o Magento cada vez mais líder de mercado em sua categoria. Então as oportunidades para quem domina essa ferramenta vão aumentando a cada dia. Vejamos que tipos de oportunidades são essas, para que você possa se preparar adequadamente.

Uma das mais procuradas pelo mercado parece ser a posição de webdesigner, que tem por tarefa construir leiautes únicos e diferenciados. Ao que o Magento chama de templates e temas.

WebDesigner: Precisa conhecer muito de HTML e CSS (padrão Tableless), mas é conhecer de verdade, não apenas saber que existe ou diser que sabe usar só porque já usou uma vez. Conhecimento em XML também é fundamental, quanto mais conhecer de XML melhor, senão pode apanhar um pouco para montar os blocos na tela.

Outra função que cresce na mesma proporção é a do desenvolvedor php. O programador que é capaz de criar e alterar rotinas do código, transformando ou potencializando funções do sistema. No Magento nos referimos a criação de módulos (plugins/extensões).

Desenvolvedor: Precisa conhecer PHP, aliás conhecer não, ter experiência, pois o código é imenso. Vai economizar horas de trabalho se souber trabalhar com o framework Zend e entender de MVC. Design Pattern’s (Padrões de Projetos) seria um diferencial importante para navegar com tranquilidade entre os arquivos do sistema.

Tem uma outra função que nem encontro comentários aqui no Brasil ainda. Mas podem se preparar, pois em determinado nível de crescimento será preciso contar com um analista de infra-estrutura. Vou me referir apenas como analista, mas entenda que é quem prepara todo o terreno virtual para suportar a demanda do sistema.

Analista: Precisa entender de teoria e prática. Precisa ser um DBA, ou seja, um administrador de banco de dados, entender de SQL e estruturas de tabelas e relacionamentos. Também precisa entender de servidores web, principalmente Apache que é o mais utilizado pelo Magento. Configurações de diretórios virtuais, otimização de cache, fluxo de rede, etc.

Uma etapa muito importante no processo, é da correta instalação e configuração do sistema. Pois o Magento é totalmente americanizado, preparado para realidade deles. Então é preciso tomar alguns cuidados desde o momento da instalação, conexão com servidor, banco de dados, mecanismos de segurança, permissões. E ainda configurar corretamente o sistema para rodar em nosso idioma, com a nossa moeda, com meios de pagamento e entregas nacionais. Ou seja, um técnico especializado nisso.

Técnico: Assim como um técnico de futebol é importante para o bom desempenho do time e precisa conhecer todas as jogadas e possibilidades que tem em mãos, um técnico de instalação tem o mesmo peso e responsabilidade. Um pequeno erro aqui pode gerar grandes complicações no futuro. É preciso estudar bem o Magento e suas funcionalidades e opções. E mais, precisa entender as consequencias de cada escolha. Experiência de campo é fundamental.

E não menos importante, temos o pessoal que vai usar a ferramenta em sua totalidade (frontend/backend). Podem ocupar diversos níveis dentro da empresa. Desde o dono ou gerente que administra e acompanha as vendas, a equipe de marketing que prepara as promoções, banners, campanhas SEO, relacionamentos com clientes, web 2.0, newsletters, pessoal da logística, etc.

Gerentes e Operadores: Precisam conhecer as funcionalidades do sistema para tirarem bom proveito de todos os recursos disponíveis. Precisam conhecer bem o módulo que irão operar, e precisam entender de comércio eletrônico. Claro que nesse caso existem diversas especializações extra-magento que precisam ser adquiridas para cada posição.

O mercado já está procurando por pessoas assim, e você precisa escolher um caminho a seguir. Você também pode decidir ficar bom em todos eles e se tornar um Especialista. Vai depender mais da sua vontade e desempenho.

O lugar certo para aprender e se especializar você já encontrou. E a leitura deste artigo é um passo a frente da concorrência. Parabéns, e seja bem vindo a Escola Magento.

Sucesso!

Alternativas ao Magento

Muita gente que está começando com Magento sente extrema dificuldade em entender seu funcionamento. O que é relativamente normal, já que o Magento é uma plataforma robusta de comércio eletrônico, cheia de recursos, e totalmente configurável, construida sobre a arquitetura Zend Framework, com várias tecnologias e padrões de desenvolvimento.

Isso sem mencionar as pessoas que subestimam o sistema, achando que não passa de um simples CMS, e que com 2 ou 3 cliques já irão desvendar todos as funcionalidades do sistema. Ainda tem outro fator. Você precisa estudar o básico de comércio eletrônico, por favor, senão vai olhar pro Magento como se fosse um quadro exposto num museu, olhando e admirando sua complexidade sem entender o que está vendo.

Bom, mas vamos ao foco de nosso artigo. O Magento não é o único sistema de comércio eletrônico open-source e grátis da internet. Então se você não se adaptou ao Magento, ainda pode tentar a sorte com outros sistemas.

Alguns são mais simples, outros são um pouco ultrapassados, outros serão mais limitados, e assim por diante. O ideal é entender exatamente do que sua empresa precisa, para depois comparar as ferramentas e saber o que funciona melhor pra você.

Claro que não irei citar todas as alternativas existentes, mas uma rápida lista aleatória das mais conhecidas, então vejamos:

osCommerce: Um dos primeiros (se não o primeiro) sistema ecommerce open-source gratuito a se popularizar na internet. Tem muitos cases e a comunidade é grande, o que acaba por disponibilizar muitas respostas e informações, além de muitos módulos. Dizem que um dos grandes problemas é que ele não evoluiu com a internet, ficando ultrapassado e remendado.

www.oscommerce.com

Zen Cart: O Zen Cart foi criado em 2003 como uma derivação do osCommerce. Algumas pessoas descontentes com então atual osCommerce, resolveram alterar sua estrutura de templates, códigos html/css, e incluir algumas funcionalidades como padrão do sistema. Dando origem então ao Zen Cart. Ao meu ver, o grande problema aqui é que temos mais do mesmo, ou seja, basicamente teremos as mesmas vantagens e desvantagens do já citado osCommerce.

www.zen-cart.com

PrestaShop: Um sistema relativamente novo e fácil. Por novo devemos entender como atual, ou seja, bom para os mecanismos de busca, rico visualmente, fácil de administrar e configurar. Também é simples, o que é bom para quem esta começando e não precisa de tantos recursos quanto o Magento oferece. Particularmente se não exsitisse o Magento, eu estaria de olho no PrestaShop.

www.prestashop.com

VirtueMart: Esse não é bem um sistema de ecommerce. Na verdade é o CMS Joomla rodando sob um plugin de comércio eletrônico de nome VirtueMart. Então não espere contar com todos os recursos de uma loja virtual especializada. Mas se suas vendas são baseadas em conteúdo, com foco em artigos e tutoriais, pode ser uma ótima opção, pois tem total integração com Joomla e suas funcionalidades nativas.

www.virtuemart.net

CRE Loaded: Imagine um sistema criado a partir do osCommerce, com objetivo de melhorar sua estrutura e adicionar novos componentes. Sim, você provavelmente lembrou do já citado Zen Cart. Pois o CRE Loaded é a mesma coisa. Porém desenvolvido por outro grupo, e com outros princípios. Mais do mesmo.

www.creloaded.com

Essas são algumas alternativas ao Magento. Claro que se você ficar comparando as ferramentas, vai acabar voltando pro Magento. E se ficar procurando por informações na internet também, vai voltar para o Magento. Mas como eu disse antes, procure ver as suas necessidades quanto a sistema, e depois decida qual ferramenta lhe cai melhor. Afinal, ninguém precisa de uma bazuca pra matar um mosquito.

Leia também o post O que é Magento para ter uma base comparativa com as citadas acima. E leia também O que o Magento Oferece? que mostra uma lista de vantagens da ferramenta.

Sucesso!

O que o Magento oferece?

A pergunta que não quer calar para quem esta conhecendo o Magento agora é exatamente esta: mas afinal, o que tem nesse Magento, o que ele oferece, por que é considerado tão bom assim?

No site oficial você encontra uma página destinada a responder essa pergunta, e curioso, tem até um arquivo pdf listando os recursos da ferramenta. E este pequeno arquivo possui 7 páginas para descrever as vantagens de se usar o Magento.

Claro que eu não vou me estender tanto assim. E antes de começar a apontar as qualidades da ferramenta, quero deixar claro que não considero o Magento perfeito. Ele possui sim suas falhas, bugs, código mal escritos, processos que poderiam ser otimizados, etc.

Maior prova disso está na atualização das versões. Sempre que sai uma nova versão, você encontra uma lista de correções, algumas reescrita de códigos ou estruturas, e claro, algumas novidades.

Só o fato de ser uma ferramenta gratuita e open-source já é uma grande vantagem. Além de ser totalmente modularizado, o que possibilidade plugar novas funcionalidades muito facilmente ou até mesmo desligar as que não serão utilizadas, para economizar recursos do sistema.

Mas agora chega de historinhas e vamos aos recursos. Resumidamente é claro!

– Ferramenta de marketing promocional: O que torna possível criar preços promocionais nos produtos. Criação de cupons de descontos. Criação de regras de preços no carrinho de compras. Preços por quantidade, por grupo, por região, etc. Liberdade total para criação das suas regras.

– Otimização para mecanismos de busca: O já conhecido SEO. As páginas do Magento seguem todos os padrões recomendados para otimização de conteúdo, além de meta tags dinâmicas, url’s amigáveis, geração de sitemap, integração com API’s do google como o analytics, criação de landing pages, etc.

– Manutenção de catálogo: Você tem a possibilidade importar e/ou exportar seus produtos, o que pode ser muito útil para backups ou integração com outras ferramentas como Zura ou Buscapé. Além de integração com google base, mas esse ainda não esta disponível para nós brasileiros.

– Análises e relatórios: Um painel de controle que exibe gráficos de vendas, média de pedidos, produtos mais vendidos, melhores clientes, carrinhos abandonados, produtos mais visitados, buscas mais realizadas, relatórios, enfim, controle total para gerenciar sua loja.

– Manutenção de sites e lojas: Um recurso bem interessante do Magento, é a possibilidade de instalar diversas lojas diferentes com uma única instalação. Você administra tudo por um único backend, e pode ter diferentes frontends com domínios diferentes. Ainda tem o recurso de webservice, que permite liberar recursos do sistema para que sejam integrados a outras ferramentas, escritas em qualquer linguagem de programação.

– Apresentação de catálogo: O Magento permite inúmeras formas de manipulação do seu catálogo no frontend. Dentre elas, a possibilidade de comparar produtos, listar em modos tabela ou lista, criar ordenações, criar filtros de navegação em menus e/ou resultados de busca. Possibilidade de adicionar comentários ou notas aos produtos.

– Apresentação de produto: Possibilidade de incluir diversas imagens ao produto. Apresentação de zoom nas imagens. Cadastro de diversos tipo de produtos. Inclusão de tags. Campos customizados, etc.

– Suporte internacional: Ou seja, você pode disponibilizar a loja em diversos idiomas e moedas. Inclusive com cotação gerada de forma automatizada.

– Entrega: Você pode habilitar a opção de frete grátis em determinadas situações. Ou a opção de entrega para múltiplos endereços no mesmo pedido. Ou ainda a opção de várias entregas para o mesmo pedido. Eu sei, não é muito comum, mas se precisar tem no sistema.

– Controle do cliente: Painel de controle para seus clientes acompanharem histórico e situação de seus pedidos, possibilidade de alterarem seus dados, cadastrarem novos endereços e acompanharem a entrega do pedido por rastreadores.

– Compatível com iphone: Totalmente compatível com dispositivo móvel como iphone e ipad.

– Tela de checkout: Possibilidade de finalizar pedido em única página, como usuário cadastrado ou visitante.

– Pagamentos: Diversas opções de pagamentos, infelizmente todas bem americanizadas. Mas totalmente livre para incluir módulos de pagamentos, e já tem muitos módulos para os meios de pagamento para os cartões de créditos e boletos bancários brasileiros.

– Manutenção de pedidos: Controle total na criação e edição de pedidos.

Chega, isso foi só um resumo. Cada um desses itens possui diversas possibilidades que nem foram comentadas aqui. E outras funcionalidades que nem citei e que você descobrirá ao usar o sistema.

Mas uma coisa é certa. Seja qual for seu modelo de vendas pela internet, o Magento atende as suas necessidades.

Sucesso!

Performance Magento – As Dicas

Vou tentar fazer aqui uma síntese das dicas e possibilidades de otimização e performance que você pode aplicar ao seu sistema Magento para ter um melhor aproveitamento da ferramenta.

Só para entedermos melhor os conceitos, a performance é melhorada quando otimizamos nossos recursos para que sejam melhor aproveitados. E otimizar um recurso não é criar nada novo, apenas usar o que já temos em mãos da melhor forma possível, ou seja, aplicando boas práticas de uso podemos otimizar esse ou qualquer sistema.

Primeiro ponto, que considero de alta importância, pois o Magento parte dele antes mesmo de ser instalado. É o local de instalação, ou seja, o servidor de hospedagem. Inclusive isso já foi tema aqui no blog em Performance Magento – Hospedagem.

Em geral as pessoas costumam começar com qualquer hospedagem barata que aceite Magento. Mas os planos básicos são muito limitados em recursos e flexibilidade. Um plano do tipo VPN VPS sempre vai ser melhor do que um compartilhado. Assim como um IP Dedicado sempre vai ser melhor que um VPS. E um plano de Cloud Computing dizem que é o futuro.

Então temos: Compartilhado -> VPS -> Dedicado -> Cloud.

Segundo ponto, tem relação direta ao primeiro sobre hospedagem. É o uso de um acelerador de cache PHP por parte do servidor. A Magento em seu site mesmo indica o uso de APC ou XCache como sistema de acelerador de cache.

Você provavelmente não vai encontrar nenhuma hospedagem compartilhada que ofereça esse recurso. Acredito que isso possa ser encontrado a partir de hospedagens do tipo VPN pra cima.

Terceiro ponto, configuração de memória do PHP e do MySQL. Seu servidor possui um arquivo chamado php.ini que contém diversas informações de execução das suas aplicações. Esse arquivo já vem pré-configurado pelo seu servidor, então se você tiver acesso a esse arquivo pode otimizar os valores de memória e tempo de execução. Para mais informações leia o manual do PHP (sessão core ini) em www.php.net.

Para o MySQL a mesma coisa, dê uma lida no manual do MySQL em dev.mysql.com.

Quarto ponto, compressão de saída gzip. Usado pela maioria dos navegadores modernos para acelerar a renderização de páginas. Você precisa configurar no seu servidor para que ele gere saídas de páginas comprimidas em gzip para que possam ser usadas pelos navegadores nesse processo. Outra vez vai depender da escolha de uma boa hospedagem para contar com este recurso.

Quinto ponto, agora sim entrando nas configurações do próprio Magento. Muitos aqui já devem saber que o Magento conta com um sistema de gerenciamento de cache interno, que deve ser desligado sempre que você estiver desenvolvendo ou alterando recursos visuais ou do sistema como já foi falado aqui no blog em Cache Quando e Por que!

Quando tiver sua loja pronta e funcionando, deixe o controle de cache interno ligado para otimizar os recursos do sistema.

Sexto ponto, o Magento também conta com recurso de indexação. Essa é uma forma de encontrar com maior segurança e agilidade as informações armazenadas pelo sistema. Procure manter sempre as informações indexadas no seu Gerenciador de Índices.

Sétimo ponto, habilite apenas o que vai usar. Em alguns pontos do sistema o Magento vem pré configurado de fábrica, como por exemplo no uso de moedas pelo sistema. Se você vai usar apenas a moeda Real Brasileiro, não tem por que carregar centenas de moedas na inicialização da variável moedas.

Pode parecer apenas um detalhe irrelevante o carregamento de uma variável do sistema. Mas como eu disse no início, otimizar é isso, saber fazer bom proveito dos recursos. Se você juntar pequenos detalhes, no final terá a soma de um resultado bem mais satisfatório.

Veja o exemplo das moedas no post Cotação Dólar x Real. Navegue pelas configurações do sistema a procura de outros valores que não precisam ser carregados.

Oitavo ponto, seguindo a mesma idéia das variáveis acima, podemos fazer o mesmo para os módulos do sistema. O Magento é composto por uma série de módulos, é módulo de cálculo de frete, módulo de pagamentos, módulo de envio de email, módulo de produtos, de categorias, de estoque, de promoções, de tags, etc, etc, etc.

E por padrão todos os módulos são inicializados, mesmo que você não utilize, ele está lá, carregado, esperando pra ser usado.

Mas se você não vai usar, ou não precisa usar, desligue. Se você não vai usar os recursos de enquete no seu site, desligue o módulo de Polls do sistema. Também já falamos sobre isso aqui no blog em Desligar Notificações da Administração.

Nono ponto, entenda os conceitos e padrões de desenvolvimento para saber qual deles você deve usar na sua loja. Estou me referindo as tabelas do tipo EAV e Flat que manipulam os dados de maneiras diferentes na sua loja, prefira o modelo Flat. Para entender melhor leia o post Performance Magento – Produtos e Categorias.

Décimo ponto, novos templates e módulos. É muito comum o pessoal sair atrás de templates “irados”, com visual mais clean ou sofisticado. Importante lembrar que, um bom designer talvez não seja um bom programador visual. Talvez ele não saiba utilizar bem os recursos do Magento e acabe fazendo da maneira que ele entende, ou seja, o suficiente para aplicar o design dele ao sistema.

Sim, uma boa “tradução” da arte para o código faz diferença. O uso de técnicas SEO, tableless, xHtml, scripts bem escritos. Isso tudo pesa na balança. Da mesma forma como os módulos personalizados, vejo “barbaridades” sendo feitas por aí, com o único objetivo de funcionar. O simples fato de escrever um módulo que utilize recursos da sessão ao invés de solicitar uma nova instância do objeto, pode fazer diferença, principalmente se for um módulo muito utilizado pelo sistema.

No blog você encontra algumas referências sobre como trabalhar com temas ou usar recursos da sessão.

Décimo Primeiro ponto. Esse é meu favorito, o efeito placebo! Dê a seus clientes algo diferente, que pareça bom, e eles vão acreditar que faz efeito. Um exemplo disso é o uso de Ajax no código, como por exemplo carregar os valores do frete na tela sem precisar atualizar a página após digitar os valores no campo CEP.

Mesmo que leve o mesmo tempo de recarregar a página, a impressão do cliente será melhor, pois o efeito visual passa essa sensação. Da mesma forma que a usabilidade do seu site, quanto mais fácil for para o cliente achar o que procura, mais rápido o site vai parecer funcionar para ele.

Então a facilidade com que ele encontra as informações, os botões, os produtos bem dispostos na tela, banners bem feitos, fontes, cores, etc. Tudo isso influência na experiência do usuário, e com certeza ajuda na otimização, mesmo que seja apenas na sensação.

Décimo Segundo ponto. Otimizar o sistema de busca da sua loja, esse assunto já foi abordado aqui no blog em Otimize sua busca usando sinônimos. Além de ser uma boa prática SEO, quanto mais fácil for para seu cliente encontrar o que procura, mais rápido ele concretiza a venda. O Magento também permite que você configure o funcionamento da busca, alterando o número de palavras no critério de busca, o tipo de combinação das palavras digitadas, tamanho máximo, etc.

Além do que, você ainda pode configurar alguns atributos dos produtos para que sejam facilmente filtráveis por um menu navegável que fica ao lado do catálogo. Esse recurso é importantíssimo para facilitar a busca de seus clientes quando você possui um catálogo com muitas opções de produtos. E claro, pequenos detalhes como a opção de organizar a lista de resultados por nome ou preço.

Décimo Terceiro ponto. Os agendamentos cron, as rotinas de atualização a qual o sistema foi configurado. É provável que você tenha algumas rotinas pré agendadas no seu sistema, como o envio automático de emails, a cotação de moedas, publicação de feeds, controle de logs, geração de backups, sitemaps, etc.

Todas essas atividades vão utilizar recursos do sistema e do servidor para serem executadas. Então evite executar as ações em horários de pico ou grande movimento no site, pois isso gera concorrência de recursos e pode apresentar lentidão em diversos momentos, dependendo da tarefa que está sendo executada e do número de visitantes do seu site.

Se você não sabe qual o melhor horário para agendar suas rotinas, procura analisar as estatísticas do seu site com o Google Analytics, e veja quais os melhores horários para as tarefas.

Chega! Acho que abordamos diversos assuntos relevantes, mesmo que sendo de forma resumida, podemos ver que não caberia explorar tudo em apenas um post. Se você tiver outras dicas, me deixe saber, compartilhe seus conhecimentos.

Se você usa um servidor em nuvens (cloud computing) veja as dicas (em inglês) para otimizar sua aplicação em servidores cloud no site da optaros.

Sucesso!

Criando Extensão no Magento Connect

Como a maioria deve saber o Magento é uma ferramenta de código fonte aberta (open-source), e isso possibilita que desenvolvedores criem extensões para o sistema. Seja para melhorar algum recurso nativo ou para disponibilizar novas funcionalidades.

Por conta disso a Varien (empresa que criou o Magento) disponibilizou uma área online para organizar e disponibilizar estes recursos, chamado de Magento Connect. Então se você criou uma extensão e deseja disponibilizar a toda comunidade, seja na forma gratuita ou paga, você pode fazê-lo de duas maneiras.

A forma mais completa seria pelo backend da sua loja, em Sistema -> Magento Connect -> Criar Extensão. Diversas opções de configuração estarão disponíveis nesse quadro.

Outra forma seria pelo próprio site do Magento usando sua conta de membro, no alto da página ao fazer o login seu nome de usuário apresenta um menu com a opção “My Account“.

Ao clicar ali você terá um menu de opções, dentre eles a opção Magento Connect -> Add new extension e Manage extensions caso você já tenha enviado alguma extensão.

criar ou gerenciar extensões

Primeiro passo é informar o tipo de extensão que você deseja enviar, se será comunitária (grátis) ou paga. Você pode futuramente converter sua extensão free para paga editando as informações de extensão.

informações de extensão

Informe um título que identifique sua extensão, o nome será sugerido com base no título que você informou. Lembrando que a palavra-chave “Magento” não poderá ser usada.

configurando extensão

Dando continuidade as informações da sua extensão, informe o tipo de licença, a compatibilidade de versões, as palavras-chaves que identificam sua extensão, a que categoria pertence e em que idioma ela estará disponível.

E por fim, anexe o pacote zipado para upload dos arquivos.

salvando extensão

No final da página você ainda pode ter um preview de como será exibida a sua extensão depois de aprovada. Clique em salvar e aguarde a aprovação da equipe do Magento.

Dica: Ao salvar, o Magento gera um arquivo xml com informações da sua extensão, caso falte alguma informação ou se verifique alguma inconsistência e/ou incompatibilidade, um erro de package.xml será exibido.

Esse assunto não se resume nesse post, ainda há muito a ser falado sobre a criação de extensões para Magento.

Sucesso!

Pesquisa de Satisfação com eBit

Você provavelmente já ouviu falar na empresa e-Bit que atualmente faz parte do grupo Buscapé! Esse post não é uma propaganda da empresa, por isso não irei falar muito sobre a empresa e suas vantagens.

Mas se você é daquelas pessoas que gostam de pesquisas de satisfação, a eBit oferece esse recurso a seus clientes, além de você colocar no seu site um selo eBit que pode mudar dependendo das avaliações dos clientes, que por consequência pode atrair mais visitantes e gerar maior confiança no site.

Então, se você ainda não possui uma conta, acesse o link www.ebit.com.br/convenio_lojas/html/convenio_lojas.asp e faça o cadastro da sua empresa e espere aprovação.

Depois de aprovado você pode usar os selos disponíveis no site da eBit na sua loja.

Na página de pedido realizado com sucesso, você pode adicionar o bloco de código fornecido pelo eBit para que seus clientes iniciem a pesquisa de satisfação, para isso abra o arquivo success.phtml que fica em app -> design -> frontend -> base -> default -> template -> checkout e insira o código como no exemplo abaixo:

De preferência logo abaixo da mensagem de sucesso. O valor XXXXXX é o código da sua loja informado pela e-bit.

pesquisa satisfação ebit

Outra forma de incentivar seus clientes a responder as pesquisas é inserindo o código também nos emails de transação, como por exemplo o email de pedido realizado com sucesso. Leia mais sobre emails de transação aqui no blog.

Dica: Se você usa o Pagamento Digital da empresa Buscapé! como forma de pagamento, então pode integrar o e-Bit com seu ckeckout nas configurações do Pagamento Digital -> Ferramentas -> eBit e inserir seu código de associado.

Sucesso!

Status de Pedido Personalizado

Uma ação que achei interessante depois de ver algumas pessoas procurando, é a opção de alterar o status do pedido para um valor personalizado. Isso é interessante se você deseja ter um controle maior dos processos ou até se você possui ações personalizadas.

No caso você poderia querer alterar o status do seu pedido para “Em Desenvolvimento“, ou “Aguardando Estoque“, “Em Trânsito“, “Em Produção“, “Aguardando Retirada“, enfim, inúmeras as possibilidades de status. Vejamos então como ativar este recurso na sua loja.

Atenção: Os procedimentos abaixo envolvem programação e alteração de arquivos do Core do sistema. Faça backup dos arquivos antes de executar qualquer alteração, e faça as alterações em um ambiente de testes antes de aplicar na loja em produção.

Neste exemplo iremos alterar 4 arquivos. Os testes foram feitos na versão 1.4.0.1 do Magento, podendo haver pequenas diferenças em outras versões.

Para começar vamos alterar o arquivo Grid.php que fica em app -> code -> core -> Mage -> Adminhtml -> Block -> Sales -> Order, responsável por carregar as opções de status na tela de Pedidos.

Dentro da função _prepareMassaction() lá pela linha 215 você deve ver um código comentado com //. Apenas retire as barras:

[php]$statuses = Mage::getSingleton(‘sales/order_config’)->getStatuses();
array_unshift($statuses, array(‘value’=>”, ‘label’=>”));
$this->getMassactionBlock()->addItem(‘change_status’, array(
‘label’=> Mage::helper(‘sales’)->__(‘Change Status’),
‘url’ => $this->getUrl(‘*/*/massStatus’),
‘additional’ => array(
‘visibility’ => array(
‘name’ => ‘status’,
‘type’ => ‘select’,
‘class’ => ‘required-entry’,
‘label’ => Mage::helper(‘sales’)->__(‘New Status’),
‘values’ => $statuses
)
)
));[/php]

Veja que no código acima ele carrega os status do arquivo config: Mage::getSingleton(‘sales/order_config’)->getStatuses();

Então vamos abrir este arquivo config.xml que fica em app -> code -> core -> Mage -> Sales -> etc, para inserirmos os status personalizados. Lá pela linha 544 você deve encontrar as tags <order><statuses> e dentro deste bloco todos os status personalizados disponíveis.

Incluiremos aqui a linha <transito translate=”label”><label>Em Transito</label></transito> ficando o bloco assim:

[xml]





[/xml]Inclua quantos status desejar, sempre cuidando para que sua tag tenha um valor único. Logo abaixo temos a tag <states> com os blocos identificados acima. Vamos inserir nosso bloco personalizado aqui também (logo abaixo de holded como no bloco anterior).

[xml]

[/xml]Lembra do código que descomentamos agora a pouco? Eu realmente espero que você lembre, senão você está com algum problema. :D

Depois de carregar a lista de status, ele chama uma função $this->getMassactionBlock() que fica no arquivo OrderController.php em app -> code -> core -> Mage -> Adminhtml -> controllers -> Sale. Procure pela função que deve estar lá pela linha 395.

Para nossa surpresa o método está em branco, ou seja, ele não faz nada. Será que a equipe do Magento esqueceu de descomentar aquele código e criar as rotinas? Nunca saberemos. hehe. Bom, então vamos colocar nosso próprio código ali dentro, ficando assim:

[php]public function massStatusAction() {
$pedidosIds = $this->getRequest()->getPost(‘order_ids’, array());
$i=0;

foreach ( $pedidosIds as $pedidoId ) {
$order = Mage::getModel(‘sales/order’)->load( $pedidoId );
$order->setNovoStatus( $this->getRequest()->getPost(‘status’) )->save();
$i++;
}

if ( $i>0 ) {
$this->_getSession()->addSuccess( $this->__( ‘%s pedidos(s) com status atualizado(s)’, $i ) );
} else {
$this->_getSession()->addError( $this->__( ‘Nenhum status de pedido foi atualizado’ ) );
}

$this->_redirect(‘*/*/’);
}[/php]

Veja que para cada pedido selecionado eu chamo uma função setNovoStatus passando o valor selecionado na tela por você. Para que isso funcione precisamos criar esse método no arquivo Order.php que fica em app -> code -> core -> Mage -> Sales -> Model, lá pela linha 1157 você deve encontrar um comentário como este:

[php]/*********************** STATUSES ***************************/[/php]

Abaixo dele adicione o seguinte código:

[php]/**
* Altera o status do pedido
*
* @param string $valor
* @return Mage_Sales_Model_Order
*/
public function setNovoStatus( $valor=” ) {
$this->setState( $valor, true );

return $this;
}[/php]

E está pronto! Agora vamos aos testes. No seu backend vá em Vendas -> Pedidos para listar todos seus pedidos. Em seguida selecione os pedidos que deseja alterar o status e na combobox Ações selecione a opção Alterar Status. Uma nova combobox deve aparecer com as opções disponíveis, selecione o status e clique em Executar.

novos status

Os pedidos terão seus status alterados, e você poderá usar o filtro para visualizar apenas os status relacionados.

Sucesso!

Restaurando Backup SQL via SSH

Após ficar alguns dias fora do ar migrando os dados de servidor, precisei restaurar alguns backups SQL dos bancos de dados. E já precisei fazer isso outras vezes para o Magento também.

Como já vimos aqui no blog, é possível fazer backup dos dados da sua loja Magento de forma simples e rápida. Já para restaurar esse backup as coisas podem se complicar um pouco.

Primeiro porque na administração do Magento não existe um botão do tipo “clique aqui e restaure suas tabelas“. Claro que, se você tiver uma base espelhada (recomendável para grandes empresas) então você poderia usar o Database Repair Tool já comentado aqui no blog.

O ideal para recuperar seu backup, seria acessar sua base MySQL, talvez pelo sistema do phpMyAdmin e usar a opção de importação, onde você apenas aponta o arquivo e ele faz todo o trabalho sujo pra você.

Acontece que a maioria dos servidores possuem restrições de tamanho e limite de tempo, em sua maioria bem reduzidos. E os arquivos de backup SQL geralmente ultrapassam em muito esses limites. Então como fazer?

Talvez o suporte da sua hospedagem solicite que você envie o arquivo SQL para que eles rodem direto no servidor. Mas se você tem um arquivo acima de 60 mega e quer fazer por conta própria, então vai precisar se conectar remotamente a sua base de dados MySQL e rodar o script de backup SQL.

Uma das formas de se conectar remotamente é usando SSH, que veremos nesse exemplo, você também poderia usar uma IDE (outros programas) que fazem conexão remota com banco de dados.

Dica: Em alguns servidores para conseguir acesso remoto usando IDE’s você precisa liberar o IP da sua máquina nas configurações do servidor.

Para deixar o processo mais simples, eu enviei o arquivo SQL por FTP para meu servidor de hospedagem, diretamente na pasta raiz (root), antes de executar os comandos abaixo.

Abra seu terminal SSH e digite o seguinte (aqui testado no terminal de um Mac Os X):

[html]ssh meulogin@ftp.meudominio.com[/html]

Se for seu primeiro acesso, ele vai dar um aviso de segurança e solicitar uma confirmação do tipo (yes/no). Em seguida ele solicita sua senha de conexão do FTP. Assim que você informar a senha corretamente, estará conectado remotamente ao seu servidor e pode enfim executar o comando de restauração do banco. Para isso digite:

[sql]mysql –user=usuariodobanco –password=senhadobanco –host=mysql.seudominio.com nomedodatabase < nomedoarquivo.sql[/sql]

Dica: Estes dados você precisou fornecer durante a instalação do Magento, se não lembra, entre em contato com suporte da sua hospedagem ou dê uma lida em re-editando configurações de instalação.

Basta digitar os dados acima corretamente e aguardar. Quanto menor o arquivo mais rápido ele vai terminar, óbvio. Aguarde o prompt de comando ficar disponível novamente, não tem mensagem de sucesso ao finalizar.

Para saber se deu certo, faça um teste, acesse seu banco de dados, veja no phpMyAdmin.

Para fechar a conexão do SSH digite: exit;

Sucesso!