<?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>Hello Google &#124; Posicionamiento Web en Google &#124; Consultoria SEO &#124; Desarrollo Web &#124; SEM &#187; Ajax</title>
	<atom:link href="http://www.hellogoogle.com/category/desarrollo-web/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hellogoogle.com</link>
	<description>Artículos para Crecer con su Empresa en Internet</description>
	<lastBuildDate>Fri, 16 Dec 2011 09:34:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>AJAX Accesible para Google: Posicionar contenido en Ajax</title>
		<link>http://www.hellogoogle.com/ajax-accesible-para-google/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ajax-accesible-para-google</link>
		<comments>http://www.hellogoogle.com/ajax-accesible-para-google/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 09:33:11 +0000</pubDate>
		<dc:creator>Ignacio Gorostiza</dc:creator>
				<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[google ajax acceibilidad javascript]]></category>

		<guid isPermaLink="false">http://www.hellogoogle.com/?p=326</guid>
		<description><![CDATA[Tweet Recientemente me preguntaron si Google indexaba contenidos en Ajax. La respuesta es: depende. Como ya sabrá Ajax es una técnica que abre la posibilidad de realizar una petición XMLHTTP al servidor y recibir un documento html/xml de respuesta de &#8230; <a href="http://www.hellogoogle.com/ajax-accesible-para-google/">Continue reading <span class="meta-nav">&#8594;</span></a>


Artículos relacionados:<ol><li><a href='http://www.hellogoogle.com/ajax-zoomy-lightbox/' rel='bookmark' title='Permanent Link: Ajax zoomy: Un Ajax lightbox para su galería de imágenes'>Ajax zoomy: Un Ajax lightbox para su galería de imágenes</a></li>
<li><a href='http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/' rel='bookmark' title='Permanent Link: Ajax Lightbox: Una ventana emergente 2.0 en su página web'>Ajax Lightbox: Una ventana emergente 2.0 en su página web</a></li>
<li><a href='http://www.hellogoogle.com/real-ajax-sexy-curls/' rel='bookmark' title='Permanent Link: Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página'>Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div id="bottomcontainerBox" style="background-color:#ffffff;">
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hellogoogle.com%2Fajax-accesible-para-google%2F&amp;layout=button_count&amp;show_faces=false&amp;width=120&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=120px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.hellogoogle.com/ajax-accesible-para-google/"></g:plusone>
			</div>
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.hellogoogle.com/ajax-accesible-para-google/"  data-text="AJAX Accesible para Google: Posicionar contenido en Ajax" data-count="horizontal" data-via="hello_google">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><div><img src="/wp-content/uploads/2009/06/accesible_ajax.jpg" title="AJAX Accesible para Google: Posicionar contenido en Ajax" alt="accesible ajax AJAX Accesible para Google: Posicionar contenido en Ajax" /></div>
<p>Recientemente me preguntaron si Google indexaba contenidos en Ajax. La respuesta es: depende. </p>
<p>Como ya sabrá <em>Ajax</em> es una técnica que abre la posibilidad de realizar una petición <em>XMLHTTP</em> al servidor y recibir un documento <em>html/xml</em> de respuesta de manera <em>asíncrona</em>, es decir, sin necesidad de recargar la página. Ajax en principio no tiene ninguna contraindicación de cara al posicionamiento en Google, en realidad el problema no se encuentra en el Ajax, si no en la accesibilidad de los documentos que queramos que sean indexados.</p>
<p>En el  <a href="http://www.yensdesign.com/tutorials/contentajax/">siguiente ejemplo</a> los contenidos se cargan de manera asíncrona, pero Google no sería capaz de indexarlos. ¿Por qué? El problema radica en los enlaces, o mejor dicho, en la ausencia de enlaces. Fíjese en el código del menú principal:</p>
<p><code>&lt;li id=&quot;home&quot;&gt;Home&lt;/li&gt;<br />
&lt;li id=&quot;news&quot;&gt;News&lt;/li&gt;<br />
&lt;li id=&quot;interviews&quot;&gt;Interviews&lt;/li&gt;<br />
&lt;li id=&quot;external&quot;&gt;External&lt;/li&gt;<br />
<br/><br/><br />
</code></p>
<p>La utilización de Ajax no debe entrar en conflicto con la correcta navegación por los diferentes contenidos relevantes de un Site. En el ejemplo anterior, el acceso a los contenidos se implementa en javascript y esto impide que el <a href="http://es.wikipedia.org/wiki/Googlebot" target="_blank">bot de Google</a> pueda acceder e indexar estos contenidos. El siguiente código muestra la funcionalidad que controla el acceso a los contenidos:</p>
<p><code>sections.click(function(){</p>
<p>
//show the loading bar<br /> <br />
 		showLoading();  	<br />	//load selected section<br />  		switch(this.id){ <br /> 			case &quot;home&quot;:<br />  				content.slideUp();  <br />				content.load(&quot;sections.html #section_home&quot;, hideLoading);<br />  				content.slideDown();<br />  				break;<br />		...  <br/><br />
</code></p>
<p>Nota: El código del ejemplo está implementado con el <em>framework Jquery</em>. ¿No lo conoce?&#8230;¿Y a<a href="http://jquery.com/" target="_blank"> qué está esperando</a>?</p>
<p>Si aplica un simulador de Bot a la url del ejemplo podría hacerse una idea aproximada de <a href="http://www.xml-sitemaps.com/se-bot-simulator.html?op=se-bot-simulator&amp;go=1&amp;pageurl=http%3A//www.yensdesign.com/tutorials/contentajax/&amp;se=googlebot&amp;submit=Start">cómo visualiza Google esta página.</a> Como puede comprobar los contenidos dinámicos no son accesibles. </p>
<h3>¿Cómo podemos conseguir que  Ajax sea accesible por Google ?</h3>
<p>Podemos considerar que Google visualiza una página de manera similar a como lo haría un navegador con javascript deshabilitado. Por tanto si queremos dar visibilidad al buscador, cada contenido debe ser accesible  a través de un link html natural.  Le he preparado un pequeño   <a href="http://www.hellogoogle.com/examples/contentajax/">ejemplo  funcional de Ajax accesible</a>. Fíjese el aspecto que presenta ahora el código del menú principal:</p>
<p><code>&lt;li&gt;&lt;a href=&quot;mike-tyson/default.htm&quot;&gt;MIKE&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href=&quot;house/default.htm&quot;&gt;HOUSE&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href=&quot;bob-marley/default.htm&quot;&gt;BOB&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href=&quot;spiderman/default.htm&quot;&gt;SPIDER&lt;/a&gt;&lt;/li&gt;</code></p>
<p>A continuación podemos modificar el comportamiento de un link utilizando <em>javascript no obstructivo</em>. Esta técnica permite acceder al <em>DOM</em> de la página y asignar una funcionalidad determinada, como puede ser el acceso asíncrono a contenidos, a cualquier enlace del documento. De esta manera presentaríamos un documento html con enlaces naturales a Google, y una página <a href="http://es.wikipedia.org/wiki/Aplicaciones_de_Internet_Ricas" target="_blank">RIA</a> a nuestros visitantes:</p>
<p><code>sections.click(function(e){<br />
  var my_anchor = $(this).attr(&quot;href&quot;);<br />
showLoading();<br />
content.slideUp(&quot;slow&quot;, function(){	content.load(my_anchor, hideLoading);	} );<br />
content.slideDown();<br />
return(false);<br />
});</code></p>
<p>Si aplicamos el simulador de Bot a este ejemplo, podemos comprobar que ahora <a href="http://www.xml-sitemaps.com/se-bot-simulator.html?op=se-bot-simulator&amp;go=1&amp;pageurl=http%3A//www.hellogoogle.com/examples/contentajax/&amp;se=googlebot&amp;submit=Start">Google accedería sin problema a todos los contenidos</a>.</p>
<p>Le animo a  <a href="http://www.hellogoogle.com/examples/contentajax/accesiblecontentajax.rar" target="_blank">descargarse el código de ejemplo</a>, destriparlo, analizarlo, mejorarlo y aplicarlo libremente en sus desarrollos. Estoy seguro que Google se lo agradecerá.</p>
<p>Por último tenga presente siempre las siguientes consideraciones a la hora de desarrollar una funcionalidad Ajax:</p>
<ul>
<li>Cuide la arquitectura interna de su Site y cree una estructura de enlaces lógica. </li>
<li>Cada contenido de su site debe ser accesible por un enlace de texto estático.</li>
<li>Si el acceso a los contenidos se realiza a través de <em>JavaScript</em>, frames, DHTML, Flash, o su acceso está restringido por id de sesión o Cookies, es muy posible que Google encuentre problemas para encontrarlos e indexarlos.</li>
<li>El javascript <a href="http://es.wikipedia.org/wiki/JavaScript_no_obstructivo" target="_blank">no obstructivo</a> le permite crear funcionalidades RIA sin repercutir en la accesibilidad de la web.</li>
<li>Puede recurrir a <a href="http://www.delorie.com/web/lynxview.html" target="_blank">navegadores textuales</a> para comprobar como visualizará Google su página.</li>
</ul>
 Powered by HelloGoogle.com<!-- PHP 5.x --><div id="bottomcontainerBox" style="background-color:#ffffff;">
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hellogoogle.com%2Fajax-accesible-para-google%2F&amp;layout=button_count&amp;show_faces=false&amp;width=120&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=120px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.hellogoogle.com/ajax-accesible-para-google/"></g:plusone>
			</div>
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.hellogoogle.com/ajax-accesible-para-google/"  data-text="AJAX Accesible para Google: Posicionar contenido en Ajax" data-count="horizontal" data-via="hello_google">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>

<p>Artículos relacionados:<ol><li><a href='http://www.hellogoogle.com/ajax-zoomy-lightbox/' rel='bookmark' title='Permanent Link: Ajax zoomy: Un Ajax lightbox para su galería de imágenes'>Ajax zoomy: Un Ajax lightbox para su galería de imágenes</a></li>
<li><a href='http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/' rel='bookmark' title='Permanent Link: Ajax Lightbox: Una ventana emergente 2.0 en su página web'>Ajax Lightbox: Una ventana emergente 2.0 en su página web</a></li>
<li><a href='http://www.hellogoogle.com/real-ajax-sexy-curls/' rel='bookmark' title='Permanent Link: Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página'>Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.hellogoogle.com/ajax-accesible-para-google/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página</title>
		<link>http://www.hellogoogle.com/real-ajax-sexy-curls/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=real-ajax-sexy-curls</link>
		<comments>http://www.hellogoogle.com/real-ajax-sexy-curls/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 15:24:38 +0000</pubDate>
		<dc:creator>Ignacio Gorostiza</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.hellogoogle.com/real-ajax-sexy-curls-una-forma-elegante-de-mostrar-el-codigo-fuente-de-nuestra-pagina/</guid>
		<description><![CDATA[Tweet Recientemente tuve la oportunidad de ver un desarrollo en jquery llamado Sexy Curls que simula el paso de una hoja. Lo cierto es que me pareció un efecto muy interesante pero también muy desaprovechado. La librería se limitaba a &#8230; <a href="http://www.hellogoogle.com/real-ajax-sexy-curls/">Continue reading <span class="meta-nav">&#8594;</span></a>


Artículos relacionados:<ol><li><a href='http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/' rel='bookmark' title='Permanent Link: Ajax Lightbox: Una ventana emergente 2.0 en su página web'>Ajax Lightbox: Una ventana emergente 2.0 en su página web</a></li>
<li><a href='http://www.hellogoogle.com/ajax-zoomy-lightbox/' rel='bookmark' title='Permanent Link: Ajax zoomy: Un Ajax lightbox para su galería de imágenes'>Ajax zoomy: Un Ajax lightbox para su galería de imágenes</a></li>
<li><a href='http://www.hellogoogle.com/ajax-accesible-para-google/' rel='bookmark' title='Permanent Link: AJAX Accesible para Google: Posicionar contenido en Ajax'>AJAX Accesible para Google: Posicionar contenido en Ajax</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div id="bottomcontainerBox" style="background-color:#ffffff;">
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hellogoogle.com%2Freal-ajax-sexy-curls%2F&amp;layout=button_count&amp;show_faces=false&amp;width=120&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=120px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.hellogoogle.com/real-ajax-sexy-curls/"></g:plusone>
			</div>
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.hellogoogle.com/real-ajax-sexy-curls/"  data-text="Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página" data-count="horizontal" data-via="hello_google">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><div class="caption-full" align="center"><a href='http://www.hellogoogle.com/wp-content/uploads/2009/02/ajax_sexy_curl.jpg' title='Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página' rel="lightbox[127]"><img src='http://www.hellogoogle.com/wp-content/uploads/2009/02/ajax_sexy_curl.jpg' alt="ajax sexy curl Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página"  title="Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página" /></a></div>
<p>Recientemente tuve la oportunidad de ver un desarrollo en jquery llamado <a href="http://www.elliottkember.com/sexy_curls.html">Sexy Curls</a> que simula el paso de una hoja. Lo cierto es que me pareció un efecto muy interesante pero también muy desaprovechado. La librería se limitaba a mostrar por debajo una imagen que &quot;simulaba&quot; representar el código fuente de una página.</p>
<p>Así que ni corto ni perezoso me puse manos a la obra para completar el efecto y he desarrollado <a href="http://www.hellogoogle.com//examples/ajax_sexy_curls/ejemplo.htm" target="_blank">Real Ajax Sexy Curl,</a> que añade a la librería el encanto de mostrar por debajo el código fuente <strong>real</strong> de la página. </p>
<p>Una imagen vale más que mil palabras, así que, ¿por qué no echa un vistazo al <a href="http://www.hellogoogle.com//examples/ajax_sexy_curls/ejemplo.htm" target="_blank">ejemplo que he preparado</a>? (Por ahora sólo compatible con firefox <img src='http://www.hellogoogle.com/wp-includes/images/smilies/icon_sad.gif' alt="icon sad Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página" class='wp-smiley' title="Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página" />  )</p>
<h3>Como funciona</h3>
<p>Ajax Sexy Curl es una funcionalidad basada el el framework <em>Jquery</em>, para su desarrollo he utilizado dos librerías open source:</p>
<ul>
<li><em>Sexy Curl</em> escrita por Elliott Kember (http://twitter.com/elliottkember)</li>
<li><em>Ajax Code Display</em>    escrita por Christian Heilmann (http://wait-till-i.com) </li>
</ul>
<p>La primera &#8211; Sexy Curl &#8211; simula un efecto de pasar página, para ello escala una imagen Png con transparencias. Como ya comenté antes, la librería original se limitaba a descubir una imagen que simulaba ser el código fuente de la página. </p>
<p>Ajax Code Display es una librería Ajax que muestra el código fuente de una página formateado. Es una librería bastante interesante que admite diferentes parámetros de personalización, Le animo a que visite su página y le eche un vistazo.</p>
<p>El resto ha sido una tarea bastante simple para compatibilizar ambas librerías y ajustar la funcionalidad a los objetivos iniciales del proyecto. Creo que el <a href="http://www.hellogoogle.com//examples/ajax_sexy_curls/ejemplo.htm" target="_blank">resultado es realmente espectacular</a>, ¿No le parece?</p>
<h3>Cómo incluirlo en mi web</h3>
<p>Ajax Sexy Curl puede aplicarse a cualquier web de manera extremadamente sencilla.</p>
<p>1. Incluya las librerías y estilos en la cabecera de la página <em>head</em>:</p>
<p><code>&lt;script type=&quot;text/javascript&quot; src=&quot;jquery1.3min.js&quot;&gt;&lt;/script&gt;<br />
&lt;script type=&quot;text/javascript&quot; src=&quot;jqueryui.js&quot;&gt;&lt;/script&gt;<br />
&lt;script type=&quot;text/javascript&quot; src=&quot;turn.js&quot;&gt;&lt;/script&gt;<br />
&lt;script type=&quot;text/javascript&quot; src=&quot;ajaxcodedisplay.js&quot;&gt;&lt;/script&gt;<br />
&lt;link rel=&quot;stylesheet&quot; href=&quot;turn.css&quot;&gt;</code></p>
<p>2. Por último, incluya en la primera línea del <em>body </em>el siguiente código html:</p>
<p><code>&lt;div id=&quot;target&quot;&gt;&lt;a href=&quot;#&quot; class=&quot;codeexample&quot; &gt;&lt;/a&gt;&lt;/div&gt;<br />
</code></p>
<p>Nada más, el código javascript no intrusivo se encargará del resto.</p>
<h3>Opciones de personalización</h3>
<p>A través de los estilos puede personalizar algunos aspectos de la funcionalidad:</p>
<p>  <code>    var defaults = {      <br />
  directory: 'turn',      // Directorio en el que nos encontramos<br /> <br />
  side: 'left',           // Si lo cambia a &quot;right&quot; la doblez se mostrará a la derecha      <br />
  turnImage: 'fold.png',  // Imagen para mostrar la doblez      <br />
  maxHeight: 400,         // Altura máxima<br />
  startingWidth: 80,     // Altura y anchura inicial    <br />
  startingHeight: 80,    // <br /> <br />
  autoCurl: false         // Si lo ponemos a &quot;true&quot; la transición se inicia con un mouseover</code></p>
<p>Por otro lado el código es Open Source con lo que podemos estudiarlo, modificarlo y ampliarlo libremente para que se ajuste perfectamente a nuestras necesidades.</p>
<h3>Código fuente</h3>
<p>Puede <a href="http://www.hellogoogle.com//examples/ajax_sexy_curls/real_ajax_sexy_curls.rar">descargarse el código</a> fuente de la librería y utilizarlo libremente en su Site, eso sí, tenga en cuenta las siguientes indicaciones:</p>
<p>Este pluging se ofree bajo una licencia  <em>MIT </em>, esto significa que puede hacer prácticamente lo que le apetezca con él:</p>
<ul>
<li>Puede copiarlo, modificarlo, mezclarlo, publicarlo, distribuirlo, sub-licenliarlo y/o venderlo.</li>
<li>Además el autor de la librería original y yo mismo, le permitimos imprimirla en una hoja de papel, doblarla y hacerse un sombrero.</li>
<li>Eso sí, si mantiene los créditos de los autores, le estaremos muy agradecidos.
    </li>
</ul>
<p>La funcionalidad funciona correctamente en Firefox y <s>a partir de IE7</s> (Próximamente). Nada más, espero que este efecto le haya gustado tanto como a mi.</p>
 Powered by HelloGoogle.com<!-- PHP 5.x --><div id="bottomcontainerBox" style="background-color:#ffffff;">
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hellogoogle.com%2Freal-ajax-sexy-curls%2F&amp;layout=button_count&amp;show_faces=false&amp;width=120&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=120px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.hellogoogle.com/real-ajax-sexy-curls/"></g:plusone>
			</div>
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.hellogoogle.com/real-ajax-sexy-curls/"  data-text="Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página" data-count="horizontal" data-via="hello_google">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>

<p>Artículos relacionados:<ol><li><a href='http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/' rel='bookmark' title='Permanent Link: Ajax Lightbox: Una ventana emergente 2.0 en su página web'>Ajax Lightbox: Una ventana emergente 2.0 en su página web</a></li>
<li><a href='http://www.hellogoogle.com/ajax-zoomy-lightbox/' rel='bookmark' title='Permanent Link: Ajax zoomy: Un Ajax lightbox para su galería de imágenes'>Ajax zoomy: Un Ajax lightbox para su galería de imágenes</a></li>
<li><a href='http://www.hellogoogle.com/ajax-accesible-para-google/' rel='bookmark' title='Permanent Link: AJAX Accesible para Google: Posicionar contenido en Ajax'>AJAX Accesible para Google: Posicionar contenido en Ajax</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.hellogoogle.com/real-ajax-sexy-curls/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Redirección 301: Cómo cambiar de nombre de dominio sin perder PageRank ni posicionamiento</title>
		<link>http://www.hellogoogle.com/301_cambiar_dominio_page_rank/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=301_cambiar_dominio_page_rank</link>
		<comments>http://www.hellogoogle.com/301_cambiar_dominio_page_rank/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 09:42:15 +0000</pubDate>
		<dc:creator>Ignacio Gorostiza</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Webmaster]]></category>

		<guid isPermaLink="false">http://www.hellogoogle.com/301_cambiar_dominio_page_rank/</guid>
		<description><![CDATA[Tweet Un cambio de marca puede implicar un cambio de dominio que nos sumergir&#225; en un oc&#233;ano de dudas y temores sobre la repercusi&#243;n que tendr&#225; este cambio sobre las visitas a nuestra web. Si echamos un ojo al m&#233;todo &#8230; <a href="http://www.hellogoogle.com/301_cambiar_dominio_page_rank/">Continue reading <span class="meta-nav">&#8594;</span></a>


Artículos relacionados:<ol><li><a href='http://www.hellogoogle.com/como-elegir-un-dominio/' rel='bookmark' title='Permanent Link: Cómo elegir un nombre de dominio: 25 consejos'>Cómo elegir un nombre de dominio: 25 consejos</a></li>
<li><a href='http://www.hellogoogle.com/anatomia-de-un-dominio/' rel='bookmark' title='Permanent Link: Anatomía de un Dominio: posicionar un dominio en Google'>Anatomía de un Dominio: posicionar un dominio en Google</a></li>
<li><a href='http://www.hellogoogle.com/posicionar_un_nombre_google/' rel='bookmark' title='Permanent Link: Cómo posicionar un nombre en Google'>Cómo posicionar un nombre en Google</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div id="bottomcontainerBox" style="background-color:#ffffff;">
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hellogoogle.com%2F301_cambiar_dominio_page_rank%2F&amp;layout=button_count&amp;show_faces=false&amp;width=120&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=120px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.hellogoogle.com/301_cambiar_dominio_page_rank/"></g:plusone>
			</div>
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.hellogoogle.com/301_cambiar_dominio_page_rank/"  data-text="Redirección 301: Cómo cambiar de nombre de dominio sin perder PageRank ni posicionamiento" data-count="horizontal" data-via="hello_google">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><div class="clear-both" style="text-align:center"><a href='http://www.hellogoogle.com/wp-content/uploads/2008/11/redireccion_301.jpg' title='Cómo cambiar de nombre de dominio sin perder PageRank' rel="lightbox[22]"><img src='http://www.hellogoogle.com/wp-content/uploads/2008/11/redireccion_301.jpg' title="Redirección 301: Cómo cambiar de nombre de dominio sin perder PageRank ni posicionamiento" alt="redireccion 301 Redirección 301: Cómo cambiar de nombre de dominio sin perder PageRank ni posicionamiento" /></a></div>
<p>Un cambio de marca puede implicar un cambio de dominio que nos sumergir&aacute; en un oc&eacute;ano de dudas y temores sobre la repercusi&oacute;n que tendr&aacute; este cambio sobre las visitas a nuestra web. Si echamos un ojo al <a href="http://googlewebmastercentral.blogspot.com/2008/04/best-practices-when-moving-your-site.html" target="_blank">m&eacute;todo oficial</a> que recomienda google en estos casos, o incluso el m&eacute;todo no oficial de <a href="http://www.mattcutts.com/blog/moving-to-a-new-web-host/">Matt Cutts</a>, comprobaremos que el n&uacute;mero <strong>301</strong> parece ser la soluci&oacute;n a todos nuestros males. </p>
<p>He de reconocer que yo mismo he tenido que pasar por la experiencia de cambiar el nombre de dominio de mi web y les puedo asegurar que si no queremos acabar al borde de un ataque de nervios es muy recomendable tener muy claro <strong>cu&aacute;ndo </strong> abordar este proyecto, <strong>c&oacute;mo</strong> abordarlo y sobre todo tener claro <strong>cu&aacute;nto</strong> tiempo puede llevarnos volver a tener nuestro n&uacute;mero habitual de visitantes. En este art&iacute;culo les mostrar&eacute; de manera sencilla la mejor estrategia para que este v&iacute;a crucis sea lo m&aacute;s corto posible.</p>
<h3><strong>1. Consideraciones iniciales a tener en cuenta </strong></h3>
<p>El Pagerank se asocia a un <strong>domino</strong> de manera global y a cada una de las <strong>p&aacute;ginas</strong> que conforman el site de manera particular.</p>
<p>Antes de comenzar es importante identificar qué p&aacute;ginas su Site son las que reciben el mayor n&uacute;mero de visitas y realizar su redireccionamiento de manera especialmente minuciosa. Tenga en cuenta que por norma general  el 20% de las p&aacute;ginas de un Site generan el 80% de las visitas del mismo:</p>
<ul>
<li>Identifique qu&eacute; paginas se encuentran <strong>indexadas</strong> por Google:
<ul>
<li>(En Google) <code>site:www.miweb.com</code></li>
</ul>
</li>
<li>Identifique qu&eacute; p&aacute;ginas est&aacute;n siendo <strong>enlazadas</strong> desde los Sites m&aacute;s relevantes:
<ul>
<li>(En Google, s&oacute;lo muestra una lista aleatoria de enlaces)<code> site:www.miweb.com</code></li>
<li>(En Yahoo<code>) http://siteexplorer.search.yahoo.com/</code>
<li>(En MSN) <code>linkdomain:www.miweb.com</code></li>
<li>Tambi&eacute;n puede recurrir a su sistema de gesti&oacute;n de estad&iacute;sticas o a m&uacute;ltiples herramientas online que hay a su disposici&oacute;n para conocer los backlinks de una web (pejm: <a href="http://www.linkvendor.com/seo-tools/site-analysis.html">Link Popularity Analysis</a>, <a href="http://www.linkpopularity.com/">LinkPopularity.com</a>)</li>
</ul>
<li>Consulte sus estad&iacute;sticas para identificar qu&eacute; p&aacute;ginas reciben el mayor n&uacute;mero de <strong>visitas.</strong></li>
</ul>
<p>Tenga presente que la transferencia de pagerank no es inmediata. </p>
<p>El <a href="http://www.hellogoogle.com/mejorar-subir-pagerank-google/" target="_blank">pagerank real y el pagerank visible</a> en la barra de google <strong>no coinciden</strong> en n&uacute;mero <strong>ni se actualizan</strong> el mismo tiempo. </p>
<p>Tan importante como no perder pagerank, es no perder<strong> presencia en buscadores,</strong> <strong>ni backlinks.</strong></p>
<h3><strong>2. C&oacute;mo funciona una redirecci&oacute;n 301 </strong></h3>
<p>La comunicaci&oacute;n entre un <em>agente</em> (un navegador, Google, etc) y un <em>servidor web</em> se realiza a trav&eacute;s de peticiones y respuestas HTTP. Cuando un <em>agente</em> solicita un recurso que ya no se encuentra en la url solicitada, el servidor responde con una <strong>cabecera http de redirecci&oacute;n 301</strong>: </p>
<ul>
<li> La primera l&iacute;nea de la cabecera se llama <em>l&iacute;nea de estado</em> y define la versi&oacute;n del protocolo, el c&oacute;digo de respuesta y una frase explicativa.</li>
<li>La segunda l&iacute;nea se denomina location y se utiliza para redirigir al receptor a la url donde se ubica realmente su solicitud. </li>
</ul>
<p>Por ejemplo, cuando un <strong>visitante</strong> accede a nuestra web antigua el funcionamiento de una redirecci&oacute;n 301 es el siguiente:</p>
<ul>
<li>Un visitante solicita al servidor una url del antiguo dominio realizando la siguiente solicitud http:
<ul>
<li><code> GET /index.php http/1.1<br /><br />
      Host: www.olddomain.com </code></li>
</ul>
</li>
<li> El servidor le devuelve un c&oacute;digo de estado 301.
<ul>
<li><code> 301 Moved Permanently<br /><br />
      Location: http://www.newdomain.com/index.php </code></li>
</ul>
</li>
<li>El navegador al recibir el c&oacute;digo 301 sabe que debe redirigir al usuario a la nueva url.. </li>
</ul>
<p>En el caso de que sea la ara&ntilde;a de <strong>Google</strong> la que accede a nuestra antigua web, el funcionamiento de la redirecci&oacute;n es similar:</p>
<ul>
<li>Googlebot solicita al servidor una url del antiguo dominio  realizando la siguiente solicitud http:
<ul>
<li><code> GET /index.php http/1.1<br /><br />
        Host: www.olddomain.com </code></li>
</ul>
</li>
<li> El servidor le devuelve un c&oacute;digo de estado 301.
<ul>
<li><code> 301 Moved Permanently<br /><br />
        Location: http://www.newdomain.com/index.php </code></li>
</ul>
</li>
<li>GoogleBot  al recibir el c&oacute;digo 301 sabe que la url del documento ha cambiado y que debe actualizar sus &iacute;ndices.</li>
</ul>
<p><u>Nota:</u> Puede ver todos los detalles sobre la naturaleza de las cabeceras http en la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6">definici&oacute;n del protocolo HTTP/1.1</a>.</p>
<p>Tambi&eacute;n puede conocer <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=40132" target="_blank">como reacciona GoogleBot</a> en funci&oacute;n del c&oacute;digo de respuesta que encuentre.</p>
<h3>3. C&oacute;mo se implementa una redirecci&oacute;n</h3>
<p>No existe una &uacute;nica forma de realizar redirecciones, por un lado podemos asignar redirecciones HTTP configurando nuestro servidor web, tambi&eacute;n podemos incluir en la p&aacute;gina a redireccionar scripting de servidor (PHP, ASP, Perl, etc), incluso podemos realizar redirecciones con scripting de cliente (JavaScrpt, Meta Refresh, etc), aunque estas &uacute;ltimas est&aacute;n <strong>totalmente desaconsejadas</strong> en este caso ya que <strong>no son transparentes</strong> para los visitantes y su utilizaci&oacute;n puede conllevar <strong>penalizaciones</strong> en el posicionamiento del Site.</p>
<p> La elecci&oacute;n de un m&eacute;todo u otro la debe de tomar usted en funci&oacute;n de sus necesidades, vamos a ver unos cu&aacute;ntos ejemplos de implementaci&oacute;n: </p>
<p><strong>I. Realizar la redirecci&oacute;n en los archivos de configuraci&oacute;n del servidor</strong></p>
<p> Para poder indicar la redirecci&oacute;n en los archivos de configuraci&oacute;n debe de tener acceso al archivo <em>httpd.conf</em> de su servidor Apache. A continuaci&oacute;n le muestro a modo de ejemplo el c&oacute;digo necesario para redireccionar todas las urls de olddomain.com a newdomain.com: </p>
<p><code>  RewriteEngine On  </code><code><br /><br />
  RewriteCond %{HTTP_HOST} !^olddomain\.com [NC] </code><code><br /><br />
  RewriteRule (.*) http://newdomain.com/$1 [R=301,L] </code> </p>
<ol>
<li>Habilita el m&oacute;dulo  mod_rewrite module.</li>
<li>La segunda l&iacute;nea chequea el nombre del dominio en la cabecera de la petici&oacute;n HTTP. El par&aacute;metro NC indica que la comprobaci&oacute;n no debe ser sensible a may&uacute;sculas.</li>
<li>La tercera l&iacute;nea realiza la redirecci&oacute;n 301 a la url correcta. El par&aacute;metro &quot;R&quot; establece el c&oacute;digo de respuesta y el par&aacute;metro &quot;L&quot; indica que una vez hecha la redirecci&oacute;n se ignore cualquier otra regla que pueda aparecer en el fichero.</li>
</ol>
<p><strong>II. Redirecci&oacute;n de directorios y ficheros con  .htaccess </strong></p>
<p>La forma m&aacute;s sencilla de redireccionar una p&aacute;gina est&aacute;tica a una direcci&oacute;n es a trav&eacute;s de la <a href="http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect" target="_blank">directiva de redirecci&oacute;n de Apache</a>. La redirecci&oacute;n debe indicarse dentro un un archivo <em>.htaccess</em> ubicado en el ra&iacute;z o en el directorio sobre el que se quiera aplicar. Tenga en cuenta que la redirecci&oacute;n se aplicar&aacute; tambi&eacute;n a todos los directorios que cuelguen de este.</p>
<p>Por ejemplo si quisi&eacute;remos redirigir todas las p&aacute;ginas que cuelguen de la carpeta <em>/cat&aacute;logo </em>deber&iacute;a incluir en este directorio un archivo </p>
<p>  <em>.htacces</em> con la siguiente informaci&oacute;n:</p>
<p><code>Redirect 301 /catalogo http://newdomain.com/catalogo</code></p>
<p>Tambi&eacute;n es posible establecer redirecciones con expresiones regulares y <a href="http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirectmatch">RedirectMatch</a>. Por ejemplo podríamos redirigir los archivos<em> .gif </em>de oldomaian.com a sus hom&oacute;nimos en <em>.jpg</em> de newdoamin.com con la siguiente expresión: </p>
<p><code> RedirectMatch 301 (.*)\.gif$ http://www.newdomain.com$1.jpg</p>
<p></code></p>
<p><strong>III. Redirecci&oacute;n en c&oacute;digo de servidor </strong></p>
<p>Otra forma de establecer una redirecci&oacute;n es indicarla de manera program&aacute;tica con c&oacute;digo servidor, la sintaxis var&iacute;a en funci&oacute;n del lenguaje:</p>
<ul>
<li><strong>PHP<br /><br />
    </strong><code><br />
&lt;? header("HTTP/1.1 301 Moved Permanently", TRUE, 301); <br /><br />
    @header("Location: http://newdomain.com/"); </p>
<p> ?&gt;<br />
</code></li>
<li><strong>ColdFusion<br /><br />
    </strong><code>&lt;CFHEADER statuscode="301" statustext="Moved Permanently"&gt; <br /><br />
&lt;CFHEADER name="Location" value="http://newdomain.com/"&gt; </code></li>
<li><strong>Perl<br /><br />
    </strong><code>#!/usr/bin/perl -w <br /><br />
use strict; <br /><br />
print "Status: 301 Moved Permanently\r\n", "Location: http://newdomain.com/\r\n\r\n"; <br /><br />
exit;</code></li>
<li><strong>ASP<br /><br />
    </strong><code>&lt;% Response.Buffer = TRUE; <br /><br />
    Response.Status = "301 Moved Permanently" <br /><br />
    Response.AddHeader "Location", &quot;http://www.newdomain.com/&quot;<br /><br />
Response.End %&gt;</code></li>
<li><strong>ASP .NET</strong><br /><br />
    <code>&lt;script runat="server"&gt; <br /><br />
private void Page_Load(object sender, System.EventArgs e) <br /><br />
{ <br /><br />
Response.Status = "301 Moved Permanently"; <br /><br />
Response.AddHeader("Location","http://www.newdomain.com/"); <br /><br />
}&lt;/script&gt; </code></li>
<li><strong>JSP<br /><br />
  </strong><code>&lt;%<br />
  response.setStatus(301); <br /><br />
  response.setHeader( "Location", "http://www.newdomain.com/" ); <br /><br />
  response.setHeader( "Connection", "close" );<br />
  %&gt;</code></li>
<li><strong>Ruby on Rails</strong><br /><br />
    <code>def old_action <br /><br />
    headers["Status"] = "301 Moved Permanently" <br /><br />
    redirect_to "http://www.newdomain.com</code>/<code>" <br /><br />
    end </code><br />
  </li>
</ul>
<p><strong>IV. Redirecciones en IIS</strong></p>
<p>Si su servidor web es un IIS puede seguir las siguientes indicaciones para hacer una redirecci&oacute;n 301:</p>
<ul>
<li>En la consola Internet Services Manager haga click en el archivo o directorio que quiere redireccionar.</li>
<li>Seleccione la opci&oacute;n &#8220;redirection to a URL &#8211; Redirigir a una URL&quot;. </li>
<li>Escriba la direcci&oacute;n a la que quiere redireccionar.</li>
<li>Marque &#8220;The exact url entered above &#8211; la url introducida abajo&#8221; y &#8220;A permanent redirection for this resource &#8211; Redirecci&oacute;n permanente para este recurso&#8221; </li>
<li>Haga click en &#8216;Apply &#8211; Aplicar&#8217;.</li>
</ul>
<p>&nbsp;</p>
<h3>4. Estrategia de redireccionamiento a seguir</h3>
<p>La estrategia a seguir es relativamente sencilla: cada url del antiguo dominio se debe redireccionar a la url correspondiente del nuevo dominio:</p>
<ul>
<li>Cuanto m&aacute;s <strong>sencillas</strong> sean las redirecciones aplicadas mejor.</li>
<li><strong>Antes de redireccionar</strong> todo el dominio redireccione un archivo para asegurarse que entiende el proceso y que todo funciona correctamente. </li>
<li>Si tiene acceso como <em>Root</em> a su servidor realice la redirecci&oacute;n en el <strong>archivo de configuraci&oacute;n del servidor</strong>. </li>
<li>Si la estructura de directorios se mantiene <strong>id&eacute;ntica</strong> en el nuevo dominio con una s&oacute;la regla es suficiente. </li>
<li>En el caso de que la estructura de directorios var&iacute;e es necesario crear una regla para cada caso. Si existe un n&uacute;mero elevado de p&aacute;ginas el trabajo puede volverse bastante tedioso por lo que es importante hacerlo con cuidado para evitar <strong>errores</strong>. </li>
<li>Si a parte del nombre de dominio, tiene previsto realizar un cambio de <strong>dise&ntilde;o</strong>, es recomendable aplicar el redise&ntilde;o en una segunda fase para evitar desorientar a sus visitantes. </li>
<li>Una vez finalizada la redirecci&oacute;n es importante crear un Google <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=40318">Sitemap </a> con las URLs de su nuevo Site para indicar a Google de manera <strong>explicita</strong> que los contenidos est&aacute;n ahora disponibles en su nuevo Site . </li>
</ul>
<h3>5. Consideraciones finales </h3>
<p>Si la redirecci&oacute;n se ha hecho con &eacute;xito no se debe experimentar<strong> ninguna pérdida de visitas</strong>:</p>
<ul>
<li>Los <strong>backlinks</strong> existentes deben redirigir ahora a las p&aacute;ginas en el nuevo dominio.</li>
<li>Los resultados de las b&uacute;squedas en Google todav&iacute;a mostraran el antiguo dominio pero el usuario ser&aacute; redirigido al nuevo Site.</li>
</ul>
<p>Si hemos dado de alta correctamente el Site Map para el nuevo dominio en 2 o 3 semanas deberemos ver como se <strong>actualiza el &iacute;ndice de Google</strong> para mostrar los resultados con el nuevo nombre de dominio.</p>
<p>El <a href="http://www.hellogoogle.com/mejorar-subir-pagerank-google/%20" target="_blank">PageRank p&uacute;blico</a> mostrado en la barra de Google puede tardar <strong>varios meses</strong> en actualizarse con el valor original del antiguo dominio. Esto no debe obsesionarnos pues no tiene una repercusi&oacute;n negativa en el posicionamiento.</p>
<p>Mantenga los Google Site Maps del Site antiguo y nuevo, y revise de manera peri&oacute;dica los <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=35120">errores de indexaci&oacute;n(crawl errors)</a> para asegurarse que las redirecciones est&aacute;n<strong> funcionando correctamente</strong> y que no existen errores del tipo 404 (Documento no encontrado). </p>
<p>En el blog oficial de Google se recomienda mantener el contenido del antiguo Site durante al menos <strong>180 d&iacute;as</strong> una vez hecha la redirecci&oacute;n. Si no queremos perder los backlinks deberemos mantener  el antiguo contenido de manera indefinida o solicitar uno a uno a todos los Sites implicados que actualicen sus enlaces para apuntar a la nueva direcci&oacute;n. </p>
<p>Las redirecciones deben ser tratadas con especial cuidado, tenga en cuenta que algunos webmasters las han utilizado para intentar modificar de manera fraudulenta los rankings de Google en su propio beneficio, puede leer m&aacute;s acerca de esta pr&aacute;ctica en el art&iacute;culo <a href="http://clsc.net/research/google-302-page-hijack.htm%20">302 page Hijack.</a> </p>
<h3>6. Google WebMaster Tools: Herramienta para el Cambio de Dirección</h3>
<p>Ahora también puede indicar a Google de manera explícita que ha cambiado la dirección de su Site. Para ello utilice  la herramienta <strong>&#8220;Cambio de Dirección&#8221;</strong> que encontrará en su <a href="http://https://www.google.com/webmasters/tools/home?hl=es" target="_blank">panel de control de Google Webmaster Tools</a>. Esto facilitará y agilizará la actualización del indice de su web en Google.</p>
<p>Debe tener en cuenta que la utilización de esta herramienta debe complementarse con todo lo dicho anteiormente:</p>
<ul>
<li>Configure su nueva web.</li>
<li>Redirija el tráfico desde el sitio antiguo al nuevo.</li>
<li>Incluya su nueva web en  las Herramientas para webmasters de Google.</li>
<li>Indique la URL del dominio nuevo.</li>
</ul>
<p>Tras reportar a Google el cambio de dirección, debe consultar periódicamente su panel de control de Google Webmaster Tools para comprobar si se ha rastreado e indexado correctamente su nueva web.</p>
 Powered by HelloGoogle.com<!-- PHP 5.x --><div id="bottomcontainerBox" style="background-color:#ffffff;">
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hellogoogle.com%2F301_cambiar_dominio_page_rank%2F&amp;layout=button_count&amp;show_faces=false&amp;width=120&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=120px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.hellogoogle.com/301_cambiar_dominio_page_rank/"></g:plusone>
			</div>
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.hellogoogle.com/301_cambiar_dominio_page_rank/"  data-text="Redirección 301: Cómo cambiar de nombre de dominio sin perder PageRank ni posicionamiento" data-count="horizontal" data-via="hello_google">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>

<p>Artículos relacionados:<ol><li><a href='http://www.hellogoogle.com/como-elegir-un-dominio/' rel='bookmark' title='Permanent Link: Cómo elegir un nombre de dominio: 25 consejos'>Cómo elegir un nombre de dominio: 25 consejos</a></li>
<li><a href='http://www.hellogoogle.com/anatomia-de-un-dominio/' rel='bookmark' title='Permanent Link: Anatomía de un Dominio: posicionar un dominio en Google'>Anatomía de un Dominio: posicionar un dominio en Google</a></li>
<li><a href='http://www.hellogoogle.com/posicionar_un_nombre_google/' rel='bookmark' title='Permanent Link: Cómo posicionar un nombre en Google'>Cómo posicionar un nombre en Google</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.hellogoogle.com/301_cambiar_dominio_page_rank/feed/</wfw:commentRss>
		<slash:comments>66</slash:comments>
		</item>
		<item>
		<title>Ajax zoomy: Un Ajax lightbox para su galería de imágenes</title>
		<link>http://www.hellogoogle.com/ajax-zoomy-lightbox/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ajax-zoomy-lightbox</link>
		<comments>http://www.hellogoogle.com/ajax-zoomy-lightbox/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 16:07:19 +0000</pubDate>
		<dc:creator>Ignacio Gorostiza</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.hellogoogle.com/ajax-zoomy-un-ajax-lightbox-para-su-galeria-de-imagenes/</guid>
		<description><![CDATA[Tweet Ver demo. Descargar código. Podemos encontrar infinidad de librerias para crear en nuestras webs el conocido efecto lightbox que viene a ser la versión 2.0 de los antiguos pop-ups. Me gustaría destacar Zoomy.js que es una librería basada en &#8230; <a href="http://www.hellogoogle.com/ajax-zoomy-lightbox/">Continue reading <span class="meta-nav">&#8594;</span></a>


Artículos relacionados:<ol><li><a href='http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/' rel='bookmark' title='Permanent Link: Ajax Lightbox: Una ventana emergente 2.0 en su página web'>Ajax Lightbox: Una ventana emergente 2.0 en su página web</a></li>
<li><a href='http://www.hellogoogle.com/ajax-accesible-para-google/' rel='bookmark' title='Permanent Link: AJAX Accesible para Google: Posicionar contenido en Ajax'>AJAX Accesible para Google: Posicionar contenido en Ajax</a></li>
<li><a href='http://www.hellogoogle.com/real-ajax-sexy-curls/' rel='bookmark' title='Permanent Link: Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página'>Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div id="bottomcontainerBox" style="background-color:#ffffff;">
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hellogoogle.com%2Fajax-zoomy-lightbox%2F&amp;layout=button_count&amp;show_faces=false&amp;width=120&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=120px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.hellogoogle.com/ajax-zoomy-lightbox/"></g:plusone>
			</div>
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.hellogoogle.com/ajax-zoomy-lightbox/"  data-text="Ajax zoomy: Un Ajax lightbox para su galería de imágenes" data-count="horizontal" data-via="hello_google">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><div class="captionleft" style="margin:0 10px"><a href='http://www.hellogoogle.com/wp-content/uploads/2008/11/ajax_zoomy.jpg' title='Ajax lightbox para su galería de imágenes' rel="lightbox[107]"><img src='http://www.hellogoogle.com/wp-content/uploads/2008/11/ajax_zoomy.jpg' alt="ajax zoomy Ajax zoomy: Un Ajax lightbox para su galería de imágenes"  title="Ajax zoomy: Un Ajax lightbox para su galería de imágenes" /></a></div>
<p><a href="http://www.hellogoogle.com/examples/zoomy/" target="_blank">Ver demo</a>.</p>
<p><a href="http://www.hellogoogle.com/examples/zoomy/zoomy.rar" target="_blank">Descargar código</a>.</p>
<p>Podemos encontrar infinidad de librerias para crear en nuestras webs el conocido efecto lightbox que viene a ser la versión 2.0 de los antiguos pop-ups. Me gustaría destacar <a href="http://www.cssrevolt.com/upload/files/zoomy/" target="_blank">Zoomy.js</a> que es una librería basada en <em>Prototype</em> y <em>Scriptaculous</em>, desarrollada por <a href="http://www.cssrevolt.com/" target="_blank">Filippo Buratti</a> que permite crear de manera sencilla y rápida una galería de imágenes tipo lightbox. Tiene la particularidad de que a pesar de ser un código realmente ligero (menos de 5kb) las imagenes se presentan de manera muy elegante y  los pop-ups pueden ser arrastrados libremente por la pantalla.</p>
<p>Tomando este código como base, he añadido <strong>dos nuevas funcionalidades</strong> que creo pueden serle de mucha utilidad a la hora de desarrollar su propia galería:</p>
<ul>
<li><strong>Contenido AJax</strong>: Ahora es posible mostrar en la ventana lightbox texto ó html.
<p><code>&lt;ul class=&quot;<strong>zoomyx</strong>&quot;&gt;<br />
&lt;li&gt;&lt;a href=&quot;<strong>(url del contenido AJAX)</strong>&quot;  style=&quot;background-image: url<strong>(url de la imagen)</strong>&quot; title=&quot;Rubix Cube&quot;&gt;Rubix Cube&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</code></p>
</li>
<li><strong>Definir estilos css de la venta lightbox</strong>: Es posible definir en el atributo <em>rel</em> los estilos css (altura, anchura, etc) de la ventana lightbox.
<p><code>&lt;ul class=&quot;<strong>zoomyx</strong>&quot;&gt;<br />
&lt;li&gt;&lt;a href=&quot;<strong>(url del contenido AJAX)</strong>&quot;  rel=&quot;<strong>(estilos css)</strong>' style=&quot;background-image: url<strong>(url de la imágen)</strong>&quot; title=&quot;Rubix Cube&quot;&gt;Rubix Cube&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</code></p>
<p><u>Nota:</u> A la hora de definir los estilos es necesario seguir la nomenclatura que establece prototype a la hora de utilizar la función <em><a href="http://www.prototypejs.org/api/element/setStyle" target="_blank">setStyle</a>, </em>por ejemplo:</p>
<p><code>rel=&quot;width:'400px',height:'400px',color:'#fff'&quot;</code></p>
</li>
</ul>
<p>El resto de funcionalidades de Zoomy se mantienen intactas, puede ver los cambios introducidos comparando la <a href="http://www.cssrevolt.com/upload/files/zoomy/zoomy.js" target="_parent">librería original</a>  con la <a href="http://www.hellogoogle.com/examples/zoomy/zoomy.js">librería ampliada en HelloGoogle.com</a>. Además la nueva librería no sufre ningún incremento de peso (A penas medio kb).</p>
<p>He preparado una <a href="http://www.hellogoogle.com/examples/zoomy/" target="_blank">demo</a> donde puede comprobar online el funcionamiento de la librería con todas sus funcionalidades.</p>
<p>Como siempre, puede <a href="http://www.hellogoogle.com/examples/zoomy/zoomy.rar" target="_blank">descargarse el código completo</a> de la librería y utilizarlo libremente en sus desarrollos. Recuerde que el código es open-source y está protegido por una <a href="http://www.opensource.org/licenses/mit-license.php">Licencia MIT</a>. </p>
<p>Ya no tiene excusa para incluir en su web una verdera galería de imágenes 2.0.</p>
 Powered by HelloGoogle.com<!-- PHP 5.x --><div id="bottomcontainerBox" style="background-color:#ffffff;">
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hellogoogle.com%2Fajax-zoomy-lightbox%2F&amp;layout=button_count&amp;show_faces=false&amp;width=120&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=120px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.hellogoogle.com/ajax-zoomy-lightbox/"></g:plusone>
			</div>
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.hellogoogle.com/ajax-zoomy-lightbox/"  data-text="Ajax zoomy: Un Ajax lightbox para su galería de imágenes" data-count="horizontal" data-via="hello_google">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>

<p>Artículos relacionados:<ol><li><a href='http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/' rel='bookmark' title='Permanent Link: Ajax Lightbox: Una ventana emergente 2.0 en su página web'>Ajax Lightbox: Una ventana emergente 2.0 en su página web</a></li>
<li><a href='http://www.hellogoogle.com/ajax-accesible-para-google/' rel='bookmark' title='Permanent Link: AJAX Accesible para Google: Posicionar contenido en Ajax'>AJAX Accesible para Google: Posicionar contenido en Ajax</a></li>
<li><a href='http://www.hellogoogle.com/real-ajax-sexy-curls/' rel='bookmark' title='Permanent Link: Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página'>Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.hellogoogle.com/ajax-zoomy-lightbox/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ajax Lightbox: Una ventana emergente 2.0 en su página web</title>
		<link>http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=efecto_ajax_lightbox_javascript_css</link>
		<comments>http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/#comments</comments>
		<pubDate>Mon, 14 May 2007 21:35:22 +0000</pubDate>
		<dc:creator>Ignacio Gorostiza</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/</guid>
		<description><![CDATA[Tweet Durante el desarrollo de mi &#250;ltimo proyecto he tenido la suerte de conocer un fant&#225;stico efecto 2.0 desarrollado por Lokesh Dhakar. Se trata de un efecto Lightbox que permite mostrar espectaculares pop-ups con im&#225;genes y grupos de im&#225;genes. Las &#8230; <a href="http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/">Continue reading <span class="meta-nav">&#8594;</span></a>


Artículos relacionados:<ol><li><a href='http://www.hellogoogle.com/ajax-zoomy-lightbox/' rel='bookmark' title='Permanent Link: Ajax zoomy: Un Ajax lightbox para su galería de imágenes'>Ajax zoomy: Un Ajax lightbox para su galería de imágenes</a></li>
<li><a href='http://www.hellogoogle.com/real-ajax-sexy-curls/' rel='bookmark' title='Permanent Link: Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página'>Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página</a></li>
<li><a href='http://www.hellogoogle.com/ajax-accesible-para-google/' rel='bookmark' title='Permanent Link: AJAX Accesible para Google: Posicionar contenido en Ajax'>AJAX Accesible para Google: Posicionar contenido en Ajax</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div id="bottomcontainerBox" style="background-color:#ffffff;">
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hellogoogle.com%2Fefecto_ajax_lightbox_javascript_css%2F&amp;layout=button_count&amp;show_faces=false&amp;width=120&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=120px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/"></g:plusone>
			</div>
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/"  data-text="Ajax Lightbox: Una ventana emergente 2.0 en su página web" data-count="horizontal" data-via="hello_google">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Durante el desarrollo de mi &uacute;ltimo proyecto he tenido la suerte de conocer un fant&aacute;stico efecto 2.0 desarrollado por Lokesh Dhakar. Se trata de un efecto Lightbox que permite mostrar espectaculares pop-ups con im&aacute;genes y grupos de im&aacute;genes. Las caracter&iacute;sticas&nbsp;del c&oacute;digo original no eran suficientes para&nbsp;el proyecto en el que trabajaba, as&iacute; que tuve que ampliarlo para que fuera capaz de mostrar pop-ups que cargaran din&aacute;micamente de un fichero. De este modo naci&oacute; el que he bautizado como <a href="http://www.hellogoogle.com/examples/ajax_lightbox/">Ajax LightBox</a>, espero que les sea de tanta utilidad como a mi.</p>
<h2>Qu&eacute; es Ajax Lightbox</h2>
<p>Ajax&nbsp;Lightbox es un script <em>no intrusivo </em>que permite mostrar una ventana&nbsp;por encima del contenido actual de una p&aacute;gina. El t&eacute;rmino <em>no intrusivo </em>se utiliza para denominar al c&oacute;digo javascript que no se ejecuta inmerso en el HTML si no que se aplica de manera indirecta una vez cargado el documento, permitiendo conseguir independizar completamente&nbsp; &ldquo;Contenido, Presentaci&oacute;n y Comportamiento. Comentar tambi&eacute;n que un script no intrusivo permite cumplir con el punto de verificaci&oacute;n 6.3 de las normas de accesibilidad WCAG (prioridad 1, necesario para nivel A):</p>
<p><em>&quot;Ensure that pages are usable when scripts, applets, or other programmatic objects are turned off or not supported. If this is not possible, provide equivalent information on an alternative accessible page.&quot;&nbsp;</em></p>
<p>Como puede observar en el siguiente <a href="http://www.hellogoogle.com/examples/ajax_lightbox/">ejemplo</a>, usted puede visualizar tres tipos diferentes de ventanas:</p>
<ul>
<li>Contenido din&aacute;mico extraido v&iacute;a Ajax de un fichero.</li>
<li>Im&aacute;genes individuales.</li>
<li>Grupos de im&aacute;genes.</li>
</ul>
<p>Si conoce algo de javascript y css puede personalizar el efecto para ajustarlo a sus necesidades:</p>
<p>Ha sido testeado en las &uacute;ltimas versiones de los navegadores m&aacute;s extendidos: IE/FireFox/Opera.</p>
<h2>C&oacute;mo utilizarlo</h2>
<h3>1. Configuraci&oacute;n</h3>
<ol>
<li>
<p>Ajax Lightbox utiliza dos&nbsp;librer&iacute;as opensource: <em>Prototype</em> y&nbsp;<em>Scriptaculous</em>. Por tanto debe incluirlas en la cabecera de su p&aacute;gina:</p>
<p> <code>&lt;script type=&quot;text/javascript&quot; xsrc=&quot;js/prototype.js&quot; mce_src=&quot;js/prototype.js&quot;&gt;&lt;/script&gt;<br /> &lt;script type=&quot;text/javascript&quot; xsrc=&quot;js/scriptaculous.js?load=effects&quot; mce_src=&quot;js/scriptaculous.js?load=effects&quot;&gt;&lt;/script&gt;<br /> &lt;script type=&quot;text/javascript&quot; xsrc=&quot;js/lightbox.js&quot; mce_src=&quot;js/lightbox.js&quot;&gt;&lt;/script&gt;<br /> </code>
<p>Puede modificar la librer&iacute;a<em> lightbox.js</em> para configurar algunos par&aacute;metros del efecto:</p>
<p> <em>fileLoadingImage:</em> Imagen de carga<br /> <em>overlayOpacity:</em> Nivel de transparencia de la capa<br /> <em>overlayvar animate: </em>Activa/Desactiva rescalable&nbsp; animations<br /> <em>resizeSpeed</em>: Controla la velocidad de rescalado de la imagen (1 = muy lento y 10 = muy r&aacute;pido)<br /> <em>borderSize</em>: Grosor del borde </li>
<li>Incluya tambi&eacute;n la hoja de estilos&nbsp;lightbox.css&nbsp;a&ntilde;ada los estilos a la hoja de estilos actual de su Site. Puede modificar los estilos para cambiar las caracter&iacute;sticas del efecto (Colores, tama&ntilde;os, etc).<br /> 
<p><code>&lt;link rel=&quot;stylesheet&quot; xhref=&quot;css/lightbox.css&quot; mce_href=&quot;css/lightbox.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt; </code></p>
<p>Es importante que compruebe dentro de la hoja de estilos que las im&aacute;genes est&aacute;n siendo referenciadas a las ubicaciones correctas.</p>
</li>
</ol>
<h3>2. Activaci&oacute;n</h3>
<ol>
<li>&nbsp;A&ntilde;ada un atributo rel=&quot;lightbox_text&quot;&nbsp; a cualquier enlace que apunte a una p&aacute;gina web para activar el efecto:<br /> 
<p><code>&lt;a xhref=&quot;nota.htm&quot; mce_href=&quot;nota.htm&quot; rel=&quot;lightbox_text&quot; &gt;Ver nota&lt;/a&gt; </code></p>
</li>
<li>A&ntilde;ada un atributo &nbsp; rel=&quot;lightbox&quot; a cualquier enlace a una imagen en el que quiera activar el efecto. Puede incluir un atributo title si quiere visualizar un&nbsp;caption en la ventana:<br /> 
<p><code>&lt;a xhref=&quot;images/image-1.jpg&quot; mce_href=&quot;images/image-1.jpg&quot; rel=&quot;lightbox&quot; title=&quot;Los recursos de HelloGoogle son la pera&quot;&gt;imagen #1&lt;/a&gt;</code></p>
</li>
<li>Si quiere agrupar un conjunta de im&aacute;genes, incluya un nombre de grupo dentro de unos corchetes en el atributo rel:<br /> 
<p><code>&lt;a xhref=&quot;images/image-1.jpg&quot; mce_href=&quot;images/image-1.jpg&quot; rel=&quot;lightbox[mi_grupo]&quot;&gt;imagen #1&lt;/a&gt;<br /> &lt;a xhref=&quot;images/image-2.jpg&quot; mce_href=&quot;images/image-2.jpg&quot; rel=&quot;lightbox[mi_grupo]&quot;&gt;imagen #2&lt;/a&gt;<br /> &lt;a xhref=&quot;images/image-3.jpg&quot; mce_href=&quot;images/image-3.jpg&quot; rel=&quot;lightbox[mi_grupo]&quot;&gt;imagen #3&lt;/a&gt; </code></p>
</li>
</ol>
<h2>Desc&aacute;rgueselo</h2>
<p>El c&oacute;digo se ofrece bajo la licencia Creative Commons, esto significa que puede utilizarlo y modificarlo libremente en sus aplicaciones. Solamente debe mantener los cr&eacute;ditos tal y como est&aacute;n, para reconocer la labor de sus autores.</p>
<p>Espero que este efecto le sea de tanta utilidad como a mi, y que a partir de ahora pueda sorprender a sus visitantes con este Ajax Lightbox 2.0.</p>
<ul>
<li><a href="http://www.hellogoogle.com/examples/ajax_lightbox/ajax_lightbox.rar"><strong>Ajax Lightbox <em>v1.0</em></strong></a></li>
</ul>
 Powered by HelloGoogle.com<!-- PHP 5.x --><div id="bottomcontainerBox" style="background-color:#ffffff;">
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hellogoogle.com%2Fefecto_ajax_lightbox_javascript_css%2F&amp;layout=button_count&amp;show_faces=false&amp;width=120&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=120px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/"></g:plusone>
			</div>
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/"  data-text="Ajax Lightbox: Una ventana emergente 2.0 en su página web" data-count="horizontal" data-via="hello_google">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>

<p>Artículos relacionados:<ol><li><a href='http://www.hellogoogle.com/ajax-zoomy-lightbox/' rel='bookmark' title='Permanent Link: Ajax zoomy: Un Ajax lightbox para su galería de imágenes'>Ajax zoomy: Un Ajax lightbox para su galería de imágenes</a></li>
<li><a href='http://www.hellogoogle.com/real-ajax-sexy-curls/' rel='bookmark' title='Permanent Link: Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página'>Real Ajax Sexy Curls: Una forma elegante de mostrar el código fuente de nuestra página</a></li>
<li><a href='http://www.hellogoogle.com/ajax-accesible-para-google/' rel='bookmark' title='Permanent Link: AJAX Accesible para Google: Posicionar contenido en Ajax'>AJAX Accesible para Google: Posicionar contenido en Ajax</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/feed/</wfw:commentRss>
		<slash:comments>86</slash:comments>
		</item>
		<item>
		<title>Selector combo dinámico en Ajax: localidades y provincias de España</title>
		<link>http://www.hellogoogle.com/selector_combo_ajax_provincias_localidades/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=selector_combo_ajax_provincias_localidades</link>
		<comments>http://www.hellogoogle.com/selector_combo_ajax_provincias_localidades/#comments</comments>
		<pubDate>Tue, 13 Feb 2007 22:00:12 +0000</pubDate>
		<dc:creator>Ignacio Gorostiza</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[Xpath]]></category>

		<guid isPermaLink="false">http://www.hellogoogle.com/selector_combo_ajax_provincias_localidades/</guid>
		<description><![CDATA[Tweet En diversos proyectos he tenido la necesidad de trabajar con un formulario en el que uno de los campos es un selector de provincias y localidades de Espa&#241;a. Tal vez usted tambi&#233;n haya tenido esta misma necesidad durante el &#8230; <a href="http://www.hellogoogle.com/selector_combo_ajax_provincias_localidades/">Continue reading <span class="meta-nav">&#8594;</span></a>


Artículos relacionados:<ol><li><a href='http://www.hellogoogle.com/ajax-zoomy-lightbox/' rel='bookmark' title='Permanent Link: Ajax zoomy: Un Ajax lightbox para su galería de imágenes'>Ajax zoomy: Un Ajax lightbox para su galería de imágenes</a></li>
<li><a href='http://www.hellogoogle.com/ajax-accesible-para-google/' rel='bookmark' title='Permanent Link: AJAX Accesible para Google: Posicionar contenido en Ajax'>AJAX Accesible para Google: Posicionar contenido en Ajax</a></li>
<li><a href='http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/' rel='bookmark' title='Permanent Link: Ajax Lightbox: Una ventana emergente 2.0 en su página web'>Ajax Lightbox: Una ventana emergente 2.0 en su página web</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div id="bottomcontainerBox" style="background-color:#ffffff;">
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hellogoogle.com%2Fselector_combo_ajax_provincias_localidades%2F&amp;layout=button_count&amp;show_faces=false&amp;width=120&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=120px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.hellogoogle.com/selector_combo_ajax_provincias_localidades/"></g:plusone>
			</div>
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.hellogoogle.com/selector_combo_ajax_provincias_localidades/"  data-text="Selector combo dinámico en Ajax: localidades y provincias de España" data-count="horizontal" data-via="hello_google">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>En diversos proyectos he tenido la necesidad de trabajar con un formulario en el que uno de los campos es un selector de provincias y localidades de Espa&ntilde;a. Tal vez usted tambi&eacute;n haya tenido esta misma necesidad durante el desarrollo de un proyecto.</p>
<p>En un enfoque tradicional ser&iacute;a necesario cargar en memoria todas las provincias y localidades, o dividir el proceso en dos fases: en la primera el usuario elegir&iacute;a su provincia para luego seleccionar su localidad en un segundo paso. Un ejemplo de este enfoque tradicional es la web de <a href="http://callejero.paginasamarillas.es" target="_blank">p&aacute;ginas amarillas</a>. Observe que el tiempo de carga de la p&aacute;gina es considerablemente elevado.</p>
<p>Las nuevas t&eacute;cnicas de desarrollo <strong>web 2.0 </strong>nos ofrecen ahora la posibilidad de resolver este tipo de&nbsp; funcionalidades de una manera mucho m&aacute;s elegante y eficiente.</p>
<p><strong>Ejemplo de combo din&aacute;mico en Ajax&nbsp;</strong></p>
<div class="captionfull"><center><strong><a href="http://www.hellogoogle.com/examples/provincias_ajax/default.php" target="_blank"><img src="http://www.hellogoogle.com/wp-content/uploads/2007/02/combo_localidades.gif" alt="combo localidades Selector combo dinámico en Ajax: localidades y provincias de España" width="418" height="99" title="Selector combo dinámico en Ajax: localidades y provincias de España" /></a></strong></center></div>
<p>En un <strong>enfoque 2.0</strong> he desarrollado este <a href="http://www.hellogoogle.com/examples/provincias_ajax/default.php" target="_blank">ejemplo</a> en el que puede ver un&nbsp; formulario que permite al usuario seleccionar su localidad de manera muy r&aacute;pida y eficiente. <strong>Ajax </strong>nos permite&nbsp; trabajar con un documento <a href="http://www.hellogoogle.com/examples/provincias_ajax/provinciasypoblaciones.xml" target="_blank">XML de m&aacute;s de 2Mb</a> que contiene todas las localidades de Espa&ntilde;a, cargando en memoria &uacute;nicamente&nbsp;la informaci&oacute;n que necesitemos en cada momento.</p>
<p>En el siguiente esquema se explica el funcionamiento de la aplicaci&oacute;n Ajax:</p>
<div class="captionfull"><center><img src="http://www.hellogoogle.com/wp-content/uploads/2007/02/arquitectura_aplicacion_ajax.gif" alt="arquitectura aplicacion ajax Selector combo dinámico en Ajax: localidades y provincias de España" width="215" height="418" title="Selector combo dinámico en Ajax: localidades y provincias de España" /></center></div>
<p>Esta funcionalidad consta de los siguientes archivos:</p>
<ul>
<li><strong>default.php</strong>: p&aacute;gina incial d&oacute;nde se generan din&aacute;micamente el combo de provincias&nbsp;a partir del XML general.</li>
<li><strong>xml_data_provider.php</strong>: recorre el XML general y devuelve otro XML que contiene s&oacute;lo las localidades de la provincia escogida.</li>
<li><strong>AjaxCode.js:&nbsp; </strong>funcionalidad Ajax que lee el XML con las localidades elegidas y crea din&aacute;micamente el combo de localidades.</li>
<li><strong>provinciasypoblaciones.xml:</strong> Archivo XML que contiene todas las localidades y provincias de Espa&ntilde;a.</li>
</ul>
<p>Esta misma funcionalidad puede utilizarla para manejar cualquier XML de gran tama&ntilde;o que de otra forma se mostrar&iacute;a inmanejable y ralentizar&iacute;a mucho el tiempo de carga de su Site: fichas de clientes, un catalogo de productos, etc.</p>
<p>El tiempo de carga de una p&aacute;gina y el consiguiente tiempo de espera de un usuario es uno de los factores m&aacute;s importantes en el rendimiento de una web. Tal y como se desprende del estudio sobre usabilidad realizado por <a href="http://www.bcr.com/architecture/network_forecasts%10sevcik/how_fast_is_fast_enough?_20030315225.htm" target="_blank">Peter Sevcik</a> en Julio de 2002, el tiempo de carga de una p&aacute;gina no debe dilatarse m&aacute;s de <strong>10 segundos</strong> para mantener el nivel de satisfaci&oacute;n del usuario dentro de los l&iacute;mites &oacute;ptimos. A partir de este l&iacute;mite el usuario empieza a percibir que la p&aacute;gina est&aacute; tardando en cargar y cuando se rebasa los 40 segundos la <strong>fustraci&oacute;n y p&eacute;rdida de interes </strong>del usuario por la p&aacute;gina aumenta de manera muy acusada.</p>
<p><strong>El c&oacute;digo.</strong></p>
<p>En el siguiente <a id="p18" href="http://www.hellogoogle.com/wp-content/uploads/2007/02/ajax_provincias_localidades.zip">archivo zip</a> dispone de todos los ficheros y recursos que conforman la aplicaci&oacute;n. Si&eacute;ntase libre de utilizarlo en su p&aacute;gina web. Si le result&oacute; de utilidad&nbsp; o encontr&oacute; cualquier problema le agradecer&iacute;a mucho conocer su feedback.</p>
 Powered by HelloGoogle.com<!-- PHP 5.x --><div id="bottomcontainerBox" style="background-color:#ffffff;">
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.hellogoogle.com%2Fselector_combo_ajax_provincias_localidades%2F&amp;layout=button_count&amp;show_faces=false&amp;width=120&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=120px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.hellogoogle.com/selector_combo_ajax_provincias_localidades/"></g:plusone>
			</div>
			<div style="float:left; width:120px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.hellogoogle.com/selector_combo_ajax_provincias_localidades/"  data-text="Selector combo dinámico en Ajax: localidades y provincias de España" data-count="horizontal" data-via="hello_google">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>

<p>Artículos relacionados:<ol><li><a href='http://www.hellogoogle.com/ajax-zoomy-lightbox/' rel='bookmark' title='Permanent Link: Ajax zoomy: Un Ajax lightbox para su galería de imágenes'>Ajax zoomy: Un Ajax lightbox para su galería de imágenes</a></li>
<li><a href='http://www.hellogoogle.com/ajax-accesible-para-google/' rel='bookmark' title='Permanent Link: AJAX Accesible para Google: Posicionar contenido en Ajax'>AJAX Accesible para Google: Posicionar contenido en Ajax</a></li>
<li><a href='http://www.hellogoogle.com/efecto_ajax_lightbox_javascript_css/' rel='bookmark' title='Permanent Link: Ajax Lightbox: Una ventana emergente 2.0 en su página web'>Ajax Lightbox: Una ventana emergente 2.0 en su página web</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.hellogoogle.com/selector_combo_ajax_provincias_localidades/feed/</wfw:commentRss>
		<slash:comments>77</slash:comments>
		</item>
	</channel>
</rss>

