Category Archives: Projetos

Resumo, especificação e andamento dos projetos. Área de interesse dos clientes!

Layout - página inicial Peta Perruge

Peta Perruge – Lançamento Abril/2014

No dia 09/04/2014, foi lançado oficialmente o novo site da Peta Perruge que é uma das casas de festas mais bonitas do Brasil.

O processo de concepção do layout, tipografia e recursos visuais foi realizado em parceria com as sócias da casa que possuem extremo bom gosto. O site é responsivo e otimizado para dispositivos móveis e resoluções não convencionais.

O projeto foi realizado em PHP / HTML5 / CSS3 e Javascript… o projeto foi totalmente pensado para o público-alvo da casa.

É possível conferir o resultado em http://www.petaperruge.com.br

Segue abaixo algumas telas do site para apreciação:

imagem do layout da página de contato

Página de localização

imagem do layout da página notícias no varal

Página Notícias no Varal

imagem do layout da página Nossas Decorações

Página Nossas Decorações

imagem do layout da página Nossas Festas

Página Nossas Festas

imagem do layout da página A Casa

Página A Casa

imagem do layout da página inicial

Página Inicial

Site - Refeisul

Novo Projeto – Refeisul Refeições Industriais

O site da Refeisul Refeições Industriais foi para o ar e tem como objetivo aumentar a abrangência dos negócios e captar novos clientes no Rio Grande do Sul. Situada em Cachoeirinha, a Refeisul presta os serviços de 

  • Refeições transportadas
  • Refeições locais
  • Eventos
  • Café da manhã, Almoços, Lanches e Jantas
Logotipos dos clientes da Refeisul

Conheça alguns clientes da Refeisul

A empresa conta com frota própria, sede própria e atua há mais de 26 anos no mercado de alimentação.

Confira mais em http://www.refeisul.com

CakePHP-Framework

Dicas para começar a desenvolver um Plugin para CakePHP

Estamos desenvolvendo um painel de administração novo e adotamos o Cake como framework para o desenvolvimento. Para facilitar o desenvolvimento, algumas funcionalidades serão desenvolvidas como plugins. Eu nunca havia trabalhado com o Cake antes, então ao iniciar o desenvolvimento do painel e criar plugins foi um pouco complicado, mas ao analisar a estrutura do plugin e do Cake, percebe-se que eles são bem simples de entender.

Então, escrevo este post para compartilhar um pouco da experiência que estou tendo e ajudar o pessoal que quer começar a desenvolver plugins!

Vale lembrar que este post considera que você já tem algum conhecimento com o framework, pelo menos o tutorial de criação de blog disponibilizado no site do CakePHP (http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/blog.html).

Caso não tenha feito, recomendo que faça antes de prosseguir e preste bastante atenção na estrutura do Cake e como ele funciona.

Obs.: Este post não é um tutorial, são dicas de utilização ;)

Não irei abordar as configurações iniciais do Cake, caso ainda não tenha o framework instalado, baixe-o aqui e extraia os arquivos no diretório do seu servidor web para acessá-lo pelo navegador (htdocs, www, etc). Feito isso, acesse-o pelo seu navegador e siga as instruções iniciais.

 A primeira dica é a criação da estrutura de um plugin.

A estrutura de diretórios de um plugin é quase a mesma do diretório ‘app’. Para não precisar criar cada diretório manualmente (Model, Controller, View, Config, Lib, etc), podemos usar o Console.

Abra o seu terminal (DOS no Windows) e vá até o diretório app/, no meu caso:

cd C:\xampp\htdocs\cake\app\

Depois digite:

Console\cake bake plugin NOME_DO_SEU_PLUGIN

É importante que você esteja no diretório app no console, senão os comandos podem não funcionar corretamente.

Ele vai pedir para você escolher o caminho onde criar a estrutura de diretórios para seu novo plugin. Existem dois lugares onde você pode colocar o seu plugin:

  1. No diretório ‘Plugin‘, dentro de app
  2. No diretório ‘plugins‘ no mesmo diretório onde está app

A diferença dos dois diretórios é que alguns desenvolvedores usam a mesma instalação do cake (core) para várias aplicações (app1, app2, app3, por exemplo), assim eles colocam os plugins que são usados por todas as aplicações no diretório ‘plugins’, ao invés de ter uma cópia do plugin para cada aplicação em app1/Plugin, app2/Plugin, etc.

Depois de escolher onde será criado o seu plugin, ele mostrará o nome do seu plugin e o diretório onde será salvo e perdirá a confirmação. Se estiver tudo certo, confirme e ele criará os diretórios.

A maioria desses diretórios estão vazios, exceto ‘Model‘, ‘Controller‘.

Em ‘Model’ terá o arquivo NOME_DO_PLUGINAppModel.php e em ‘ControllerNOME_DO_PLUGINAppController.php

De agora em diante usarei o nome do plugin como MyPlugin.

Esses arquivos funcionam exatamente como AppModel.php e AppController.php que estão em app/Model e app/Controller, respectivamente (tanto que eles estão herdando delas).

Porém há um detalhe que fazia eu me confundir um pouco:

// .../plugins/Myplugin/Model/MyClass.php App::uses('MypluginAppModel', 'Myplugin.Model'); class MyModel extends MypluginAppModel{ ... }

No nosso arquivo MyModel.php devemos ‘incluir’ a classe MyPluginAppModel para podermos extendê-la.

Para isso usamos o método ‘uses‘ da classe App.

O primeiro parâmetro é o nome da classe a ser incluída – MypluginAppModel – e o segundo é a qual pacote ela pertence. No caso ela está no diretório Model do plugin Myplugin, então ela pertence ao pacote Myplugin.Model.

Em MyPluginAppModel podemos ver:

App::uses('AppModel', 'Model'); class MyPluginAppModel extends AppModel { }

Obs.: Não é obrigatório, mas é um padrão do Cake.

Estamos incluindo a classe AppModel que pertence ao pacote Model. Informando apenas ‘Model’, sem nenhum nome a frente, por exemplo SomeName.Model, significa que estamos falando do pacote Model da aplicação (app/Model).

Se vamos usar alguma classe de outro diretório, podemos usar App::uses(‘JustAnotherClass’, ‘Myplugin.Vendor’); para o diretório Vendor dentro de Myplugin, por exemplo.

No atributo $uses em uma Controller também é necessário informar de onde vem a Model a ser usado naquela controller (nome_plugin.nome_classe).

class MyController extends MypluginAppController{ public $uses = array('Myplugin.MyModel', 'Myplugin.MyModelTwo'); }

Sempre que for informar uma classe do seu plugin para ser usada, coloque nome_plugin.nome_classe.

Outros lugares onde são usados nomes de classes:

- atributo $belongsTo, $hasMany das Models:

class MyModel extends MypluginAppModel{ public $belongsTo = array( 'MyModelTwo' => array( 'className' => 'Myplugin.MyModelTwo', // percebam aqui o nome do plugin mais o nome da classe, separados por ponto. ... }

Tudo isso é importante saber, mas há uma forma para que você não precise escrever tudo isso “a mão”.

Podemos usar o Console para isso!

Criando um Model chamado MyModel para o plugin MyPlugin:

...\htdocs\cake\app>Console\cake bake model MyModel --plugin MyPlugin

Ao executar o comando ele criará a model no diretório Model do plugin MyModel com as configurações padrão, por exemplo ele detectará a ‘primary key’ da tabela e seus relacionamentos, como também escreverá algumas validações conforme as regras dos campos da tabela (not null, apenas número para campos que recebem números, etc.).

Verifique se está tudo certo com as regras escritas e altere-as conforme sua necessidade!

Vale lembrar também que esse comando segue as convenções do cake. Ao digitar esse comando, ele procurará pela tabela my_model no banco de dados. Se ele não encontrar, uma mensagem de erro será mostrada no console.

Obs.: O mesmo que foi escrito para ‘cake bake model’ vale para ‘cake bake controller’!

Para carregar seu plugin, em app/Config/bootstrap.php digite:

CakePlugin::load('SeuPlugin', array('bootstrap' => true, 'routes' => true));

‘SeuPlugin’ deve ser o nome exato do diretório do seu plugin em app/Plugin ou /plugins.

O array de opções é opcional, mas se quiseres carregar as configurações do plugin em SeuPlugin/Config/bootstrap.php ou SeuPlugin/Config/routes.php esse array deve ser informado como no exemplo acima.

São dicas simples, mas que algumas não abordavam diretamente no manual e que eu passei um tempo pesquisando para descobrir.

Espero ter ajudado!

Até a próxima!

Screenshot página inicial site clínica

Novo site da Clínica Skin gerando resultados!

Recentemente colocamos no ar o novo site da Clínica de Dermatologia e Nutrição Skin de Porto Alegre – RS.  O projeto conta com painel de administração para gerenciar o conteúdo das páginas, tratamentos e contatos.

Seguem abaixo screenshots de algumas páginas. Para conferir o resultado, acesse: http://www.clinicaskin.com.br

Screenshot página tratamentos

Página de tratamentos de nutrição

De acordo com os relatórios iniciais do Google Analytics, o site teve um aumento significativo de acessos e já possui mais de 4 páginas de resultados no Google.

Página inicial - Profihair cosméticos

Nova loja virtual! Profihair – Distribuidora de cosméticos

Recentemente, desenvolvemos a loja virtual da Profihair – Distribuidora de cosméticos. O conceito do projeto foi expor os produtos da empresa da melhor forma possível para ter uma boa conversão. O público-alvo da loja são salões de beleza, estéticas e o cliente final por ter preços bastante competitivos. Há divisão por categorias, subcategorias e por fabricante.

Criamos também a integração com o PagSeguro para que as compras sejam intermediadas e passem segurança tanto para a empresa quanto para o comprador.

Atualmente, a Profihair investe em links patrocinados / Google Shopping.

O projeto contou com tecnologias de CSS3, PHP5, HTML5 e Javascript / JQuery.

Confira o resultado em: http://www.profihair.com.br

Site - Macdiesel

Pensou em alugar geradores de energia? MacDiesel é a resposta

Recentemente, desenvolvemos o novo site da MacDiesel – Aluguel de Geradores  de Energia. O conceito do projeto foi criar uma amostra maior dos serviços da empresa com a área de serviços subdividida e também conscientizar o público-alvo sobre os riscos de escolher a empresa errada na hora de locar geradores para sua empresa, evento, feira ou rodeio.

Atualmente, a MacDiesel Geradores investe em links patrocinados e com o lançamento do novo site já focado em Link Building, este investimento diminuirá para investir em técnicas de SEO para o Orgânico.

O projeto contou com tecnologias de CSS3, PHP5, HTML5 e Javascript / JQuery.

Confira o resultado em: http://www.aluguelgerador.com.br

Vimeo e Youtube

Vídeo > Serviços

Recentemente, lançamos no Youtube e Vimeo canais onde traremos novidades da área de tecnologia, cases de sucesso, tendências, etc…

Os endereços dos canais são: http://www.youtube.com.br/masterstudioBR e http://www.vimeo.com/masterstudioweb

Segue abaixo o vídeo com os principais serviços prestados pela empresa para você que ainda não conferiu:

 

Conheça os serviços da Master Studio Web no Vimeo.

Abraço galera!

Relatório Google Analytics personalizado PHP API

Pegando dados do Google Analytics via PHP

GAPI significa Google Analytics PHP Interface (ou Interface em PHP para Google Analytics) e é um projeto open-source criado por um cara chamado Stig Manning… Esse projeto foi criado para facilitar a sua (e a minha) vida na hora de buscar dados e gerar relatórios com os dados do Google Analytics para serem exibidos em outros sites… Espera um pouco, você não sabia que isso era possivel?! Viva la revolucion! :D

O GAPI é uma classe que te ajudará a fazer todo o trabalho de login, encontrar profile IDs, filtrar relatórios e tudo mais… Foi desenvolvido para ser usado com Frameworks (Symfony, CakePHP, Zend e etc.)… Mas pode ser usado perfeitamente por qualquer site com PHP 5 ou superior (e é isso que eu vou ensinar a fazer aqui hoje).

Com a API do Google Analytics você pode ter acesso a QUALQUER dado/relatório que teria acessando normalmente sua conta pelo site.

Download e “Instalação”

Para baixar o GAPI é simples.. Como diria meu professor de física do colegial: “é mel na chupeta!”… Acesse a página oficial do projeto dentro do Google Code e (logo ali na lateral direita) faça o download da última versão.

Para poder usar a classe você só precisa ter o hárduo trabalho de incluir o arquivogapi.class.php no seu site.

Exemplo de uso – Autenticação

Da mesma forma que você precisa fazer o login com a sua conta Google para ter acesso aos perfis de sites, e posteriormente aos relatórios desses perfis, você também precisa fazer o login autenticando seus dados de acesso… Veja como é dificil fazer isso:

 PHP |  copy code |? 
1
<?php
2
require_once("gapi.class.php");
3
//Autenticação
4
$ga=new gapi('SEU E-MAIL','SUA SENHA');
5
?>

Exemplo de uso – Listando os perfis de site

Para listar todos os perfis de site que você tem na sua conta você pode fazer assim:

 PHP |  copy code |? 
01
<?php
02
require_once("gapi.class.php");
03
//Autenticação
04
$ga = new gapi('SEU E-MAIL','SUA SENHA');&nbsp;
05
//Pega os&nbsp;dados&nbsp;da conta e perfis de site
06
$ga->requestAccountData();
07
//&nbsp;Pra&nbsp;cada&nbsp;resultado&nbsp;encontrado...
08
foreach($ga&minus;>getResults()&nbsp;as&nbsp;$perfil){
09
//Exibe os dados de cada um dos perfis de site
10
echo $perfil.'('.$perfil->getProfileId().')<br&nbsp;/>';
11
}
12
?>
13

O código acima irá exibir uma pequena lista dos sites que você tem na sua conta do Analytics… Usarei como exemplo o ID 12345 que é um ID fictício.

Exemplo de uso – Pegando dados

Agora você já fez o login e tem o ID do perfil do site que você quer pegar os resultados… Vamos fazer duas consultas de exemplo e pegar os dados necessários para fazer um relatório completo sobre as visitas e pageviews do mês passado:

 PHP |  copy code |? 
01
<?php
02
require_once("gapi.class.php");
03
//Autenticação
04
$ga=new&nbsp;gapi('SEU EMAIL','SUA SENHA');
05
 
06
//ID do perfil do site
07
$id='12345';
08
//Define o período do relatório
09
$inicio=date('Y-m-01',strtotime('-1 month'));//primeiro&nbsp;dia do mês passado
10
$fim=date('Y-m-t',&nbsp;strtotime('-1&nbsp;month'));//último dia do&nbsp;mês&nbsp;passado
11
//Busca&nbsp;os&nbsp;pageviews&nbsp;e&nbsp;visitas&nbsp;(total&nbsp;do&nbsp;mês&nbsp;passado)
12
$ga&minus;>requestReportData($id,'month',array('pageviews','visits'),null,null,$inicio,&nbsp;$fim);
13
foreach($ga->getResults() as $dados){
14
echo&nbsp;'Mês '.$dados.':'.$dados->getVisits().'&nbsp;Visita(s)&nbsp;e&nbsp;'.$dados->getPageviews()&nbsp;.'&nbsp;Pageview(s)<br&nbsp;/>';
15
}
16
echo '<br&nbsp;/>';

 PHP |  copy code |? 
1
 PHP |  copy code |? 
1
$ga&minus;&gt;requestReportData($id,'day',array('pageviews','visits'),'day',null,$inicio,$fim,&nbsp;1,50);

 PHP |  copy code |? 
1
foreach($ga->getResults() as $dados)&nbsp;{
2
echo&nbsp;'Dia'.$dados.':'.$dados->getVisits().'&nbsp;Visita(s)&nbsp;e&nbsp;'&nbsp;.&nbsp;$dados->getPageviews()&nbsp;.&nbsp;'&nbsp;Pageview(s)<br&nbsp;/>';
3
}
4
?>
5

É claro que esse codigo parece um pouco complexo pra quem está começando.. Vou tentar explicar os argumentos do método requestReportData:

1 – Primeiro tempos o ID do perfil do site que você já pegou antes usando o requestAccountData()

2 – Aqui temos a lista de dimensões que estamos buscando. No primeiro exemplo usamos ‘month’ para pegar o total de cada mês do período especificado, e no segundo usamos ‘day’ para pegar o total referente a cada dia do período. Veja aqui a lista completa de dimensões que podem ser usadas.

3 – No terceiro parâmetro temos as métricas, que são os valores que estamos buscando… Nos dois casos usamos ‘pageviews’ e ‘visits’. Veja aqui uma lista completa de métricas que podem ser usadas.

4 – O quarto parâmetro é a ordem dos resultados.

5 – O quinto parâmetro é o filtro. (Raramente usado)

6 e 7 – São os parâmetros que definem o período dos relatórios no formato AAAA-MM-DD.

8 – No oitavo parâmetro você define o n° do primeiro registro (usado para paginação de resultados).

9 – No nono (e último) parâmetro você define o n° do último registro (usado para paginação de resultados).

Os únicos argumentos obrigatórios são os três primeiros.

Post original: http://blog.thiagobelem.net/pegando-dados-do-google-analytics-via-php/

enquete - personagem da semana

“Personagem da Semana” – Participe você também pelo Facebook

Olá galera!

Começamos esta semana nossa saga de montar e postar as fotos de nossos “personagens da semana”. O primeiro personagem  escolhido foi o Mario (que Mario? asudhaud)… você pode conferir o resultado abaixo:

foto-mario-cubercraft

Logo após postarmos a foto do nosso querido amigo Mário no Facebook, abrimos uma enquete com 3 opções de “personagens da semana” para você decidir qual será o próximo personagem que vamos montar e compartilhar com nossos amigos e seguidores!

Então não esqueçam de acessar nossa página no Facebook e deixar sua opinião nos comentários do post.

Abraço e até breve amigos!

logo

Com lançamento confirmado… Vihamar Refrigeração de site novo!

 

Com lançamento oficial para semana que vem, mais exatamente segunda-feira (11/06/2012) a Vihamar Refrigeração está dando os últimos retoques em suas páginas para deixar o novo site o mais perfeito possível para seus clientes e fornecedores. Um projeto bastante focado em Link Building e SEO, possui um escopo nacional por conta de clientes presentes em todos os estados brasileiros. 

A Vihamar, no comando de seu proprietário Everaldo Martins possui um estoque repleto de peças, componentes e equipamentos para compressores de refrigeração industrial. Se sua empresa possui compressores Madef, Sabroe, FNC ou Mycom, encontrará no novo site os equipamentos que procura.

Para acessar o novo site, acesse e confira quanto tempo falta para o lançamento em: http://www.vihamar.com.br.

Se quiser entrar em contato direto, envie email para vihamar@vihamar.com.br ou pelo skype vihamar.

Não esqueça de compartilhar esta postagem no Facebook e seguir no Twitter.

Macdiesel - Locação de Geradores

Macdiesel Geradores – A energia nunca pode parar!

Hoje foi o lançamento oficial do site da divisão de locação de geradores da Macdiesel. Recentemente, havíamos desenvolvido o site da Macdiesel – Manutenção em motores e geradores Cummins e com os resultados apresentados nos foi solicitado o desenvolvimento deste segundo site para aumentar a visibilidade da empresa, fixação da marca e entrar de vez no mercado de locação de geradores.

Com foco no mercado de eventos e indústrias a Macdiesel tem apresentado um altíssimo empenho em prestar um serviço de excelência para quem contrata seus serviços.

Este novo site já está em processo de otimização (seo) e em breve teremos resultados  mais precisos de acessos e relevância do conteúdo.

Caso ainda não tenha acessado, segue o link abaixo:

http://www.aluguelgerador.com.br ou www.geradoresrs.com.br

Casas Nevalle

Casas Nevalle – O Projeto de sua casa começa na internet

 

Nosso projeto mais recente e ainda em fase de testes está superando nossas expectativas do retorno. O corretor de imóveis e administrador do projeto está extremamente satisfeito com o resultado que o site está lhe dando. Com 1 mês de projeto já executado e já em fase de testes, o público está se acostumando a acessar o site e ter detalhes das casas e promoções acessíveis online.

Giovane Pedrotti em reunião conosco: “O público da internet é um público diferente e merece recursos diferentes e modernos para realizar o seu sonho da casa própria”.

 

Para maiores informações e ver o resultado do projeto, acesse: http://www.casasnevalle.com.br e @casasnevalle no twitter!

Log_JP Transportes

JP Transportes – Agilidade e Compromisso com seus clientes

O novo projeto é da JP Transportes, empresa que atua em todo território nacional transportando com agilidade e eficiência. Jean Moraes, um empreendedor de extrema competência e experiência no assunto nos procurou para trabalhar no projeto gráfico e web de sua empresa. Ainda em fase de testes, o site e o material gráfico já estão a disposição de seus futuros clientes.

Com atividades iniciadas em março de 2010 a JP Transportes nasceu com o objetivo de dar ao cliente a possibilidade de tornar seu produto mais competitivo no mercado adequado a sua necessidade de transporte rodoviário de cargas a um custo compatível com o valor agregado da sua mercadoria.

Para isso a JP Transportes desenvolveu junto ao mercado frotista, uma frota com capacidade de suprir todas as demandas do nosso cliente de acordo com a sua necessidade e segmento de mercado. Esta frota é composta desde veículos trucks e carretas carga seca, graneleiros e siders rastreados até veículos para operações de baixa complexidade.

R1CABECOTES - LOGO

R1 Cabeçotes – Velocidade e Competência

A R1 nasceu para servir a classe do motociclismo, prestando um serviço de qualidade em retífica de motores e produtos de qualidade no mundo motociclista. Fundada em 6 de agosto de 2007, numa sociedade entre 2 amigos, a R1 Cabeçotes iniciou suas atividades com sede na Avenida Pátria em Porto Alegre. Atualmente, a equipe aumentou e agora possui mais 2 profissionais em motores. Sempre preocupada com sua imagem e divulgação,  a R1 Cabeçotes possui anúncios nos mais variados meios de comunicação como: jornais (Zero Hora), revistas especializadas (Salão de Motos, Pro Moto) e internet.

Os principais serviços da R1 Cabeçotes são:

    Recuperação de Cabeçotes de Motos

Retífica de Cilindo

Montagem de Virabrequim

Preparação de Motores

Retífica Sede

Retífica Válvula

Plaina

Troca Sede

Troca guia vávula

Ângulos Sede

Ângulos Válvula

Rosca Vela

Solda

Torno

Apaixonados pela velocidade, a equipe R1 possui motos em 2 categorias de corrida: Campeonato Gaúcho de MotoVelocidade e Moto – KM de Arrancada.

Gráfico - SEO

SEO e Resultados! Seu site merece a primeira página?

Nunca ouviu falar sobre SEO? Seu site está bem posicionado no Google? Não? Então leia este post e compreenda a importância das técnicas de SEO para seu site/blog.

Se quer aumentar as vendas, ter mais clientes virtuais, possuir uma rede de clientes fidelizados, o SEO lhe ajudará e muito. Aumento de acessos no site possui prazo médio de 15 a 30 dias e com custo relativamente baixo para a quantidade de tarefas / itens a a serem feitas.

Otimização de Sites (otimização para motores de busca  ou otimização para mecanismos de pesquisa é o conjunto de estratégias com o objetivo de potencializar e melhorar o posicionamento de um site nas páginas de resultados naturais (orgânicos) nos sites de busca.

O termo SEO (do inglês, Search EngineOptimization) também se refere a indústria de consultoria, que trabalha na otimização de projetos e websites de seus clientes. Alguns comentaristas, e também alguns profissionais de SEO, dividiram os métodos usados por seus praticantes em categorias como os “SEO de White Hat” (geralmente utilizam métodos aprovados pelos sistemas de busca, como a prática de construção de conteúdo relevante e melhoria da qualidade do site), ou “SEO de Black Hat” (utilizam truques como “Cloaking”, que é a camuflagem do conteúdo real da página, e spamdexing). O termo “spamdexing” (originado da fusão de spam e indexing) refere-se a pratica de Spam direcionada aos motores de busca.

Atualmente, se seu site possui um número x de visualizações e as taxas de conversão não estão sendo atingidas isso significa que o SEO de seu site não está bem feito.

Uma ilusão que se tem é que SEO se faz uma vez e pronto, irá funcionar para o resto da vida. Engana-se quem pensa desta forma, pois para que o site se mantenha bem posicionado e com boa taxa de conversão é preciso acompanhamento constante e alterações com base nos dados registrados em relatório.

De uma forma bem clara e direta é possível afirmar que o que fará com que o site seja bem indexado pelo google e que tenha um bom percentual de acessos é o conteúdo e a atualização do mesmo. Quanto mais conteúdo relevante o site tratar, mais respeitado e acessado se tornará o site.

Esperamos que tenham aprendido um pouco sobre SEO. Se sua empresa precisa dos serviços de consultoria em SEO, basta entrar em contato conosco pelos contatos abaixo:

contato@masterstudioweb.com.br

(51) 3041-7233

@masterstudioweb