Dicas sobre desenvolvimento de software, gestão e tributações

Rede Social

28 de março de 2018

O que é Structured Data (Dados Estruturados)?


O que é Structured Data para o Google?
     Structured Data são dados exibidos entre o título e a descrição da página. Você já deve ter visto quando procura por sites de compras ou notícias por exemplo, que em muitas vezes mostram os números de reviwes, preços, ratings (avaliações), informações sobre estoque etc.
     Para exemplificar vamos ao google e digitar "smart tv 32 lg":

     Veja que na imagem entre o título "Smart TV LED 32" LG" e a descrição "Smart TV LED 32" LG 32LJ600B webOS" existe as estrelas de avaliação 4,6 - 276 comentários - R$ 1.139,05 - Em estoque.
É exatamente desses dados que estamos falando neste artigo. Mas estes são apenas alguns dos vários disponíveis em vários segmentos. Com eles você pode literalmente falar com os buscadores quais informações são relevantes e você quer que sejam exibidas com destaques.

Por que é importante para um site?
    Vamos tomar o exemplo dado acima, onde mesmo antes de clicar para entrar no site o usuário já tem as informações de preço do produto, que o mesmo tem uma boa avaliação, que possui vários comentários a respeito em que ele pode pesquisar para extrair mais informações de quem já conhece o produto e que o mesmo está disponível em estoque, isso faz com que o as visitas da página tenham uma probabilidade de comprar o produto maior, pois o usuário já tem várias informações à mão e está mais interessado em finalizar a compra do que alguém que apenas está olhando preços em vários sites por exemplo.

Como adicionar Structured Data para o Google?
     Para isso você deve adicionar algumas tags no código html das suas páginas. Para isso temos algumas opções como inserir manualmente no código, onde para quem conhece o básico de html já é possível se aventurar, ou então utilizar alguma ferramenta que faça isso de forma mais amigável.

    Segue a documentação oficial das tags disponíveis para esse exemplo dado acima que é para produtos, mas existem muitos outros tipos como:
  • Artigo
  • Curso
  • Livro
  • Revisão
  • Vídeo
  • Etc.

     Existem ferramentas que fazem até a validação deste conteúdo como por exemplo a ferramenta do próprio Google testing tool.
    Outra ferramenta interessante é o Tag Manager que faz um gerenciamento completo das páginas, não apenas das tags Structured data e também de forma mais visual onde não apenas programadores conseguem entender, mas a equipe de marketing digital terá certa facilidade em seu uso.

     Lembrando que este post é mais introdutório, em breve estarei realizando outras postagens mais específicas sobre o assunto.

Ler

13 de março de 2018

Dictionary C#


A classe Dictionary representa uma lista de chaves e valores, onde é necessário utilizar uma chave única para identificar um valor qualquer (int, string, classe).
Para manipular esse objeto é como uma lista qualquer, com a diferença que no final das contas é com uma matriz que estamos lidando.

Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("chave1", "valor1");
dict.Add("chave2", "valor2");
dict.Add("chave3", "valor3");

Para retornarmos por exemplo o valor3 em uma string devemos usar:
string teste = dict["chave3"];

Caso for setado um valor a uma chave que não existe ela será criada:
dict["chave4"] = "valorTeste;
A chave4 será adicionada com o "valorTeste".

A chave sempre será única por tanto caso se tente adicionar uma chave já existente uma exceção será gerada.

Uma forma para verificar se a chave existe é utilizando o método ContainsKey como no exemplo:
if (dict.ContainsKey("chave8"))
{
    string value = "";
    dict.TryGetValue("tif", out value);
}
else
    dict.Add("chave8", "valor8");

Para executar um foreach no Dictionary utilizaremos o KeyValuePair
foreach (KeyValuePair<string, string> kvp in dict )
{
    Console.WriteLine("Key = {0}, Value = {1}",
        kvp.Key, kvp.Value);
}

Lembrando que este é um exemplo simples apenas para facilitar o entendimento de quem ainda não conhece o Dictionary, após isso tente utilizar não somente com strings, mas sim com classe
Dictionary<string, MinhaClasse> dict = new Dictionary<string, MinhaClasse>();
Ou até mesmo uma lista de classes
Dictionary<string, List<MinhaClasse>> dict = new Dictionary<string, List<MinhaClasse>>();
que é onde o Dictionary passa a ser ainda mais útil.

Também pode-se utilizar de outras formas para trabalhar jutamente com ele, como por exemplo LINQ
var valores = from item in dict
                      where item.Value == "valor8"
                      select item.Key;

Vale a pena dar uma conferida na documentação oficial.

Ler

8 de março de 2018

UX: Conhecendo MVP e MLP


     A sigla MVP significa Minimum Viable Product ou Produto Mínimo Viável, o que nada mais é do que um conjunto de funcionalidades que fazem o projeto ser um produto. Consiste no núcleo do produto, a idéia central ou inicial do mesmo.
     Ele é bastante útil para sabermos se o projeto terá aceitação ou se está realmente no caminho certo antes mesmo de se ter um produto completo, isso faz com que se economize tempo e dinheiro.
     Vamos a um exemplo:
     Estamos com a ideia de criar um aplicativo, ele servirá para pessoas chamarem um técnico em informática para resolver problemas em seus computadores ou celulares. Mas ainda não sabemos se isso será realmente rentável e se terá uma boa procura, pois precisamos de técnicos cadastrados, usuários que confiem em um app, afinal o usuário e o técnico irão se encontrar, precisamos também saber como será feita a monetização se será cobrada uma taxa dos técnicos ou se terá propagandas etc.
     Portanto, podemos criar um aplicativo simples que terá o cadastro de técnicos, de usuários e um campo para busca de técnicos com endereço próximo.
     E para medir a aceitação definimos caso o aplicativo tenha um número X de downloads por semana, o mesmo será feito com as próximas funcionalidades (feedback sobre o técnico, rankeamento de técnicos e clientes, busca por mapa, chat e etc.)
     Agora imagine se só testamos o conceito do aplicativo depois de feitas todas essas funcionalidades que com certeza demandam bastante tempo investido.
     Já o MLP significa Minimum Loveable Product ou, em português, Produto Mínimo Adorável (Encantador), que em resumo é o MVP, mas com alguns incrementos. O MLP consiste em tentar agregar algo também simples, também em um estado inicial, mas mais atrativo para o usuário ou cliente.
     Voltando ao nosso exemplo, além de termos os cadastros e a busca, já pensaríamos por exemplo em ter um bom layout e um bom visual, mesmo que ainda não sejam os finais, os mais trabalhados, mas que sejam bastante aceitáveis para os usuários e os técnicos, é basicamente fazer com que os usuários tenham a sensação de que o aplicativo já está mais próximo do final, mesmo com poucas funcionalidades.

     Segue uma imagem com um comparativo muito interessante entre os dois.
Comparação MVP e MLP

Ler

6 de março de 2018

SEO: Sitemap o que é e como fazer


    Para você que está desenvolvendo o trabalho de SEO este assunto é de grande importância, mesmo não sendo 100% garantido que se terá uma melhora tão relevante ela existe e é um assunto bem interessante.
    Sitemap é exatamente um mapa que irá direcionar os mecanismos de busca através do seu site. E é vantajoso de ser utilizado pelo fato de garantir que todas as páginas possam ser indexadas pelos buscadores, afinal ele terá um mapa do seu site.
    Existem várias formas de se utilizar o sitemap, uma delas é através de um arquivo xml. É um arquivo XML simples, que pode conter no máximo 50.000 URLs desde que 10MB.

    Esse arquivo deve seguir o seguinte padrão de tags:
<xml> Tag inicial do arquivo;
<urlset> Tag para indicar o início e fim de um grupo de URLs para serem rastreadas e indexadas;
<url> Tag para definir a url em si;
<loc> Localização da URL completa da página informada;

Também existem algumas tags opcionais que podem passar mais informações para os buscadores
<lastmod> Para indicar a data da última modificação da página;
<changefreq> Esta tag serve para sugerir aos robôs com qual frequência eles devem rastrear a página;
<priority> Serve para indicar o nível de prioridade da página com relação às outras especificadas na urlset.
     
    Uma outra opção é por arquivo TXT, que é ainda mais simples, mas também com menos opções de controle aos buscadores, a única coisa que se tem a fazer é listar as urls do site, uma em cada linha do arquivo.
    
    Lembrando que é importante utilizar as urls canônicas na listagem dos arquivos. Também vale a pena ver o que o próprio Google sugere com relação ao sitemap.

Ferramentas: 
    O Google fornece a ferramenta Google Site Map Generator que cria sitemaps.
    Também tem o site xml sitemaps que disponibiliza uma opção gratuita para criação de sitemaps de uma forma simples e intuitiva.
Ler

1 de março de 2018

SEO: Page Speed, o que é e para que serve


     O Google é quem nos fornece essa ferramenta tão boa chamada Page Speed, a função dela é mostrar pontos que podem ser melhorados na página para otimizar a velocidade principalmente no carregamento da mesma.
     Certo, mas o que uma ferramenta para otimizar o carregamento do site tem a ver com SEO? Tecnicamente tudo, isso por que o carregamento rápido tanto em dispositivos móveis quanto em computadores influenciam nos ranqueamentos.
     Seu uso é bastante simples, basta acessar o site https://developers.google.com/speed/pagespeed/insights/?hl=pt-BR digitar a url do seu site e clicar em analisar. A partir daí o a ferramenta vai te retornar uma pontuação para dispositivos móveis e outra para computadores, essa pontuação varia de 0 a 100, onde quanto maior melhor.
     Abaixo um exemplo onde coloquei o youtube para ser analisado.

Page Insights

Juntamente com a pontuação são exibidas dicas do que fazer para melhorá-la (se for o caso). Você pode conferir a lista completa de sugestões aqui https://developers.google.com/speed/docs/insights/rules.

Ler