<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Não Esqueça .com</title>
	<atom:link href="http://naoesqueca.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://naoesqueca.com</link>
	<description>um pouco de tudo o que você precisa saber sobre desenvolvimento web, (x)html, css e javascript</description>
	<lastBuildDate>Mon, 08 Aug 2011 14:39:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>jQuery plugin para rolagem suave de âncoras</title>
		<link>http://naoesqueca.com/jquery-plugin-para-rolagem-suave-de-ancoras/</link>
		<comments>http://naoesqueca.com/jquery-plugin-para-rolagem-suave-de-ancoras/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 14:39:52 +0000</pubDate>
		<dc:creator>Anderson Solano</dc:creator>
				<category><![CDATA[exemplos]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[praticando]]></category>
		<category><![CDATA[âncora]]></category>

		<guid isPermaLink="false">http://naoesqueca.com/?p=129</guid>
		<description><![CDATA[Fala galera esperta, blz?
Essa semana estava precisando fazer com que uma âncoras. Mas perae, o que são âncoras?
Segundo o Wikipedia: 
A predefinição {{âncora}} insere uma âncora em HTML &#60;a&#62;&#60;/a&#62; numa página, permitindo que se criem ligações para essa parte da página.
http://pt.wikipedia.org/wiki/Predefinição:Âncora
Precisei fazer com que essas âncoras não fosse uma mudança brusca na página, mas que [...]]]></description>
			<content:encoded><![CDATA[<p>Fala galera esperta, blz?</p>
<p>Essa semana estava precisando fazer com que uma âncoras. Mas perae, o que são âncoras?</p>
<p>Segundo o Wikipedia: </p>
<blockquote><p>A predefinição {{âncora}} insere uma âncora em HTML &lt;a&gt;&lt;/a&gt; numa página, permitindo que se criem ligações para essa parte da página.</p></blockquote>
<p><cite>http://pt.wikipedia.org/wiki/Predefinição:Âncora</cite></p>
<p>Precisei fazer com que essas âncoras não fosse uma mudança brusca na página, mas que tivessem uma rolagem suave, ou seja, frescura de designer.</p>
<p>Vamos ao código:</p>
<pre><code>$('.anchorList a').smoothScroll();

jQuery.fn.smoothScroll = function(){
	$(this).each(function(){
		var node = $(this);
		$(node).click(function(e){
			var anchor = $(this).attr('href');
			anchor = anchor.split("#");
			anchor = anchor[1];
			var t = 0;
			var found = false;
			var tName = 'a[name='+anchor+']';
			var tId = '#'+anchor;
			if (!!$(tName).length){
				t = $(tName).offset().top;
				if ($(tName).text() == ""){
					t = $(tName).parent().offset().top;
				}
				found = true;
			} else if(!!$(tId).length){
				t = $(tId).offset().top;
				found = true;
			}
			if (found){
				$("body, html").animate({scrollTop: t}, 500);
			}
			//e.preventDefault();
		});
	});
	var lAnchor = location.hash;
	if (lAnchor.length > 0){
		lAnchor = lAnchor.split("#");
		lAnchor = lAnchor[1];
		if (lAnchor.length > 0){
			$("body, html").scrollTop(0);
			var lt = 0;
			var lfound = false;
			var ltName = 'a[name='+lAnchor+']';
			var ltId = '#'+lAnchor;
			if (!!$(ltName).length){
				lt = $(ltName).offset().top;
				if ($(ltName).text() == ""){
					lt = $(ltName).parent().offset().top;
				}
				lfound = true;
			} else if(!!$(ltId).length){
				lt = $(ltId).offset().top;
				lfound = true;
			}
			if (lfound){
				$("body, html").animate({scrollTop: lt}, 500);
			}
		}
	}
}</code></pre>
<p>O que nós fazemos?</p>
<p>Pegamos todos os links, que nesse caso, são filhos de &#8220;.anchorList&#8221;, você pode mudar para o que quiser, só um id ou todos os links da página.</p>
<p>Ao clicar no link, explodo o href para pegar só o que tiver depois do tralha, para poder buscar se é a ancora é feita com name em um link, ou se é por id.</p>
<p>Ao verificar qual o gancho da âncora, pego a distancia do topo da página até o elemento, mas caso a âncora seja com name no link e nao tenha conteudo, html ou texto, tenho o cuidado de pegar a medida do elemento pai da âncora, pois no chrome tive uns problemas por não ter conteudo dentro dela.</p>
<p>Feito isso, faço uma verificação para saber se realmente existe a ancora e fazer a rolagem suave.</p>
<p>Olha lá o exemplo do <a href="http://samples.naoesqueca.com/smoothScroll/">plugin de jQuery para rolagem suave de âncoras</a>.</p>
<p>E como sempre, gostou? não gostou? comentae.</p>
<p>Abraços.</p>
]]></content:encoded>
			<wfw:commentRss>http://naoesqueca.com/jquery-plugin-para-rolagem-suave-de-ancoras/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bug no IE, limite de regras por arquivo css</title>
		<link>http://naoesqueca.com/bug-no-ie-limite-de-regras-por-arquivo-css/</link>
		<comments>http://naoesqueca.com/bug-no-ie-limite-de-regras-por-arquivo-css/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 18:28:14 +0000</pubDate>
		<dc:creator>Anderson Solano</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://naoesqueca.com/?p=126</guid>
		<description><![CDATA[Fala Galera, beleza?
Antes de mais nada, não me orgulho dessa &#8220;descoberta&#8221;, mas reconheço, que indiretamente, tive minha parcela de culpa no processo de descobrimento do bug, poderia usar a &#8220;desculpa&#8221; de 99% já estava assim, mas não o farei pois, como disse, tenho minha parcela de culpa por também ter mexido no arquivo e ficar [...]]]></description>
			<content:encoded><![CDATA[<p>Fala Galera, beleza?</p>
<p>Antes de mais nada, não me orgulho dessa &#8220;descoberta&#8221;, mas reconheço, que indiretamente, tive minha parcela de culpa no processo de descobrimento do bug, poderia usar a &#8220;desculpa&#8221; de 99% já estava assim, mas não o farei pois, como disse, tenho minha parcela de culpa por também ter mexido no arquivo e ficar jogando culpa nos outros não é algo que eu faça, lógico, sem ter um bom motivo.</p>
<p>E pelo bem geral da nação eu compartilho mais este conhecimento adquirido.</p>
<p>Mas vamos ao que interessa, há algum tempo atrás, descobri um bug, mais um, bizarro no IE, tinha que ser nele ne?, que se você tem um arquivo css muito grande tipo mais de 5000 (cinco mil) regras aplicadas por página, é isso mesmo, não vou entrar em detalhes pois não vem ao caso. O IE simplesmente passa a ignorar as declarações que são feitas depois da regra quatro milésimo nonagésimo quinto, ou 4095 para quem não entendeu <img src='http://naoesqueca.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Ou seja, se vc tem um css gigantesco, como o que eu tenho e estou matando aos poucos, com muitas regras, lixo e outras coisas mais, o IE simplesmente pára de ler as regras a partir de uma determinada linha, que é a 4095, qualquer coisa depois disso é ignorado, para nossa &#8220;sorte&#8221;, tem solução, é só criar outro arquivo css e fazer a chamada normalmente, vc terá mais 4095 regras por página para ter que voltar a se preocupar denovo.</p>
<p>Testei em diversos browser e só nos IEs, até o IE9 estava acontecendo o problema.</p>
<p>Fiz várias buscas na época para tentar achar alguma solução para isso, não achei nada nem parecido, sugestão ou alguém com o mesmo problema. É algum incomum, já que ter um arquivo com tantas regras não é normal, nem sadio pro projeto e nem pra quem mexe nele.</p>
<p>Link para testar o <a href="http://samples.naoesqueca.com/ieCssRulesLen/">bug de quantidade máxima de regras no IE por arquivo CSS</a>, role os scrolls para entender o problema.</p>
<p>Resumindo: se seu css é muito grande e em alguma determinada página, tem que ser aplicadas mais de 4095 regras do arquivo CSS, no IE o que estiver abaixo da regra 4095 aplicada na página irá ser ignorado.</p>
<p>Só para ter certeza que ficou entendido, você pode ter 10000 (dez mil) regras no css, mas não terá problemas até ter 4095 regras do css sendo aplicada em uma página, a partir da regra 4096 você precisará de outro arquivo.</p>
<p>Isso é tudo pessoal, até a próxima.</p>
<p>Ah, já ia esquecendo, comentae!</p>
]]></content:encoded>
			<wfw:commentRss>http://naoesqueca.com/bug-no-ie-limite-de-regras-por-arquivo-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Verdades estão aí para serem ditas.</title>
		<link>http://naoesqueca.com/verdades-sao-para-serem-ditas/</link>
		<comments>http://naoesqueca.com/verdades-sao-para-serem-ditas/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 13:33:47 +0000</pubDate>
		<dc:creator>dpaola</dc:creator>
				<category><![CDATA[dicas]]></category>
		<category><![CDATA[opinião]]></category>
		<category><![CDATA[brasil]]></category>
		<category><![CDATA[brazil]]></category>
		<category><![CDATA[cannes]]></category>
		<category><![CDATA[conteúdo]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[cyber]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[preguiça]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://naoesqueca.com/?p=115</guid>
		<description><![CDATA[A preguiça do povo brasileiro e porque a internet tupiniquim vai continuar atrasada.]]></description>
			<content:encoded><![CDATA[<p>Há quase 1 ano não estou mais em agência trabalhando com diversos públicos. Venho trabalhando em dois portais de conteúdo e público mais específico, o que me agrada bastante e to curtindo muito até agora.</p>
<p>Tá certo que o público não é tão específico quanto de um hotsite ou campanha, mas acredito ser muito mais específico e selecionado do que muitos possam imaginar. Por exemplo, é um público que compra na internet, que usa cartão de crédito, que viaja a turismo ou trabalho constantemente. Logo não é um público de pouca renda ou com baixo nível de conhecimento de internet, acredito eu apesar de alguns estudos e dados não confirmarem tanto.</p>
<p>Constantemente debato com meus colegas se nosso público é básico, se temos usuários com idades superiores a 60 anos (logo com dificuldade de leitura e coordenação montora &#8211; salvo raras excessões), se temos usuários com dificuldade de visão e por não ter uma resposta concreta ou a maioria deles achar que sim, acabo me frustando ao desenhar nossas interfaces.</p>
<p>Não acredito que isso seja verdade. Acredito que o nosso público seja de usuários médios pra avançados, que já tenham uma experiência de compra online e que não tenham mais medos e dúvidas sobre tal experiência. Assim como ter que manter um site/projeto pra IE6 e 1024&#215;768 de resolução de tela. Se a pessoa não possui um computador atualizado, vai ter dinheiro pra gastar comprando online? Comprando objetos, livros, passagens aéreas, fazendo transações bancárias e etc, duvido.</p>
<p>Estudos dizem que brasileiros gastam boa parte do tempo pra fazer transações, compras e usar redes sociais durante o dia e no horário de trabalho. Se o cara trabalha numa empresa que mantém os computadores desatualizados, essa mesma empresa deve vetar o uso de alguns sites no horário do expediente, logo, essas pessoas devem realizar essas transações no conforto do lar no seu laptop, smartphone (alguns em suas tablets) ou desktop. É raro hoje em dia encontrar computadores a venda com monitores menor que 17&#8243; e com isso resoluções menores que 1024&#215;768 vão ficando cada vez menos comuns.</p>
<p>Claro que não posso ignorar os novos usuários que estão chegando, a famosa inclusão digital (como eu odeio esse termo). Esses novos usuários que ainda estão aprendendo a usar as coisas, aprendendo a comprar e que tem um poder de compra alto. Ou seja, não dá mesmo pra tirá-los da base. Porém a cada ano a curva de aprendizado ao uso de novas interfaces e mídias é mais curta e rápida, logo, não é motivo. E esses novos usuários já compram computadores melhores, do que disse no parágrafo anterior, graças as facilidades de carnês e cartões de crédito.</p>
<p>Outro grande problema que encontro é a famosa quebra de paradigmas. Pessoas que trabalham com internet, porém, são conservadoras demais e acabam não se atualizando com a mesma velocidade e frequência da rede (<a href="http://www.infoextra.com.br/noticias/bronca-menos-discurso-e-mais-investimento-no-digital-2021.html" target="_blank">Brasil só levou um cyber, prata, em Cannes por exemplo</a>). E não me venham falar de verba, porque o brasileiro é reconhecido mundialmente como um po(l?)vo criativo que dá nó em pingo d&#8217;água.</p>
<p>Não me falem que não tem tempo ou a equipe não pode ser parada para melhorar um projeto ou começar um novo do zero. Medinho é uma coisa que me deixa puto. Se você tem uma equipe de 1 front, 1 developer e 1 designer, realmente você não pode fazer muita coisa num projeto que já está todo errado. Mas se você pode dividir a equipe em duas, uma (re)constrói de forma certa o que está errado e a outra fica mantendo (por hora) o que está no ar, qual problema disso sr. 06? Quer passar o comando pra quem tenha colhão suficiente? Então passa.</p>
<p>Se grandes empresas seguem investindo em novas ideias, novas interfaces, empresas que tem um público variado e milhões de acessos por mês, tentam e fazem a coisa funcionar, por que você que tem alguns milhares e um público semelhante também não pode? <strong>Brasileiro é assim mesmo, preguiçoso e com uma zona de conforto grande</strong>. Segundo minha grande amiga <a href="http://twitter.com/anaerthal" target="_blank">Ana Erthal</a>: &#8220;<em>O problema todo é que as agências ainda pensam, em pleno século XXI e no meio dessa turbulência de informações e mobilidade social e cultural, como se pensava há 40 anos. Elas pensam como veículos de massa. E não é mais assim. A comunicação se fragmentou juntamente com a identidade dos sujeitos e da cultura&#8230; e não tem mais volta. Desde a invenção do controle remoto a comunicação se tornou individualizada e promíscua na ultilização de meios e ferramentas. E as agências, em vez de perceberem esse movimento natural evolutivo, elas continuam olhando para trás, usando modelos ultrapassadíssimos para tentar entender o sujeito contemporâneo e sua pluralidade. É triste. E é esse o motivo que não as deixa caminhar pra frente: daqui não sairá nenhum cyber</em>&#8220;. Aí se você vem com ideias e ideais que batem de frente e que forçem as pessoas a pensar e a inovar, você é de outro planeta ou tá tentando pensar muito na frente dando um passo maior que a perna e não vai alcançar a outra margem do rio.</p>
<p>Já ouvi pessoas dizendo que ainda não acreditam em mobile apps mesmo depois do sucesso astrnômico do iPhone e Android, mesmo com tudo se convergindo e mostrando o contrário. E não foi estagiário que falou isso não hein. No twitter mesmo, canso de ver pessoas que se dizem responsáveis por mídias sociais ou que tenham foco nelas, postarem coisas com 1 semana, 1 mês e as vezes mais tempo de atraso achando que é novidade com a desculpa que estava muito ocupado com o job do cliente e nāo teve tempo de ler ou ver o que aconteceu na semana. Me desculpe, mas esse job desse cliente aí vai ser antigo quando ele for lançado então, viu capitão?</p>
<p>Felizmente em alguns casos não é assim, mas vejo muitos projetos, agências, empresas que ficam pensando muito no hoje e no ontem e não no amanhã.</p>
<p>É por isso que tem tanta gente boa saindo do país pra &#8220;fazer internet&#8221; lá fora. Agências dos EUA e da Europa estão anos luz a frente das tupiniquins em termos de planejamento, estrutura e principalmente condições de trabalho. Se você dá liberdade pro seu profissional criar, seja ele de criação ou não &#8211; porque boas ideias vem de qualquer um e de qualquer lugar &#8211; tenho certeza que os projetos vão ficar cada vez melhores.</p>
<p>Um exemplo disso são os <a href="http://www.youtube.com/watch?v=PUwEEOhcK3s" target="_blank">hackdays</a> e <a href="http://www.youtube.com/results?search_query=hackathon+facebook&amp;aq=1&amp;oq=hackath" target="_blank">hackathons</a> da vida como fazem o Facebook, o Google e o Linkedin. Boas, não, excelentes ideias surgiram desses exemplos: Orkut, Gmail, GoogleDocs no Google, vídeo, like, face tag no Facebook, exportar seu currículo, grupos no Linkedin. Os profissionais são incentivados a estar sempre buscando novas soluções por puro prazer e não porque é o trabalho deles.</p>
<p><strong>É aí que está toda a diferença cultural da coisa.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://naoesqueca.com/verdades-sao-para-serem-ditas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>desabilitar plugin do skype na página</title>
		<link>http://naoesqueca.com/desabilitar-plugin-do-skype-na-pagina/</link>
		<comments>http://naoesqueca.com/desabilitar-plugin-do-skype-na-pagina/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 19:00:56 +0000</pubDate>
		<dc:creator>Anderson Solano</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[meta tag]]></category>
		<category><![CDATA[praticando]]></category>
		<category><![CDATA[skype]]></category>
		<category><![CDATA[tags]]></category>

		<guid isPermaLink="false">http://naoesqueca.com/?p=107</guid>
		<description><![CDATA[Fala Galera, quem nunca ouviu uma reclamação ou teve uma dor de cabeça para explicar que o plugin do skype é quem detona a página quando tem algum telefone no meio do conteúdo?
Imagino que a dica seja velha, mas vale o post, para remover aquele &#8220;link&#8221; do telenone ao invés de tentar explicar que a [...]]]></description>
			<content:encoded><![CDATA[<p>Fala Galera, quem nunca ouviu uma reclamação ou teve uma dor de cabeça para explicar que o plugin do skype é quem detona a página quando tem algum telefone no meio do conteúdo?</p>
<p>Imagino que a dica seja velha, mas vale o post, para remover aquele &#8220;link&#8221; do telenone ao invés de tentar explicar que a culpa não é sua, adicione a meta tag no head da página e seja feliz.</p>
<pre><code>&lt;meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" /&gt;</code></pre>
<p>Gostou?, comenta ae&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://naoesqueca.com/desabilitar-plugin-do-skype-na-pagina/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Palestra Engenharia de frontend de alta performance</title>
		<link>http://naoesqueca.com/palestra-engenharia-de-frontend-de-alta-performance/</link>
		<comments>http://naoesqueca.com/palestra-engenharia-de-frontend-de-alta-performance/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 18:48:37 +0000</pubDate>
		<dc:creator>Anderson Solano</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[front in rio]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[palestra]]></category>

		<guid isPermaLink="false">http://naoesqueca.com/?p=102</guid>
		<description><![CDATA[Minha palestra sobre frontend de alta performance no frontinrio, que aconteceu dia 18/06/2011
 Engenharia de front end de alta performance 
 View more presentations from Anderson Solano 

]]></description>
			<content:encoded><![CDATA[<p>Minha palestra sobre frontend de alta performance no <a href="http://www.frontinrio.com.br/">frontinrio</a>, que aconteceu dia 18/06/2011</p>
<div style="width:425px" id="__ss_8353505"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/andersonsolano/engenharia-de-front-end-de-alta-performance" title="Engenharia de front end de alta performance">Engenharia de front end de alta performance</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/8353505" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
<div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/andersonsolano">Anderson Solano</a> </div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://naoesqueca.com/palestra-engenharia-de-frontend-de-alta-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Url friendly sem htaccess, baseado no wordpress</title>
		<link>http://naoesqueca.com/url-friendly-sem-htaccess-baseado-no-wordpress/</link>
		<comments>http://naoesqueca.com/url-friendly-sem-htaccess-baseado-no-wordpress/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 20:28:37 +0000</pubDate>
		<dc:creator>Anderson Solano</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[url friendly]]></category>

		<guid isPermaLink="false">http://naoesqueca.com/?p=92</guid>
		<description><![CDATA[Olá, depois de algum tempo sem postar volto com a solução de um velho problema, url amigáveis!
Semana passada perguntei para os dois caras que, conheço que, são os mais entendidos de wordpress, onde eu poderia encontrar alguma documentação sobre o funcionamento do permalink, apesar de achar que já sabia qual seria a resposta.
O Gustavo Bordoni [...]]]></description>
			<content:encoded><![CDATA[<p>Olá, depois de algum tempo sem postar volto com a solução de um velho problema, <strong>url amigáveis</strong>!</p>
<p>Semana passada perguntei para os dois caras que, conheço que, são os mais entendidos de wordpress, onde eu poderia encontrar alguma documentação sobre o funcionamento do permalink, apesar de achar que já sabia qual seria a resposta.</p>
<p>O <a href="http://webord.net/">Gustavo Bordoni</a> me respondeu o seguinte <a href="http://twitter.com/#!/webord/status/62510494069698560">&#8220;@andersonsolano Cara essa é a parte mais obscura do WP, é bem complicado&#8230; Mas o que mais ou menos você quer fazer?&#8221;</a>.</p>
<p>E o <a href="http://www.tudoparawordpress.com.br/">Guga Alves</a> respondeu o seguinte <a href="http://twitter.com/#!/GugaAlves/status/62531206889222145">&#8220;@andersonsolano Quem come funções de WP no almoço é o @webord , ele que sabe quase todas de cabeça rsrsrs&#8221;</a>.</p>
<p>Voilà, como eu imaginava, não existe ou é desconhecida, qualquer documentação sobre o assunto.</p>
<p>Eu queria estudar como as urls sao montadas no wordpress, para poder fazer algo que fosse bem aplicável em qualquer situação, desde um site com meia dúzia de páginas ou um com  500 páginas e urls dinâmicas.</p>
<p>Mas como não tem documentação, então pensei que devia ter algum jeito de fazer as <strong>urls amigáveis</strong> sem ser pelo tradicional método do <strong>htaccess</strong> com expressões regulares ou usando forcetype também pelo htaccess.</p>
<p>Parei para pensar e fui olhar o funcionamento do <strong>htaccess do wordpress</strong> e percebi que as urls sempre chamavam o index.php, logo entendi o porque de ter a url salva no banco de dados na tabela dos posts.</p>
<p>Então parti para a parte legal da história, pensar as funcionalidades que são necessárias para o funcionamento.</p>
<p>Não vou explicar tudo o que foi feito para não alongar demais esse texto, listei abaixo as principais funções explicarei para que elas foram feitas, mas você não precisa se preocupar em utilizá-las pois fiz funcionamento para ser o mais simples possível.</p>
<p>Para utilizar, você precisará configurar três linhas de código, duas no htaccess e uma no index.php.</p>
<p>Bom vamos as funções:</p>
<h2>is_home()</h2>
<p>Verifica se é a página inicial e adiciona o arquivo home.php.</p>
<h2>eval(RURI)</h2>
<p>RURI é uma constante em que a url solicitada foi transformada em array, como constantes não podem ser arrays, o valor dela é transformado em texto com a formatação de array, quando precisar utilizar faz-se o eval para ser um array novamente.</p>
<h2>$requestURI = eval(RURI);</h2>
<p>variavel que ja tem a consfante RURItransformada em array.</p>
<h2></h2>
<p>addSlash()<br />
verifica se o último caractere é uma barra (/) se não for, adiciona a barra ao final da url e faz um redirect 301.</p>
<h2></h2>
<p>redir301($newurl)<br />
função para fazer o redirect 301.</p>
<h2></h2>
<p>r404()<br />
função para retornar o header 404 e adiciona o arquivo 404.php avisando do erro. Esse arquivo poder ser altefado para o seu layout a vontade.</p>
<h2>configUrls.php</h2>
<p>Aqui começa a brincadeira para você: se você precisar de muitas urls ou urls com subdiretórios você precisa configurar quais são essas urls e qual arquivo vai ser chamado.<br />
Ex.</p>
<pre><code>&lt;?php
$configUrls['article'] = 'article.php';
$configUrls['article/teste-url'] = 'article01.php';
$configUrls['news'] = 'news.php';
?&gt;</code></pre>
<h2>sem configUrls.php</h2>
<p>primeiraPasta.php <br />
Se forem poucas páginas vc pode apagar o configUrls e usar o nome do arquivo como sendo o texto da primeira pasta da url.</p>
<h2>index.php</h2>
<p>Esse arquivo deve ter somente essa linha, qualquer modificação para seu site deve ser feita nos arquivos que você irá listar no array $configUrls.<br />
Aqui comecam as configurações, na variavel baseUrl você deve colocar a pasta, ou as pastas, que in ddi cam onde é a raiz do projeto, por exemplo se o site vai ficar em http://dominio.com/site/ vc deve colocar /site/ na variavel, caso a raiz seja o proprio dominio deixe em branco.</p>
<pre><code>&lt;?php $baseUrl = ''; include('_uf/funcs.php'); ?&gt; </code></pre>
<h2>.htaccess</h2>
<p>Abaixo segue como o .htaccess deve ficar, sim ele é igual ao que ok wordpress gera.</p>
<pre><code>&lt;IfModule mod_rewrite.c&gt;
RewriteEngine On RewriteBase /
# mesma coisa na linha acima caso tenha a pasta site, adicione apos a barra site/
RewriteRule ^index\.php$ -[L] RewriteCond
%{REQUEST_FILENAME} !-f RewriteCond
%{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
# idem na linha acima, que você deve indicar onde fica o arquivo index.php
# então o final da linha fica ./site/index.php
&lt;/IfModule&gt;</code></pre>
<p>Feito isso o seu site está pronto para utilizar as urls amigáveis.</p>
<p>Não esqueca de manter a pasta _uf, caso mova, ou remova, ajuste o caminho do include do funcs.php no index.php</p>
<p>Então é isso, você pode <a href="http://samples.naoesqueca.com/urlFriendly/">testar script de urls amigáveis</a> ou <a href="http://samples.naoesqueca.com/urlFriendly/urlFriendly.rar">baixar e usar urls amigáveis</a> no seu próximo projeto.</p>
<p>Gostou, não gostou, achou um bug? comenta ai!</p>
]]></content:encoded>
			<wfw:commentRss>http://naoesqueca.com/url-friendly-sem-htaccess-baseado-no-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Plugin jQuery para highlight em células de tabelas</title>
		<link>http://naoesqueca.com/plugin-jquery-para-highlight-em-celulas-de-tabelas/</link>
		<comments>http://naoesqueca.com/plugin-jquery-para-highlight-em-celulas-de-tabelas/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 02:07:06 +0000</pubDate>
		<dc:creator>Anderson Solano</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[exemplos]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[manipulação]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[praticando]]></category>
		<category><![CDATA[table]]></category>

		<guid isPermaLink="false">http://naoesqueca.com/?p=54</guid>
		<description><![CDATA[Um dia desses estava no trabalho quando o AI (arquiteto de informação) me apresentou uma tabela cheia de efeitos no hover, você pode ver uma imagem dessa tabela ai embaixo.

Ele me explicou que quando o usuário passasse o mouse pela tabela as células anteriores, das respectivas linha e coluna, seriam marcadas por um background e [...]]]></description>
			<content:encoded><![CDATA[<p>Um dia desses estava no trabalho quando o AI (arquiteto de informação) me apresentou uma tabela cheia de efeitos no <em>hover</em>, você pode ver uma imagem dessa tabela ai embaixo.</p>
<p><img src="http://naoesqueca.com/wp-content/uploads/2011/03/tb.png" alt="" class="aligncenter"/></p>
<p>Ele me explicou que quando o usuário passasse o mouse pela tabela as células anteriores, das respectivas linha e coluna, seriam marcadas por um background e quando clicasse a célula clicada ficaria marcada.</p>
<p>Como não era urgente e eu nunca tinha visto isso sendo feito com HTML logo fiz cara feia e que não saberia se seria possível fazer de uma forma que tivesse uma boa performance, para não deixar a página lenta por causa de um background bobo. </p>
<p>Logo pedi pra ele me mostrar um exemplo disso funcionando, o primeiro que não era exatamente o que ele queria não era uma tabela, na verdade era, mas feita com divs, ou seja, POG das brabas, eu imediatamente soltei um &#8220;rá eu te disse&#8221;, mas ele me mostrou outro exemplo que realmente era uma tabela, mas também não era exatamente o que ele queria.</p>
<p>Só para sacanear disse que iria tentar fazer, mas p ele ficar sabendo que o resultado seria horrível.</p>
<p>Alguns dias passaram e lembrei-me da tabela e por algum motivo, junto da lembrança da tabela veio a solução do problema, parei o que estava fazendo para testar a solução abaixo. Lembrando que estamos trabalhando com <a href="http://www.jquery.com" target="_blank">jQuery</a>.</p>
<pre><code>$(document).ready(function(){
	$('table.tab td').click(function(){
		$(this).parents('table').eq(0).find('td,th').each(function(){ $(this).removeClass('on'); });
		$(this).addClass('on');
		$(this).prevAll().addClass('on');
		var x  = $(this).prevAll().length;
		$(this).parent().prevAll().each(function(){
			$(this).find('>*').eq(x).addClass('on');
		});
		$(this).parents('table').eq(0).find('tr:first-child th').eq(x).addClass('on');
	}).hover(function(e){
		$(this).parents('table').eq(0).find('td,th').each(function(){ $(this).removeClass('on2'); });
		$(this).addClass('on2');
		$(this).parent().find('>:first-child').addClass('on2');
		var x  = $(this).prevAll().length;
		$(this).parents('table').eq(0).find('tr:first-child th').eq(x).addClass('on2');
	});
});
</code></pre>
<p>Agora vamos entender o que fiz, ah o HTML pra tabela que fiz foi esse aqui.</p>
<pre><code>&lt;table class="tab" border="1"&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th&gt;&nbsp;&lt;/th&gt;
			&lt;th&gt;&lt;span&gt;DOM&lt;/span&gt; 24/12&lt;/th&gt;
			&lt;th&gt;&lt;span&gt;SEG&lt;/span&gt; 25/12&lt;/th&gt;
			&lt;th&gt;&lt;span&gt;TER&lt;/span&gt; 26/12&lt;/th&gt;
			&lt;th&gt;&lt;span&gt;QUA&lt;/span&gt; 27/12&lt;/th&gt;
			&lt;th&gt;&lt;span&gt;QUI&lt;/span&gt; 28/12&lt;/th&gt;
			&lt;th&gt;&lt;span&gt;SEX&lt;/span&gt; 29/12&lt;/th&gt;
			&lt;th&gt;&lt;span&gt;SAB&lt;/span&gt; 30/12&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;th&gt;&lt;span&gt;DOM&lt;/span&gt; 24/12&lt;/th&gt;
			&lt;td&gt;&lt;span&gt;1&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;2&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;3&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;4&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;5&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;6&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;7&lt;/span&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;th&gt;&lt;span&gt;SEG&lt;/span&gt; 25/12&lt;/th&gt;
			&lt;td&gt;&lt;span&gt;1&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;2&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;3&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;4&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;5&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;6&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;7&lt;/span&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;th&gt;&lt;span&gt;TER&lt;/span&gt; 26/12&lt;/th&gt;
			&lt;td&gt;&lt;span&gt;1&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;2&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;3&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;4&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;5&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;6&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;7&lt;/span&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;th&gt;&lt;span&gt;QUA&lt;/span&gt; 27/12&lt;/th&gt;
			&lt;td&gt;&lt;span&gt;1&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;2&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;3&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;4&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;5&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;6&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;7&lt;/span&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;th&gt;&lt;span&gt;QUI&lt;/span&gt; 28/12&lt;/th&gt;
			&lt;td&gt;&lt;span&gt;1&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;2&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;3&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;4&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;5&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;6&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;7&lt;/span&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;th&gt;&lt;span&gt;SEX&lt;/span&gt; 29/12&lt;/th&gt;
			&lt;td&gt;&lt;span&gt;1&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;2&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;3&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;4&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;5&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;6&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;7&lt;/span&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;th&gt;&lt;span&gt;SAB&lt;/span&gt; 30/12&lt;/th&gt;
			&lt;td&gt;&lt;span&gt;1&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;2&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;3&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;4&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;5&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;6&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;&lt;span&gt;7&lt;/span&gt;&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
</code></pre>
<p>Primeiramente defini o <strong>hook</strong> para a tabela <strong>com o seletor</strong> (&#8216;table.tab td&#8217;), e adiciono o evento de <em>hover</em> em todos os TDs.</p>
<pre><code>	$('table.tab td').hover(function(){
		//hover
	});
</code></pre>
<p>Feito isso passo a adicionar a classe on2 no TD com <em>hover</em></p>
<pre><code>		$(this).addClass('on2');
</code></pre>
<p>Mas antes de adicionar a classe do <em>hover</em> preciso remover qualquer outra classe on2 que possa ter em um TD, já que quando tirar o mouse de cima do TD tem que voltar ao estado sem background.</p>
<pre><code>		$(this).parents('table').eq(0).find('td,th').each(function(){ $(this).removeClass('on2'); });
</code></pre>
<p>Após isso é que começa a brincadeira, primeiro pego <strong>todos os TDs, da mesma TR (linha)</strong>, antes do TD com <em>hover</em> e adiciono a classe on2 também.</p>
<pre><code>		$(this).prevAll().addClass('on2');
</code></pre>
<p>Agora veio a parte &#8220;mais chatinha&#8221; de ser feita. Dentro dessa tabela e <strong>dentro desse TR</strong>, pegar qual o <strong>índice do TD com <em>hover</em></strong>, para poder colocar a classe on2 nos TDs da coluna.</p>
<pre><code>		var x  = $(this).prevAll().length;
		$(this).parent().prevAll().each(function(){
			$(this).find('>*').eq(x).addClass('on2');
		});
</code></pre>
<p>Feito tudo isso a parte do <em>hover</em> estava pronta e devidamente testada, parti pra parte do <em>click</em>, que vai marcar a célula (TD) da tabela, então adiciono o evento de <em>click</em> adicionando a classe on para marcar.</p>
<pre><code>	$('table.tab td').click(function(){
		$(this).addClass('on');
	});
</code></pre>
<p>Mas perae, tem que remover o estilo dos outros TDs que já foram clicados.</p>
<pre><code>		$(this).parents('table').eq(0).find('td,th').each(function(){ $(this).removeClass('on'); });
</code></pre>
<p>Agora vamos transformar isso tudo em <em>plugin</em>, para não ter que repetir o código várias vezes, caso alguém ache motivos para fazer isso, ou colocar vários seletores, ou qualquer outro motivo que não seja somente a chamada do plugin.</p>
<pre><code>( function( jQuery ) {
	jQuery.fn.highlightTable = function() {
		this.click(function(){
			jQuery(this).parents('table').eq(0).find('td,th').each(function(){ jQuery(this).removeClass('on'); });
			jQuery(this).addClass('on');
			jQuery(this).prevAll().addClass('on');
			var x  = jQuery(this).prevAll().length;
			jQuery(this).parent().prevAll().each(function(){
				jQuery(this).find('>*').eq(x).addClass('on');
			});
			jQuery(this).parents('table').eq(0).find('tr:first-child th').eq(x).addClass('on');
		}).hover(function(e){
			jQuery(this).parents('table').eq(0).find('td,th').each(function(){ jQuery(this).removeClass('on2'); });
			jQuery(this).addClass('on2');
			jQuery(this).parent().find('>:first-child').addClass('on2');
			var x  = jQuery(this).prevAll().length;
			jQuery(this).parents('table').eq(0).find('tr:first-child th').eq(x).addClass('on2');
		},function(){
			jQuery(this).parents('table').eq(0).find('td,th').each(function(){ jQuery(this).removeClass('on2'); });
		});
	};
} )( jQuery );

$(document).ready(function() {
    $("table.tab td").highlightTable();
});
</code></pre>
<p>Ah, mais uma coisinha de última hora, quando der o &#8220;blur&#8221;,entre aspas que o evento está mais para <em>hover out</em> mas não lembro de um nome para esse evento, da tabela remover a classe on2 para não ter nenhuma marcação de <em>hover</em></p>
<pre><code>,function(){
	jQuery(this).parents('table').eq(0).find('td,th').each(function(){ jQuery(this).removeClass('on2'); });
}</code></pre>
<p>Bom, é isso espero que seja útil para muitas pessoas, gostou, não gostou, achou um bug ou simplesmente que falar alguma coisa comenta ai embaixo.</p>
<p>Ate a próxima.</p>
<p>Ah, já ia esquecendo o link para o <a href="http://samples.naoesqueca.com/jqTbHl/" target="_blank">exemplo funcional do plugin de highlight de hover e click em células de tabelas</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://naoesqueca.com/plugin-jquery-para-highlight-em-celulas-de-tabelas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SEO black hat, ilegal ou marginalizado?</title>
		<link>http://naoesqueca.com/seo-black-hat-ilegal-ou-marginalizado/</link>
		<comments>http://naoesqueca.com/seo-black-hat-ilegal-ou-marginalizado/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 21:41:08 +0000</pubDate>
		<dc:creator>Anderson Solano</dc:creator>
				<category><![CDATA[Black Hat]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[SEO Black Hat]]></category>
		<category><![CDATA[faço mesmo, e daí?]]></category>
		<category><![CDATA[faço, mas com moderação]]></category>
		<category><![CDATA[opinião]]></category>

		<guid isPermaLink="false">http://naoesqueca.com/?p=37</guid>
		<description><![CDATA[Esse texto não tratará de técnicas de SEO black hat, mas sim da forma que, creio que, a maioria das pessoas, no cenário brasileiro, enxergam o SEO black hat.
Eu mesmo via black hat com maus olhos, mas, no estilo Hannibal Lecter ou Dexter Morgan, personagens &#8220;acima de qualquer suspeita&#8221; mas que &#8220;a noite&#8221; saem matando [...]]]></description>
			<content:encoded><![CDATA[<p>Esse texto não tratará de <strong>técnicas de SEO black hat</strong>, mas sim da forma que, creio que, a maioria das pessoas, no <strong>cenário brasileiro</strong>, enxergam o SEO black hat.</p>
<p>Eu mesmo via black hat com maus olhos, mas, no estilo <a href="http://en.wikipedia.org/wiki/Hannibal_Lecter">Hannibal Lecter</a> ou <a href="http://en.wikipedia.org/wiki/Dexter_(TV_series)">Dexter Morgan</a>, personagens &#8220;acima de qualquer suspeita&#8221; mas que &#8220;a noite&#8221; saem matando meio mundo, bom eu não saio matando ninguém por ai, nem fazendo black hat adoidado, mas sempre tive interesse no assunto e muita vontade de colocar em prática as técnicas do &#8220;lado negro da força&#8221;, mas como sempre houveram &#8220;repreensões&#8221; nunca fiz nada na prática.</p>
<p>Mas a cada dia essa idéia, de ser algo imoral, sempre ia diminuindo e a idéia que black hat não iria me causar alguma punição divina aumentava na mesma proporção. E antes que alguém pergunte, não faço nada que não seja &#8220;permitido&#8221; em sites de clientes, nem mesmo que seja a vontade do cliente, primeiro que direta ou indiretamente meu nome vai pra vala de quebra o da agência que trabalho também. Para que não fique mal entendido, <strong>não estou mandando ninguém sair por ai fazendo black hat</strong>.</p>
<p>Há pouco tempo atrás fui até BH e conheci dois caras muito bons no que fazem, <a href="http://www.marketingcontextual.com/">Rafael Damasceno do marketing contextual</a> e <a href="http://www.uaiseo.com.br/">Alberto André do uaiSEO</a>, dois caras que em qualquer conversa mostraram ser pessoas que entende muito de SEM e SEO e que, com uma frase cada um, me fizeram abandonar a idéia de como eu enchergava SEO black hat.</p>
<p>Rafael Damasceno deixou o seguinte questionamento no post &#8220;<a href="http://www.marketingcontextual.com/black-hat-seo-nem-chapeuzinho-nem-lobo-mau/">Nem Chapeuzinho, Nem Lobo Mau – Considerações Sobre Black Hat SEO&#8221;</a>:<br />
&#8220;Eu faria isso se os mecanismos de busca não existissem?&#8221;</p>
<p>E em uma palestra Alberto André, ele disse algo mais ou menos assim:</p>
<p>&#8220;Sabendo técnicas black hat você pode modificá-la para que seja white hat ou aproveitada de forma que não seja passível de punição.&#8221;</p>
<p>Eu vejo a frase do Rafael da seguinte forma, se buscadores não existissem não existiria otimização, mas já que existem, qualquer otimização já tem um pé no lado negro da força. A diferença entre o black e o white é que o black é passível de punição e o white é aceitável por parte do buscador. Você não usa nenhuma malandragem que não é permitida para ficar na frente de ninguém. Mas que você já é 50% mais malandro que o afilhado do vizinho que só faz site com tabela e não sabe o que é semântica, ah meu camarada isso você já é. E é por isso que no inicio era muito fácil colocar um site nas primeiras posições sem muito esforço, os que perceberam como o jogo funcionava saíram na frente e começaram o uso indiscriminado das malandragens para ficar na frente. A partir dessas malandragens é que foram criadas &#8220;regras&#8221; de otimização.</p>
<p>Hoje o jogo é o mesmo, com a diferença que a quantidade de gente que pode jogar no mesmo nível aumentou e muito, existem muitas regras, punições e não é mais simplesmente colocar meia duzia de tags e keywords que você vai ficar na frente do concorrente. Em toda esquina existe alguém que &#8220;entende de Google&#8221; e vai colocar o cliente na frente mais barato que você.</p>
<p>Baseado no que o Alberto André disse, vou comentar 2 casos do mundo real que se utilizaram da mesma &#8220;técnica de SEO black hat&#8221;, depois explico o que essa técnica &#8220;repugnante&#8221; faz.</p>
<p>Era uma vez, uma montadora de carros muito grande que vende carros muito caros chamada BMW, no site da <a href="http://www.bmw.de/">BMW Alemã</a> foi utilizada uma técnica chamada de <strong>cloaking</strong>, logo que foi descoberta a <a href="http://www.seroundtable.com/archives/003245.html">BMW alemã foi punida pelo Google por fazer uso de cloaking</a>.</p>
<p>Era uma vez, um jornal online muito conhecido chamado <a href="http://www.nytimes.com/">The New York Times</a>, adivinha o que ele fez o seguinte com suas noticias para assinantes? o <a href="http://blogoscoped.com/archive/2006-06-19-n18.html">The New York Times fez cloaking</a>, para os buscadores exibe a noticia completa, para usuários ele exibe a tela de login. e o que o NYT ganhou? muitas páginas indexadas de forma &#8220;licita&#8221;.</p>
<p>Viu o que os dois fizeram? a mesma coisa, só que o que o alemão malandro fez foi para ganhar posições no google de forma &#8220;ilícita&#8221; e o novaiorquino malandro fez foi exibir o conteúdo para os buscadores e para os usuários assinantes, antes do conteúdo ele mostra a pagina de login, e para quem não é assinante tem a opção de pagar uma merreca por mês para poder ver as notícias.</p>
<p>Viu dois caras extremamente malandros?, só que um (o alemão) só escutou a primeira parte da mensagem do Alberto André, enquanto o outro (o novaiorquino) ouviu a mensagem toda.</p>
<p>Agora vamos imaginar a seguinte situação, você é um cara malandro, e tem um bom conhecimento de SEO black hat e aplica essas técnicas em um site, e em uma semana, o site tem um retorno financeiro razoável, você basicamente teve o trabalho de pagar um host, pagar o domínio, fazer um sitezinho meia boca cheio de malandragens para ficar em primeiro no google e  vendeu R$500 pelo sistema de afiliados do seu ecommerce preferido. Vamos as contas R$45 do domínio, mais $20 do host, mais 8 horas de trabalho que custam R$100 (baseado em um salário de R$3000), você gastou no total R$165, ou seja um lucro de R$335 &#8220;sem fazer nada&#8221;. Gostou de imaginar isso? isso é basicamente o que muitos gringos fazem, só que os valores não são tão baixos, principalmente o do lucro!</p>
<p>Só uma coisa, não vai sair por ai fazendo site com black hat e colocando adsense, vc vai sacanear o trabalho de muita gente que trabalha com adwords. E principalmente, depois não fala que a culpa é minha e nem que fui eu que mandei! Assuma suas atitudes e seus erros!</p>
<p>Continuando, o black hat é visto como algo feio, sujo, que dá pena de morte e punição divina, mas é &#8220;justamente ao contrário&#8221;, entre outras coisas, ele gera lucro que é o que todo mundo quer. Se bem utilizado como no caso BMW x NYT.</p>
<p>Finalizando, não acho que SEO black hat seja algo quase que comparável com matar uma pessoa, mais uma vez não estou dizendo para você sair fazendo adoidado, só gostaria de expor esse outro lado que raramente é exibido e dizer que é uma &#8220;coisa&#8221; que gosto de ler e estar sempre atualizado e que sempre que puder colocarei sites no ar para poder testar as técnicas, analisar os resultados e extrair somente o melhor para os meus clientes e se possível ainda ganhar uma graninha com algum sistema de afiliados <img src='http://naoesqueca.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Com tudo o que foi exposto acho que SEO black hat tem seu potencial de ser ilegal, mas também é muito marginalizado, se você for malandro o suficiente para extraír somente o melhor de cada técnica creio que você e o mercado poderiam crescer de forma assombrosa, principalmente na questão da qualidade técnica.</p>
<p>e para você? SEO black hat é imoral, ilegal e engorda?, é algo que puseram na sua cabeça?, é um pobre coitado que não teve chance na vida? concorda comigo? discorda de alguma coisa? discorda de tudo? qualquer que seja a resposta comenta ai.</p>
]]></content:encoded>
			<wfw:commentRss>http://naoesqueca.com/seo-black-hat-ilegal-ou-marginalizado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Excel para organizar o trabalho com links patrocinados, keywords, frases e correspondência (ampla, exata e negativa)</title>
		<link>http://naoesqueca.com/excel-para-organizar-o-trabalho-com-links-patrocinados-keywords-frases-e-correspondencia-ampla-exata-e-negativa/</link>
		<comments>http://naoesqueca.com/excel-para-organizar-o-trabalho-com-links-patrocinados-keywords-frases-e-correspondencia-ampla-exata-e-negativa/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 19:40:20 +0000</pubDate>
		<dc:creator>Anderson Solano</dc:creator>
				<category><![CDATA[correspondência]]></category>
		<category><![CDATA[keywords]]></category>
		<category><![CDATA[links patrocinados]]></category>
		<category><![CDATA[ppc]]></category>

		<guid isPermaLink="false">http://naoesqueca.com/?p=32</guid>
		<description><![CDATA[Recentemente fiz o curso SEM Dúvida, muito bom por sinal, depois faço um post sobre o curso e outro sobre links patrocinados.
Como &#8220;preguiçoso&#8221; que sou, fui logo pensar uma forma de otimizar o trabalho com as keywords.
Então criei um excelzinho que copia o conteúdo da primeira coluna e coloca com sinal de menos na frente, [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente fiz o curso <a href="http://www.cursodesem.com.br/">SEM Dúvida</a>, muito bom por sinal, depois faço um post sobre o curso e outro sobre links patrocinados.</p>
<p>Como &#8220;preguiçoso&#8221; que sou, fui logo pensar uma forma de otimizar o trabalho com as keywords.</p>
<p>Então criei um excelzinho que copia o conteúdo da primeira coluna e coloca com sinal de menos na frente, entre aspas, entre aspas e com sinal de menos na frente e depois entre colchetes.</p>
<p>Divirta-se e não esquece de agradecer <img src='http://naoesqueca.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href='http://naoesqueca.com/wp-content/uploads/2010/09/keywords.ods'>download do excel para keyowrds</a></p>
]]></content:encoded>
			<wfw:commentRss>http://naoesqueca.com/excel-para-organizar-o-trabalho-com-links-patrocinados-keywords-frases-e-correspondencia-ampla-exata-e-negativa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>geradores de hash</title>
		<link>http://naoesqueca.com/geradores-de-hash/</link>
		<comments>http://naoesqueca.com/geradores-de-hash/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 17:59:19 +0000</pubDate>
		<dc:creator>Anderson Solano</dc:creator>
				<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[gerador]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[praticando]]></category>
		<category><![CDATA[senha]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://naoesqueca.com/?p=25</guid>
		<description><![CDATA[Há alguns dias atrás, estava olhando o cakePHP, framework em PHP bem maneiro pensando em usar para começar um projeto pessoal e quando fui configurar vi que precisava de um hash para segurança. Como eu odeio fazer esses hash&#8217;s, mesmo sabendo o motivo de serem usados, copiei um do wordpress, quando me veio a idéia [...]]]></description>
			<content:encoded><![CDATA[<p>Há alguns dias atrás, estava olhando o <a href="http://www.cakephp.com.br/">cakePHP</a>, framework em PHP bem maneiro pensando em usar para começar um projeto pessoal e quando fui configurar vi que precisava de um <a href="http://pt.wikipedia.org/wiki/Hash">hash</a> para segurança. Como eu odeio fazer esses hash&#8217;s, mesmo sabendo o motivo de serem usados, copiei um do <a href="http://wordpress.org/">wordpress</a>, quando me veio a idéia de agrupar todos esses <a href="http://samples.naoesqueca.com/geradores/">geradores de hash</a> em uma única página.</p>
<p>Como disse, de cara lembrei que o wordpress também precisa de alguns hash&#8217;s então foi mais um motivo pra criar o gerador, nunca lembro onde eu posso gerar, então, sendo eu que fiz eu não esqueço.. <img src='http://naoesqueca.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Criei entao os <a href="http://samples.naoesqueca.com/geradores/">geradores de hash</a>.<br />
Tem <a href="http://samples.naoesqueca.com/geradores/?gen=cake">gerador de hash para cakePHP</a> e <a href="http://samples.naoesqueca.com/geradores/?gen=wordpress">gerador de hash para wordpress</a>, de quebra tem um <a href="http://samples.naoesqueca.com/geradores/?gen=pass">gerador de senhas</a>. </p>
<p>Se encontrar algum problema me avisa. Ah, se conhecer algum framework ou qualquer coisa que utilize um hash manda um comentário que, vejo as especificações se houver e, adiciono na lista.</p>
]]></content:encoded>
			<wfw:commentRss>http://naoesqueca.com/geradores-de-hash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

