<?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>redribera Blog &#187; Tips y Tutos</title>
	<atom:link href="http://www.redribera.es/blog/category/tutoriales/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.redribera.es/blog</link>
	<description>El blog de redribera</description>
	<lastBuildDate>Thu, 09 Feb 2012 22:36:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flash, juegos, Sprites, Tiles &#8230;y Pixel Art.</title>
		<link>http://www.redribera.es/blog/flash-juegos-sprites-tiles-y-pixel-art/</link>
		<comments>http://www.redribera.es/blog/flash-juegos-sprites-tiles-y-pixel-art/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 15:00:04 +0000</pubDate>
		<dc:creator>redribera</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Juegos]]></category>
		<category><![CDATA[Juegos Online]]></category>
		<category><![CDATA[años 80]]></category>
		<category><![CDATA[arte]]></category>
		<category><![CDATA[dibujo]]></category>
		<category><![CDATA[diseño grafico]]></category>
		<category><![CDATA[graficos]]></category>
		<category><![CDATA[juegos]]></category>
		<category><![CDATA[pixel]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://www.redribera.es/blog/?p=297</guid>
		<description><![CDATA[Desde la perspectiva de un programador, históricamente suspenso en dibujo y manualidades, enfrentarse al trabajo artístico de un juego, es algo terrorifico. Afortunadamente tras unos dias parece verse la luz al final del tunel. Quiero Pixel Art.  ]]></description>
			<content:encoded><![CDATA[<p>Ando unos dias a la caza y captura de <a href="http://www.redribera.es/formacion/tutoriales/viewfile.html?file=flgame0308-3.xml">Sprites</a> , para un juego isométrico en Flash, que estoy creando. Al principio pensaba que con unos pocos elementos gráficos sería mas que suficiente, pero me doy cuenta que necesito gráficos, que además estén en concordancia con otros.</p>
<p>Solución: <em>Me los tendré que fabricar yo mismo, a falta de presupuesto para un artista gráfico.</em></p>
<p>Al principio pensé en utilizar mis pocos conocimientos de CAD y 3D para conseguir modelar elementos. Sin embargo no ha dado los frutos deseados por mi, &#8230; y eso que al principio el Swift 3D de Electric Rain, pintaba bastante bien, pero mi escaso conocimiento en modelado 3D es mas bien un lastre.</p>
<p>Así que tras varios dias navegando por foros varios, he descubierto, &#8230; quizás unos años tarde, eso que llaman <strong>Pixel Art </strong>!</p>
<p>Por lo que he estado viendo, el Pixel Art es eso que se hacía hace unos 25 años, para crear gráficos en Spectrums, MSX, Commodores y sucedaneos o <em>precedaneos</em>.</p>
<p>Vamos que esos pixels gordos , que hace 25 años eran gordos porque la resolución no daba mas de si, ahora ya no son gordos, pero haciendo un mogollón de Zoom, sirve igual, y Eureka, todavía se siguen utilizando y son tela de Cool !.</p>
<p>Espero no pasarme de gracioso. Al lio!. El caso es que me ha convencido la solución pixel Art, para continuar con mi nuevo juguete, que es este juego de tiles que llevo entre manos.</p>
<p>Si quieres comprender un poco mejor, que es eso del Pixel Art , te recomiendo visitar el sitio web de <a href="http://www.pixeljoint.com/">Pixeljoint</a> (no me pagan por esto, y si, me he registrado), &#8230; no te cuento mas.</p>
<p>Mira que muestra rapaz!</p>
<div style="width: 518px; margin: auto;">
<div id="attachment_298" class="wp-caption aligncenter" style="width: 528px"><img class="size-full wp-image-298" title="muestrapixeljopint" src="http://www.redribera.es/blog/wp-content/uploads/2011/06/muestrapixeljopint.jpg" alt="Galeria de arte de Pixel Joint." width="518" height="407" /><p class="wp-caption-text">Galeria de arte de Pixel Joint.</p></div>
</div>
<p>Impresionantes verdad. Hay verdaderos artistas en esto del dibujo ganado pixel a pixel. El Pixel Art hay que trabajarlo a base de currarse un pixel tras otros. Y aunque los mas puristas no permiten el uso de Photoshops, o modelados 3D repixelados, al final hay un poco de manga ancha con las herramientas utilizadas.</p>
<p>Cualquier <em>pixelartista</em> (palabro inventado por mi , hasta que no se demuestre lo contrario), te dirá que su herramienta es el Paint del Windows. Que no necesita mas. Pero tu, joven amateur, utiliza lo que te de la gana, para que tu imaginación y talento, vuelen a las mas altas cotas.</p>
<p>Es mas te voy a aconsejar el software que estoy utilizando yo ahora mismo. Open Source y salvo algún pequeño petardazo, está funcionando bastante bien. Se trata de <a href="http://www.aseprite.org/">Allegro Sprite Editor</a> , ASEPRITE para los amigos.</p>
<p>Existen algunos programas mas orientados al dibujo de pixels, pero  tampoco los he probado, para seros sinceros. Hasta ahora siempre habia  utilizado FireWorks para mis labores gráficas, y en combinación con  ASEPRITE, no creo necesitar mas.</p>
<p>De momento estoy funcionando bastante bien. Y ya he conseguido hacer cosas como esta:</p>
<div style="width: 392px; margin: auto;">
<div id="attachment_299" class="wp-caption aligncenter" style="width: 402px"><img class="size-full wp-image-299" title="isovslarge" src="http://www.redribera.es/blog/wp-content/uploads/2011/06/isovslarge.jpg" alt="Mis primeros pinitos en el Pixel Art. (pssst! la foto de abajo es la mia, ¿se nota no?) " width="392" height="600" /><p class="wp-caption-text">Mis primeros pinitos en el Pixel Art. (pssst! la foto de abajo es la mia, ¿se nota no?) </p></div>
</div>
<p>Pues evidentemente la foto de abajo es el resultado de mis primeros trabajos, que me da en la nariz que tendrán que mejorar mucho para parecerse al Grand Theft Auto DS. Pero todo se andará. De momento ya le va dando algo mas de colorido al mapa de mi juego. Cuando controle las transiciones entre tiles y las sombras, esto parecerá otra cosa.</p>
<p>De todos modos con un poco de práctica todo se puede mejorar.</p>
<p>En la web de referencia que anteriormente os mostré (Pixel Joint), existe una sección con bastantes enlaces a tutoriales relacionados con el Pixel Art. Básicos, intermedios y avanzados. Además en varios idiomas.</p>
<p>Esta es la dirección:</p>
<p><a href="http://www.pixeljoint.com/pixels/tutorials.asp">http://www.pixeljoint.com/pixels/tutorials.asp</a></p>
<p>Uno de los que mas me ha gustado de cara a comprender el dibujo básico : iluminación, colores, etc&#8230; es <a href="http://www.derekyu.com/?page_id=218">The Pixel tutorial</a>, de Derek Yu, donde aprenderás a fabricar a este menda (o casi aprenderás):</p>
<div style="width: 300px; margin: auto;">
<div id="attachment_300" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-300" title="lucha-finished" src="http://www.redribera.es/blog/wp-content/uploads/2011/06/lucha-finished.gif" alt="Un luchador Arcade y pixelado" width="300" height="300" /><p class="wp-caption-text">Un luchador Arcade y pixelado</p></div>
</div>
<p>Además Derek no tiene reparos siquiera en recomendarte el uso de PhotoShop, así que de puristas nada.</p>
<p>El <a href="http://desarrollomultimedia.es/articulos/Pixel_art1.html">dibujo de una casa isométrica</a>, que nos proponen en español, desde desarrollo multimedia, tampoco tiene desperdicio.</p>
<div style="width: 300px; margin: auto;">
<div id="attachment_301" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-301" title="2715" src="http://www.redribera.es/blog/wp-content/uploads/2011/06/2715.jpg" alt="Casa isométrica." width="300" height="216" /><p class="wp-caption-text">Casa isométrica.</p></div>
</div>
<p>Aunque es algo tedioso, y al final, o eres un pedazo de artistón, o no te queda mas remedio que acudir al 3D, para generar Sprites animados, me parece que el Pixel Art va a ser mi compañero durante un tiempo. Al menos hasta finalizar este proyecto que tengo entre manos.</p>
<p>Mientras tanto seguiré perseverando hasta intentar conseguir una ilustración como esta:</p>
<div style="width: 550px; margin: auto;">
<div id="attachment_302" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-302" title="nyisobig" src="http://www.redribera.es/blog/wp-content/uploads/2011/06/nyisobig.jpg" alt="New York isométrico, otra perspectiva de la ciudad de los rascacielos." width="550" height="389" /><p class="wp-caption-text">New York isométrica y pixelada, otra perspectiva de la ciudad de los rascacielos.</p></div>
</div>
<p>Desconozco su autor, y de donde procede, pero no puedo contener mostrar esta obra de arte.</p>
<p>Saludos estimad@ lect@r !</p>
<p>Gracias por leer este artículo. <img src='http://www.redribera.es/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.redribera.es/blog/flash-juegos-sprites-tiles-y-pixel-art/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Alternativa Flash</title>
		<link>http://www.redribera.es/blog/alternativa-flash/</link>
		<comments>http://www.redribera.es/blog/alternativa-flash/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 19:22:22 +0000</pubDate>
		<dc:creator>redribera</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.redribera.es/blog/?p=170</guid>
		<description><![CDATA[Si se considera Usted webmaster y gusta de utilizar Flash en sus páginas web, planteese desde ya ofrecer una alternativa para el contenido Flash, tanto a sus usuarios como a los motores de busqueda. ]]></description>
			<content:encoded><![CDATA[<p>A la hora de crear sitios webs, suelen aparecer una serie de dudas iniciales, que tienden a aumentar tiempo después&#8230;. entre ellas una de las eternas preguntas <strong>¿Utilizo Flash?</strong></p>
<p>No es algo nuevo, y es un debate ya algo cansino. Mi experiencia personal , me indica que Flash es un elemento que gusta a aquellos que gustan del diseño y html a aquellos que se consideran mas expertos en computación, programación o gustosos del buen SEO.</p>
<p>En cualquier caso, para quien a estas alturas todavía se plantee utilizar Flash o html a la hora de generar contenido o elementos de un sitio web, tengo la respuesta <strong>¡Utilicen ambos!</strong></p>
<p>Desde hace algunos años &#8230; y quizás debido a ciertos problemas de patentes de Microsoft &#8230;. se viene utilizando la librería JavaScript <a href="http://code.google.com/p/swfobject/" target="_blank">swfobject</a> , para incluir contenido Flash en una página web.</p>
<p><strong>swfobject </strong>(actualmente en versión 2.2) permite embeber código Flash (formato swf) en una página, siempre y cuando se detecte que el navegador es capaz de mostrar contenido Flash, y al mismo tiempo a aquellos navegadores o robots de motores de busqueda que no utilizan JavaScript, simplemente indicarles el código html creado para dicha sección. Código este que deberemos de ser nosotros, webmasters quienes indiquemos, para nuestros propositos y deseos, cuando un &#8220;usuario&#8221; no dispone de un Flash Player para observar nuestro contenido.</p>
<p>Sirva como ejemplo la visualización de la cabecera de menús de este sitio web:</p>
<p>La cabecera de menú rápido de redribera, está creada con Flash y no es mas que una botonera que dirige a las secciones principales de nuestro sitio web. Cuando un navegador es capaz de interprtar Flash (en la versión para la que fue compilada la película Flash), la cabecera de menú de redribera mostrará este aspecto:</p>
<p><img class="aligncenter size-full wp-image-171" title="menu rapido redribera.es" src="http://www.redribera.es/blog/wp-content/uploads/2010/03/conflash-header.jpg" alt="menu rapido redribera.es" width="550" height="100" /></p>
<p>¿La reconoce?&#8230;Posiblemente sea capaz de verla en la parte superior de nuestra web. ¿Por que hecemos esto con Flash?&#8230;. Pues mire usted, principalmente porque nos gusta. ¿Podría estar hecho con html?&#8230; pues posiblemente no igual, pero contestando a su pregunta si !. Pero bueno, la cuestión es que si me gusta porque no lo voy a hacer. Esto tiene un inconveniente ¿Que pasa con aquellas personas que no son capaces de ver contenido Flash?</p>
<p>No son pocas estas personas, comenzando por las que no son personas, los robots de los motores de busqueda, incapaces, parece ser, de interpretar contenido Flash. Pero no solo ellos, también los mas importantes, nuestros usuarios, o al menos aquellos que no disponen de un plugin Flash para su navegador, o la versión adecuada del mismo. Para ellos, tenemos una alternativa. Tenemos Una alternativa a Flash, y es esta:</p>
<p><img class="aligncenter size-full wp-image-172" title="alternativa flash" src="http://www.redribera.es/blog/wp-content/uploads/2010/03/sinflash-header.jpg" alt="alternativa flash" width="550" height="100" /></p>
<p>Bueno, quizás no sea tan bonita, pero les aseguro que esto no se debe a la alternativa a Flash que planteamos con swfobject. Son enlaces directos a las mismas secciones importantes, creados via html, que tanto robots de motores de busquedas, como usuarios sin flash pueden ver, y que permitirán por nuestra parte indicarles que secciones importantes hay en nuestra web.</p>
<p>Sin ir mas lejos a fecha de hoy (es por lo que nos decidimos a hacer esta implementación en redribera), los usuarios de un telefono iPhone de Apple, son incapaces de ver contenido Flash en el navegador incorporado, safari.</p>
<p>¿Cómo? crear páginas web con con contenido Flash y sus alternativas lo pueden encontrar en la <a href="http://code.google.com/p/swfobject/wiki/documentation" target="_blank">documentación de swfobject</a> . Les recomiendo que la lean y la tengan muy presente para publicar contenido o elementos flash en sus sitios web.</p>
<p>Usted como webmaster tiene la última decisión de que es lo que debe mostrar su web, como lo debe mostrar, el tiempo que está dispuesto a invertir en su desarrollo y si merecerá la pena invertir determinados recursos para obtener, a menudo, inciertos resultados. Sin embargo espero que gracias a este artículo sea consciente de que existe una <strong>alternativa a Flash</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.redribera.es/blog/alternativa-flash/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cuanto tiempo hace desde una fecha.</title>
		<link>http://www.redribera.es/blog/cuanto-tiempo-hace-desde-una-fecha/</link>
		<comments>http://www.redribera.es/blog/cuanto-tiempo-hace-desde-una-fecha/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 09:27:42 +0000</pubDate>
		<dc:creator>redribera</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.redribera.es/blog/?p=164</guid>
		<description><![CDATA[Vamos a crear una función en php que nos devuelva de una forma formateada el tiempo que ha transcurrido desde una fecha dada, hasta la fecha actual, tal y como se está haciendo en algunas redes sociales como FaceBook. Esta función nos devolverá resultados como: hace 5 segundos, hace 2 horas, etc...]]></description>
			<content:encoded><![CDATA[<p>Quiero compartir con vosotros, lectores de redribera, este artículo, donde os indicaré el código necesario en php para averiguar, <strong>cuanto tiempo ha transcurrido </strong>desde una determinada fecha, hasta el momento actual.</p>
<p>No solo cuanto tiempo ha transcurrido, sino una forma peculiar de expresar o formatear este mismo tiempo de una forma legible para un usuario humano.</p>
<p>Si es usted un webmaster y programa en php, este script puede llegar a serle de mucha utilidad, sino programa con php, también, porque al fin y al cabo cambiando un poco la sintaxis es lo mismo.</p>
<p>Fijese en esta imagen:</p>
<p><img class="size-full wp-image-165" title="tiempo transcurrido desde una fecha" src="http://www.redribera.es/blog/wp-content/uploads/2010/02/diffechas.jpg" alt="ejemplo de tiempo transcurrido desde una fecha para un sistema de comentarios web." width="520" height="300" style='margin-left:5px;'/></p>
<p>La imagen muestra 3 mensajes del <a href="http://www.redribera.es/games/">sistema de comentarios de juegos de esta misma web</a>. Hace unos dias que quería modificarlo. Anteriormente en lugar de aparecer los textos &#8230;. <em>hace 37 segundos, hace 4 minutos&#8230;</em> lo que aparecía era la fecha en la que se envió el mensaje, formateada con la función <a href="http://php.net/manual/en/function.date.php">date</a> de php. Por ejemplo <em>Thu, 25 Feb 2010</em>.</p>
<p>Sin embargo para un sistema de comentarios, de una web (blogs, foros, artículos, tutoriales&#8230;.), me parece mas intuitivo para el navegante mostrar la información del tiempo transcurrido desde un mensaje en el formato que aparece en la imagen. La idea no es mia, la he cogido de Facebook. <img src='http://www.redribera.es/blog/wp-includes/images/smilies/icon_mrgreen.gif' alt=':mrgreen:' class='wp-smiley' />    Lo cierto es que es un sistema que se puede encontrar en multitud de redes sociales o sitios donde hay formadas grandes comunidades de usuarios que dejan mensajes. Es <strong>mas COOL</strong> !</p>
<p>Lo habitual , es que los sistemas de envios de comentarios de un sitio web, además de almacenar datos como el mensaje, el usuario o su email, almacenen el momento del envio en algún campo de una tabla como una fecha, o un TIMESTAMP de Unix (el número de segundos desde 00:00:00 UTC del 1 de enero de 1970 (<em>UNIX Epoch</em>) hasta el momento en que se crea el timestamp).</p>
<p>Si disponemos de este ingrediente, podremos saber el tiempo transcurrido desde esta fecha, hasta el momento actual y formatear el mensaje de tiempo transcurrido desde un mensaje, de modo adecuado.</p>
<p>Fijense en este script php, en el que desarrollamos la función<strong><span style="color: #333399;"> cuantoHace</span></strong>:</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><span class="kw2">function</span> cuantoHace<span class="br0">&#40;</span><span class="re0">$PublishDate</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
<span class="coMULTI">/*Calcula el tiempo que hace desde $PublishDate hasta la fecha actual, con arreglo a un<br />
formato personalizado: Muestra segundos, minutos, horas, o dias transcurridos.*/</span></p>
<p><span class="re0">$actual</span>=<a href="http://www.php.net/time"><span class="kw3">time</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
<span class="re0">$dif</span>=<span class="re0">$actual</span>-<span class="re0">$PublishDate</span>;</p>
<p><span class="re0">$segundos</span> = <span class="re0">$dif</span>;<br />
<span class="re0">$segundos</span> &gt; <span class="nu0">0</span> ? <span class="re0">$segundos_text</span> = <span class="re0">$segundos</span>.<span class="st0">&quot; segundos &quot;</span> : <span class="re0">$segundos_text</span> = <span class="st0">&quot;&quot;</span>;</p>
<p><span class="re0">$minutos</span> = <a href="http://www.php.net/floor"><span class="kw3">floor</span></a><span class="br0">&#40;</span><span class="re0">$dif</span>/<span class="br0">&#40;</span><span class="nu0">60</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
<span class="re0">$minutos</span> &gt; <span class="nu0">1</span> ? <span class="re0">$minutos_text</span>=<span class="re0">$minutos</span>.<span class="st0">&quot; minutos &quot;</span> : <span class="re0">$minutos_text</span> = <span class="st0">&quot;&quot;</span>;<br />
<span class="re0">$minutos</span> == <span class="nu0">1</span> ? <span class="re0">$minutos_text</span> = <span class="re0">$minutos</span>.<span class="st0">&quot; minuto &quot;</span> : <span class="re0">$minutos_text</span> = <span class="re0">$minutos_text</span>;</p>
<p><span class="re0">$horas</span> = <a href="http://www.php.net/floor"><span class="kw3">floor</span></a><span class="br0">&#40;</span><span class="re0">$dif</span>/<span class="br0">&#40;</span><span class="nu0">60</span>*<span class="nu0">60</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
<span class="re0">$horas</span> &gt; <span class="nu0">1</span> ? <span class="re0">$horas_text</span> = <span class="re0">$horas</span>.<span class="st0">&quot; horas &quot;</span>:<span class="re0">$horas_text</span> = <span class="st0">&quot;&quot;</span>;<br />
<span class="re0">$horas</span> == <span class="nu0">1</span> ? <span class="re0">$horas_text</span> = <span class="re0">$horas</span>.<span class="st0">&quot; hora &quot;</span> : <span class="re0">$horas_text</span> = <span class="re0">$horas_text</span>;</p>
<p><span class="re0">$dias</span> = <a href="http://www.php.net/floor"><span class="kw3">floor</span></a><span class="br0">&#40;</span><span class="re0">$dif</span>/<span class="br0">&#40;</span><span class="nu0">60</span>*<span class="nu0">60</span>*<span class="nu0">24</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
<span class="re0">$dias</span> &gt; <span class="nu0">1</span> ? <span class="re0">$dias_text</span> = <span class="re0">$dias</span>.<span class="st0">&quot; dias &quot;</span> : <span class="re0">$dias_text</span> = <span class="st0">&quot;&quot;</span>;<br />
<span class="re0">$dias</span> == <span class="nu0">1</span> ? <span class="re0">$dias_text</span> = <span class="re0">$dias</span>.<span class="st0">&quot; dia &quot;</span> : <span class="re0">$dias_text</span> = <span class="re0">$dias_text</span>;</p>
<p><span class="coMULTI">/*El texto a mostrar para saber el tiempo transcurrido entre la fecha dada y el momento actual&#8230;..*/</span><br />
<span class="re0">$time_dif_text</span>=<span class="st0">&quot;&quot;</span>;</p>
<p><span class="re0">$segundos</span> &gt; <span class="nu0">0</span> ? <span class="re0">$time_dif_text</span>=<span class="re0">$segundos_text</span> : <span class="re0">$time_dif_text</span> = <span class="re0">$time_dif_text</span>;<br />
<span class="re0">$minutos</span> &gt; <span class="nu0">0</span> ? <span class="re0">$time_dif_text</span> = <span class="re0">$minutos_text</span> : <span class="re0">$time_dif_text</span> = <span class="re0">$time_dif_text</span>;<br />
<span class="re0">$horas</span> &gt; <span class="nu0">0</span> ? <span class="re0">$time_dif_text</span> = <span class="re0">$horas_text</span> : <span class="re0">$time_dif_text</span> = <span class="re0">$time_dif_text</span>;<br />
<span class="re0">$dias</span> &gt; <span class="nu0">0</span> ? <span class="re0">$time_dif_text</span> = <span class="re0">$dias_text</span> : <span class="re0">$time_dif_text</span> = <span class="re0">$time_dif_text</span>;<br />
<span class="re0">$dias</span> &gt; <span class="nu0">5</span> ? <span class="re0">$time_dif_text</span> = <span class="st0">&quot; el &quot;</span>.<a href="http://www.php.net/date"><span class="kw3">date</span></a><span class="br0">&#40;</span><span class="st0">&quot;d-M-Y&quot;</span>,<span class="re0">$PublishDate</span><span class="br0">&#41;</span> : <span class="re0">$time_dif_text</span> = <span class="st0">&quot; hace &quot;</span>.<span class="re0">$time_dif_text</span>;</p>
<p><span class="kw1">return</span> <span class="re0">$time_dif_text</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>Este es el script que he utilizado yo para mi sistema de comentarios. En este caso ya disponemos de la fecha formateada como un TIMESTAMP en la variable <span style="color: #333399;"><strong>$PublishDate</strong></span> . Conseguir este resultado de fecha como TIMESTAMP, no es el objetivo de este Tip, y dependerá también del formato de los datos recuperados, o como están almacenados en nuestra base de datos. Aquí les dejo un enlace a un breve tutorial que les puede ser de utilidad para conocer el formato de fechas php y como convertir fechas a TIMESTAMP y viceversa: <a href="http://www.ignside.net/man/php/fechas.php">Apuntes de php, fechas</a>.</p>
<p>Finalmente, comentar brevemente como actua este script.</p>
<p>Al final de la película, el valor de retorno de la función <span style="color: #333399;"><strong>cuantoHace </strong></span>será el de la variable <span style="color: #333399;"><strong>$time_dif_text</strong></span>, y este es una cadena que contendrá un texto, el cual podremos intercalar entre código html, para mostrar el tiempo transcurrido.</p>
<p>Puesto que este script está desarrollado para mi propio uso y disfrute <img src='http://www.redribera.es/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  , lo he moldeado según mis necesidades, de modo que este trabaja de la siguiente forma.</p>
<p>Si el tiempo transcurrido es inferior a un minuto, muestra el número de segundos. Si el tiempo transcurrido es inferior una hora y superior a un minuto, muestra el número de minutos transcurridos, omitiendo el número de segundos . Lo mismo sucede con las horas. Por ello el script realmente pierde precisión ya que mostrará el texto <em>hace 5 minutos</em> , independientemente de que haga 5 minutos y medio o cinco minutos y 40 segundos. Finalmente, si han transcurrido mas de 5 dias desde el envio, si que plasmamos la fecha formateada como <strong><span style="color: #008000;">dia-mes-año</span></strong>.</p>
<p>Por todo esto, el orden en que están puestas las líneas condicionales del script es importante, ya que el valor de la variable <span style="color: #333399;"><strong>$time_dif_text</strong></span> se va sobreescribiendo según sea necesario. De todos modos con un poco mas de trabajo siguiendo esta forma, se puede conseguir formatear estas diferencias de tiempo de cualquier modo.</p>
<p>Creo que el resto del script es bastante explicativo.</p>
<p>Espero que les haya sido de utilidad.<br />
Si dejan un comentario en el post expresando su opinión, se lo agradeceré, como pago a este tutorial totalmente free! </p>
<p>Un saludo para Usted!<br />
Julio.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.redribera.es/blog/cuanto-tiempo-hace-desde-una-fecha/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>favicon.ico , la imagen que identifica tu web en el navegador.</title>
		<link>http://www.redribera.es/blog/favicon-ico-la-imagen-que-identifica-tu-web-en-el-navegador/</link>
		<comments>http://www.redribera.es/blog/favicon-ico-la-imagen-que-identifica-tu-web-en-el-navegador/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 11:15:28 +0000</pubDate>
		<dc:creator>redribera</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[favicon]]></category>
		<category><![CDATA[iconos]]></category>
		<category><![CDATA[imagen de marca]]></category>
		<category><![CDATA[imagenes]]></category>
		<category><![CDATA[marketing]]></category>

		<guid isPermaLink="false">http://www.redribera.es/blog/?p=133</guid>
		<description><![CDATA[Mi experiencia con esos pequeños iconos que muestran los navegadores para una web. Eso que se conoce como favicon.ico, y como poner uno propio en nuestras páginas webs.]]></description>
			<content:encoded><![CDATA[<p><img style="border:0px;padding:5px;" title="Favicons" src="http://www.redribera.es/blog/wp-content/uploads/2010/01/Favicons.jpg" alt="Favicons" width="198" height="197" align="right"/></p>
<p>Hace ya bastante tiempo que, aunque sea como afición, me dedico al desarrollo de sitios web. Y aunque el tip que os voy a contar hoy, existe desde tiempos inmemoriales, no ha sido hasta hece unos dias que ha llamado mi atención. Se trata de ese <em>&#8216;pequeño icono</em>&#8216; , que se puede visualizar en la barra de direcciones, pestañas o marcadores del navegador web. Lo que se conoce como <strong>favicon</strong>.</p>
<p>Nunca hasta ahora me había parecido algo importante para una página web. Pensaba que era algo insignificante que todo el mundo que navega por internet pasaba por alto. Sin embargo el otro dia, cuando observaba a mi hijo y mi sobrino jugando en el PC en algunas famosas webs de juegos, me di cuenta como entre ellos comentaban cosas como &#8216;<em>&#8230;es esa &#8230;. la del dibujo de la flor!&#8217; .</em> Se referían a la web donde suelen jugar online. El navegador tenía varias pestañas abiertas y ellos identificaban la suya por el dibujito de la flor. También lo hacen cuando quieren acceder a la página utilizando los marcadores del navegador. Esta claro, ellos <span style="text-decoration: underline;">no saben leer</span>, pero si reconocen los dibujitos y saben desplegar los marcadores del navegador y poner la web que les gusta.</p>
<p>Este detalle, realmente me hizo pensar un poco y darme cuenta que en realidad no es solo una cosa de niños. Es algo que yo mismo hago, sin darme cuenta. Echo un vistazo rápido a los marcadores de mi web, y realmente los sitios que disponen de ese pequeño icono (no todos), son los primeros que identifico y a los que me dirijo, sin ni siquiera leer el texto. Conclusión <strong>Las webs que disponen de un icono de identificación aportan un plus de información, que las que no disponen de el.</strong></p>
<p><img title="Favicons" src="http://www.redribera.es/blog/wp-content/uploads/2010/01/favicontip.png" alt="Favicon" width="319" height="81" align="center"/></p>
<p>Yo ya sabía que existía alguna forma de poner esos pequeños iconos en una web, un dia lo llegué a hacer, pero no me acordaba de como. Bueno averiguarlo fue sencillo, solo tuve que buscar una web que lo incorporara y echar un vistazo a su código fuente html. ¡ Et Voila ! &#8230;.. este es el código mágico:</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><span class="sc2"><a href="http://december.com/html/4/element/link.html"><span class="kw2">&lt;link</span></a> <span class="kw3">rel</span>=<span class="st0">&quot;shortcut icon&quot;</span> <span class="kw3">type</span>=<span class="st0">&quot;image/x-icon&quot;</span> <span class="kw3">href</span>=<span class="st0">&quot;/favicon.ico&quot;</span><span class="kw2">&gt;</span></span></div>
</div>
<p>Es un código que se pone entra las etiquetas <em>&lt;head&gt; &lt;/head&gt;</em> de una página html. Usualmente solo es necesario ponerlo en la página que sirve como indice de toda la web&#8230;..tu index.html o index.php o la que sea página principal.</p>
<p>No parece dificil. Tan solo debemos ubicar este código en la página principal (un puntazo que no haya que hacerlo en todas, yo pensaba que si), y por supuesto disponer del archivo del icono en cuestión <em><strong>favicon.ico</strong></em>, o como quieras llamarlo, aunque aconsejo no cambiar esto.</p>
<p>Como conseguir un fichero con extensión <em><strong>.ico</strong></em>, es fácil si dispones del software adecuado, aunque realmente no es ni siquiera necesario si dispones de conexión a internet, ya que existen unos cuantos cientos de millones <img src='http://www.redribera.es/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  , quizás algunos menos, de páginas webs que nos permiten generar el fichero <em><strong>favicon.ico</strong></em>, a partir de una imagen en nuestro ordenador en un formato gráfico habitual: jpg, gif, png.</p>
<p>Una simple <a href="http://www.google.es/#hl=es&amp;q=generador+favicon&amp;meta=&amp;aq=f&amp;oq=generador+favicon&amp;fp=120d73706d7f3736" target="_blank">busqueda en google por las keys &#8216;generador favicon&#8217;</a> nos arrojará unos cuantos resultados favorables para nuestra misión.</p>
<p>No es que tenga una particular predilección por ninguna de ellas, pero para ir 100% a lo seguro, voy a recomendar la misma que he utilizado yo para generar los del sitio de redribera y que es el <a href="http://tools.dynamicdrive.com/favicon/" target="_blank">Generador de favicon de Dynamic Drive</a> , que es muy completa, con instrucciones y muy rápida (al fin y al cabo consigue su objetivo). No quiero ni pensar las visitias que tendrá esa página gracias a ser la primera en los resultados de busqueda por &#8216;<em>favicon</em>&#8216; y &#8216;<em>generator</em>&#8216;.</p>
<p>Desde luego con este artículo no he inventado la penicilina, pero espero que pueda servirle a alguien.</p>
<p>Saludos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.redribera.es/blog/favicon-ico-la-imagen-que-identifica-tu-web-en-el-navegador/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Buscar texto en URL con php.</title>
		<link>http://www.redribera.es/blog/buscar-texto-en-url-con-php/</link>
		<comments>http://www.redribera.es/blog/buscar-texto-en-url-con-php/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 11:00:35 +0000</pubDate>
		<dc:creator>redribera</dc:creator>
				<category><![CDATA[Directorio]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[directorios]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.redribera.es/blog/?p=129</guid>
		<description><![CDATA[Script php para buscar un texto cualquiera en una URL. ]]></description>
			<content:encoded><![CDATA[<p>Ayer estuve trabajando en un Script para validar los enlaces recíprocos del <a href="http://www.redribera.es/directorio">directorio de redribera</a>. Lo cierto es que esta es una utilidad que por defecto viene implementada en la mayoría de scripts comerciales de directorios, como phpLD o k-Links. Sin embargo el directorio de redribera es un directorio de creación propia, y la funcionalidad del mismo va cambiando según los requerimientos de mantenimiento del mismo. Esto es una ventaja porque lo hace muy flexible a las necesidades que me surgen para su correcta administración. Sin embrago plantea el problema de la programación del mismo, con lo que son necesarios conocimientos de programación.</p>
<p><img class="alignnone size-full wp-image-130" title="dirparcial" src="http://www.redribera.es/blog/wp-content/uploads/2010/01/dirparcial.jpg" alt="dirparcial" width="314" height="314" align="right" /></p>
<p>Originalmente el directorio captaba las solicitudes de envio de enlaces al directorio mediante la utilización del <a href="http://www.redribera.es/directorio/addurl.html">formulario de solicitud de enlaces</a> (A la derecha se puede ver una muestra parcial, donde esta remarcado el campo para indicar la URL del link recíproco).</p>
<p>Esta información se suministra por un solicitante y se guarda en una base de datos, donde después un editor (yo mismo), la revisa para proceder a su aprobación o no.</p>
<p>Como muchos directorios, el directorio redribera hace tiempo comenzó a exigir un enlace recíproco para validar una solicitud. Es lo mínimo exigible para compensar el esfuerzo de edición de solicitudes y la inclusión en un directorio ya consolidado.</p>
<p>Sin embargo el contenido de este campo del formulario no era validado de ninguna forma automática, sino tras la revisión humana por un editor.</p>
<p>A dia de hoy el número de solicitudes que soporta el directorio es bastante elevado, aunque la gran mayoría de ellas o bien no indican una URL donde se encuentra el enlace recíproco, o bien en la URL indicada no existe nada, debiendo perder un tiempo considerable en realizar la validación por parte del editor.</p>
<p>Así que he empleado algún tiempo en desarrollar una función php que me permita validar la existencia de un determinado texto en una URL dada (cualquiera).</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><span class="kw2">&lt;?php</span></p>
<p><span class="kw2">function</span> validaLinkReciproco<span class="br0">&#40;</span><span class="re0">$feedUrl</span>,<span class="re0">$searchString</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
<span class="coMULTI">/* Se utiliza para validar el enlace reciproco.<br />
Quien utilice este script, probablemente por un include<br />
Devuelve: true (cadena encontrada), false (cadena no encontrada) */</span></p>
<p><span class="co1">//Primero verificamos si curl está instalado en el servidor web.</span><br />
<span class="re0">$curlInstalled</span> = <span class="kw2">true</span>;</p>
<p><span class="kw1">if</span><span class="br0">&#40;</span>!<a href="http://www.php.net/extension_loaded"><span class="kw3">extension_loaded</span></a><span class="br0">&#40;</span><span class="st0">&#8216;curl&#8217;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/strtoupper"><span class="kw3">strtoupper</span></a><span class="br0">&#40;</span><a href="http://www.php.net/substr"><span class="kw3">substr</span></a><span class="br0">&#40;</span><span class="kw2">PHP_OS</span>, <span class="nu0">0</span>, <span class="nu0">3</span><span class="br0">&#41;</span><span class="br0">&#41;</span> === <span class="st0">&#8216;WIN&#8217;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span>!<a href="http://www.php.net/dl"><span class="kw3">dl</span></a><span class="br0">&#40;</span><span class="st0">&#8216;php_curl.dll&#8217;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// Attempt to load the extension for Windows systems</span><br />
<span class="re0">$curlInstalled</span> = <span class="kw2">false</span>;<br />
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
<span class="re0">$curlInstalled</span> = <span class="kw2">true</span>;<br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span>!<a href="http://www.php.net/dl"><span class="kw3">dl</span></a><span class="br0">&#40;</span><span class="st0">&#8216;curl.so&#8217;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// Attempt to load the extension for POSIX systems</span><br />
<span class="re0">$curlInstalled</span> = <span class="kw2">false</span>;<br />
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
<span class="re0">$curlInstalled</span> = <span class="kw2">true</span>;<br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="co1">//En funcion de si está instalado curl, obtenemos los datos de una u otra forma</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$curlInstalled</span>==<span class="kw2">true</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="co1">//Recuperamos los datos de curl</span><br />
<span class="re0">$ohyeah</span> = curl_init<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
curl_setopt<span class="br0">&#40;</span><span class="re0">$ohyeah</span>, CURLOPT_RETURNTRANSFER, <span class="nu0">1</span><span class="br0">&#41;</span>;<br />
curl_setopt<span class="br0">&#40;</span><span class="re0">$ohyeah</span>, CURLOPT_URL, <span class="re0">$feedUrl</span><span class="br0">&#41;</span>;<br />
<span class="re0">$err</span> = curl_error<span class="br0">&#40;</span><span class="re0">$ohyeah</span><span class="br0">&#41;</span>;<br />
<span class="re0">$pagedata</span> = curl_exec<span class="br0">&#40;</span><span class="re0">$ohyeah</span><span class="br0">&#41;</span>;<br />
curl_close<span class="br0">&#40;</span><span class="re0">$ohyeah</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
<span class="re0">$pagedata</span> = <a href="http://www.php.net/file_get_contents"><span class="kw3">file_get_contents</span></a><span class="br0">&#40;</span><span class="re0">$feedUrl</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></p>
<p><span class="co1">//Buscamos la cadena en el string</span><br />
<span class="re0">$pos</span> = <a href="http://www.php.net/strpos"><span class="kw3">strpos</span></a><span class="br0">&#40;</span><span class="re0">$pagedata</span>,<span class="re0">$searchString</span><span class="br0">&#41;</span>;</p>
<p><span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$pos</span> === <span class="kw2">false</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="co1">//Cadena $searchString no encontrada en $feedUrl</span><br />
<span class="kw1">return</span> <span class="kw2">false</span>;<br />
<span class="br0">&#125;</span><br />
<span class="kw1">else</span> <span class="br0">&#123;</span><br />
<span class="co1">//Cadena $searchString encontrada en $feedUrl</span><br />
<span class="kw1">return</span> <span class="kw2">true</span>;<br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw2">?&gt;</span>;</div>
</div>
<p>Se trata de una función que evidentemente debe ser utilizada en el apartado en que validemos los datos enviados por el formulario, donde <strong>$feedURL</strong>, debiera contener la URL donde deseamos buscar (en nuestro caso la otorgada por el campo <strong>URL del enlace recíproco</strong> &#8211; <em>mira la imagen mas arriba</em>). La función devuelve el valor <em><strong>true</strong></em> o <em><strong>false</strong></em>, en función de que se encuentre la cadena de busqueda en el texto html de la página indicada por <strong>$feedURL</strong>.</p>
<p>Esta función es una función genérica, es decir no busca la existencia de un enlace recíproco en una URL, sino de cualquier texto, por tanto se puede reutilizar para multitud de usos que un webmaster quiera darle.</p>
<p>En nuestro caso, tan solo buscamos la existencia del texto de la web enlazar, por ejemplo <strong>$searchString = &#8220;dominio.com&#8221; </strong>, sin embargo se pueden forzar las busquedas mucho mas, para validar etiquetas enteras y asegurarnos por ejemplo que el solicitante enlaza nuestra web con el texto exacto que suministramos, evitando así sorpresas como enlaces con nofollow, etc&#8230;.</p>
<p>En mi caso, esta sencilla incorporación al directorio me evita revisar una serie de solicitudes que no cumplen con la política de inclusión en el directorio de redribera. Por supuesto hecha la ley, hecha la trampa, pero eso lo dejamos para otro post&#8230;.</p>
<p>Espero que os pueda ser de utilidad como a mi me lo ha sido.</p>
<p>Un saludo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.redribera.es/blog/buscar-texto-en-url-con-php/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Desactivar las revisiones automáticas de WordPress</title>
		<link>http://www.redribera.es/blog/desactivar-las-revisiones-automaticas-de-wordpress/</link>
		<comments>http://www.redribera.es/blog/desactivar-las-revisiones-automaticas-de-wordpress/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 10:53:19 +0000</pubDate>
		<dc:creator>redribera</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.redribera.es/blog/?p=64</guid>
		<description><![CDATA[Como desactivar las revisiones automáticas de Posts que por defecto suele traer habilitado WordPress y eliminarlas de la Base de Datos.]]></description>
			<content:encoded><![CDATA[<p>Nuevamente en el proceso de implantación del Blog de redribera, me he encontrado con una serie de problemas que voy a compartir con los visitantes del sitio.</p>
<p>El caso es que habitualmente cuando hago modificaciones en el tamplate y quiero vincular botones o imagenes utilizando la función <strong>get_permalink()</strong>; suelo consultar directamente la base de datos de WordPress, en concreto la tabla <strong>wp-posts</strong> desde donde obtengo el Id del permalink. Cual ha sido mi sorpresa, al encontrar cientos de entradas con los posts repetidos y que no hacen mas que incrementar el tamaño de la base de datos.</p>
<p>Investigando por la internet, resulta que estas entradas, se corresponden con las revisiones que hacemos de un Post en el panel de administración. Por supuesto para un tio como yo, que cada vez que cambio una frase del post , hago un guardar, el número de revisiones supone un incremento exponencial de basura dentro de la base de datos.</p>
<p>Supongo que para una periodico o un Blog serio donde este se manipula por diferentes personas, esta utilidad debe de ser una maravilla, pero para mi Blog no es mas que echar basura a la Db. Así que me he puesto a investigar, y resulta que si que existe una forma de desactivar estas revisiones automáticas y que en WordPress (al menos en v2.7) vienen activadas por defecto.</p>
<p>Para desactivar la dichosa función, tan solo debemos incluir una línea de código en el fichero <strong>wp-config.php</strong> o modificarla si esta ya existe al siguiente aspecto:</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><a href="http://www.php.net/define"><span class="kw3">define</span></a> <span class="br0">&#40;</span><span class="st0">&#8216;WP_POST_REVISIONS&#8217;</span>, <span class="kw2">false</span><span class="br0">&#41;</span>;</div>
</div>
<p>Así que desde este momento ya no se guardarán automáticamente las revisiones de los posts que realicemos. Si queremos volver al estado anterior, basta con cambiar el valor a true o eliminar la línea de código.</p>
<p>Si como me ha pasado a mi os habeís dado cuenta algo tarde de esto y vuestra DB ya está lo suficientemente enmarranada y queremos eliminar las revisiones existentes en la DB, con una sencilla instrucción SQL ejecutada directamente sobre la DB de WordPress podemos eliminarlas aparentemente sin ningún perjuicio. No obstante no está de mas antes de hacer esto, realizar un backup de la DB por si las moscas:</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;">DELETE FROM `wp_posts` WHERE `post_type` = <span class="st0">&quot;revision&quot;</span></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.redribera.es/blog/desactivar-las-revisiones-automaticas-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimizacion SEO para Wordpress. Description meta-tag.</title>
		<link>http://www.redribera.es/blog/optimizacion-seo-para-wordpress-description-meta-tag/</link>
		<comments>http://www.redribera.es/blog/optimizacion-seo-para-wordpress-description-meta-tag/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 09:16:20 +0000</pubDate>
		<dc:creator>redribera</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.redribera.es/blog/?p=30</guid>
		<description><![CDATA[Un tip, que utilizamos en el Blog de Redribera, para optimizar la indexación por buscadores en las entradas y categorías de los Blogs basados en WordPress, para el meta-tag description.]]></description>
			<content:encoded><![CDATA[<p>En el proceso de implantación del nuevo Blog de redribera, me estoy encontrando con la necesidad de realizar algunos ajustes para el correcto funcionamiento del Blog. Uno de los problemas que me estoy encontrando es la falta de control a la hora de gestionar las meta-tags de las páginas, para una buena optimizacion de cara a los robots de buscadores (SEO).</p>
<p>Wordpress dispone de una cantidad de herramientas suficientemente extensa para facilitarnos la vida, y la optimización SEO es una de ellas. La formación de permalinks y la existencia de algunos plugins SEO/Wordpress como <a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/">All in one Seo Pack</a> es una buena muestra de ello.</p>
<p>Sin embargo me he encontrado algunas dificultades para tener un buen control sobre la meta-tag <strong>description</strong> de la cabecera de la página.</p>
<p>La descripción es muy importante para el SEO, ya que muchos motores de busqueda como Google, es el texto que utilzan para mostrar en sus resultados de busqueda para una determinada página, así que si queremos captar la atención de un navegante cuando el buscador le muestre un resultado de busqueda de alguna de nuestras páginas, llevar un buen control de estos textos es fundamental.</p>
<p>Algunos de los plugins que he visto utilizan la técnica de utilizar como meta tag <strong>description</strong> los <span style="color: #ff0000;">X</span> primeros caracteres del contenido del post. Sin embargo a mi particularmente no me gusta esta técnica ya que o bien condiciona la escritura del post o condiciona el valor de la tag <strong>description</strong>.</p>
<p>En mi caso he implementado una solución para el tema personalizado que utilizo que me parece bastante sencilla y óptima a la vez. Consiste en utilizar &#8220;<strong>los extractos</strong>&#8221; o &#8220;<strong>Excerpts</strong>&#8220;, de los posts de Wordpress como valor de la meta-tag <strong>description</strong>.</p>
<p>El extracto es un cuadro que se encuentra habitualmente bajo el cuadro de redacción del post en wordpress (en el panel de administrador), por defecto Wordpress no utiliza este contenido en nigún sitio, y tan solo algunos temas personalizados hacen uso de el. Es por tanto un campo perfecto para utilizar a nuestro gusto.</p>
<p>Yo concretamente estoy introduciendo información en este cuadro para cada entrada que realizo en el Blog y la utilizo tanto como valor de descripción para buscadores, así como titular en los diferentes sitios de la web donde muestro los posts mas recientes.</p>
<p>Con unas sencillas líneas de código podemos hacer uso de esta pequeña descripción como tag <strong>description</strong>.</p>
<p>Para muestra un botón, este código que os muestro bajo estas líneas es perfectamente insertable en el archivo <span style="color: #0000ff;"><strong>header.php</strong></span> del tema que esteís utilizando para vuestro blog:</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;">&lt;meta name=<span class="st0">&quot;description&quot;</span> lang=<span class="st0">&quot;es&quot;</span> content=<span class="st0">&quot;&lt;?php echo strip_tags(get_the_excerpt()); ?&gt;&quot;</span> /&gt;</div>
</div>
<p>La función <strong>get_the_excerpt()</strong>, es propia de Wordpress, mientras que <strong>strip_tags()</strong> es una función propia de php que elimina todas las etiquetas que el propio Wordpress introduce en la redacción del extracto.</p>
<p>En el caso de las páginas individuales de cada post la descripción se corresponde con el propio extracto del post, y para las páginas donde se muestra mas de un post, como categorías, archivos o busquedas, este valor se corresponderá al del primer post.</p>
<p>De momento a mi me está resultando bastante util. Podeís comprobar los resultados ejecutando el comando site de google, por ejemplo para mi web <a href="http://www.google.es/search?hl=es&amp;q=site%3Aredribera.es%2Fblog&amp;btnG=Buscar+con+Google&amp;meta=">fijaos en los resultados arrojados</a> por google.</p>
<p>Espero que este post os hay servido de ayuda.</p>
<p>Un saludo!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.redribera.es/blog/optimizacion-seo-para-wordpress-description-meta-tag/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

