<?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>PHPBSD.net &#187; wordpress</title>
	<atom:link href="http://www.phpbsd.net/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phpbsd.net</link>
	<description>Blogueando sobre PHP, BSD, SEO, AJAX, Seguridad, Rendimiento... y mucho más</description>
	<lastBuildDate>Mon, 30 Nov 2009 11:28:09 +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>WordPress con el FeedBurner de Google y su maldito proxy</title>
		<link>http://www.phpbsd.net/2009/04/10/wordpress-con-el-feedburner-de-google-y-su-maldito-proxy/</link>
		<comments>http://www.phpbsd.net/2009/04/10/wordpress-con-el-feedburner-de-google-y-su-maldito-proxy/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 19:51:23 +0000</pubDate>
		<dc:creator>Oriol</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[feedburner]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rewrite-engine]]></category>
		<category><![CDATA[webmaster]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.phpbsd.net/?p=169</guid>
		<description><![CDATA[Hace tiempo escribí un post acerca de como usar FeedBurner para los feeds de un WordPress que se ha quedado algo obsoleto debido a algunos cambios en WordPress respecto a la URL de los feeds y a la compra de FeedBurner por parte de Google.
Si todavía crees que usar FeedBurner es una buena idea (yo [...]


Entradas relacionadas:<ul><li><a href='http://www.phpbsd.net/2007/01/28/usando-mod_rewrite-y-feedburner-para-las-feeds-de-un-blog-con-wordpress/' rel='bookmark' title='Permanent Link: Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress'>Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress</a></li><li><a href='http://www.phpbsd.net/2009/02/21/actualizar-un-wordpress-a-la-ultima-version/' rel='bookmark' title='Permanent Link: Actualizar un WordPress a la última versión'>Actualizar un WordPress a la última versión</a></li><li><a href='http://www.phpbsd.net/2007/06/07/internacionalizacion-de-temas-en-wordpress-usando-gettext/' rel='bookmark' title='Permanent Link: Internacionalización de temas en WordPress usando gettext'>Internacionalización de temas en WordPress usando gettext</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Hace tiempo escribí un post acerca de <a title="Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress en PHPBSD.net" href="http://www.phpbsd.net/2007/01/28/usando-mod_rewrite-y-feedburner-para-las-feeds-de-un-blog-con-wordpress/">como usar FeedBurner para los feeds de un WordPress</a> que se ha quedado algo obsoleto debido a algunos cambios en WordPress respecto a la URL de los feeds y a la compra de FeedBurner por parte de Google.</p>
<p>Si todavía crees que usar FeedBurner es una buena idea (yo nunca lo tuve claro) la forma más cómoda de configurarlo es <strong>modificando el archivo .htaccess</strong>, aunque también existen plugins específicos (por ejemplo el <a title="flagrantdisregard  &raquo; FD Feedburner Plugin for WordPress" target="_blank" href="http://flagrantdisregard.com/feedburner/">FD Feedburner Plugin</a>).</p>
<p>Se trata de añadir lo siguiente al .htaccess:</p>
<p><code>&lt;IfModule mod_rewrite.c&gt;<br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]<br />
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]<br />
RewriteRule ^feed/(.*)$ http://feeds2.feedburner.com/xxxxxx [R,L]<br />
&lt;/IfModule&gt;</code></p>
<p>Con lo anterior conseguimos que nuestro WordPress únicamente genere el feed para FeedBurner y que el resto de clientes (navegadores, arañas, etc.) sean redirigidos a la URL de FeedBurner.</p>
<p>Teóricamente este es el mejor método para usar FeedBurner ya que <strong>seguimos difundiendo la URL del feed original</strong> y así siempre podemos dejar de usar este servicio sin muchos inconvenientes. El problema está en que al haber la redirección muchos usuarios siguen el enlace del feed con el navegador y se suscriben a la URL del feed de FeedBurner&#8230; o sea que con el tiempo acabaremos con lectores suscritos a ambas URLs.</p>
<p>El método alternativo es modificar el theme de WordPress, o usar algún plugin, para difundir directamente la URL del feed de FeedBurner.</p>
<h4>Proxy de Google</h4>
<p>Si teníamos una cuenta en FeedBurner y la hemos migrado a Google recientemente, a parte del engorroso cambio de la URL del feed, quizás hemos notado que ahora la URL que difunde tu feed para cada post pasa por un proxy de Google.</p>
<p>En principio esto ya sucedía antes y el cambio únicamente es que ahora en lugar de pasar por <em>feeds.feedburner.com</em> pasa por <em>feedproxy.google.com</em> (aunque en mi caso antes de migrar la cuenta a Google no pasaba por ningún proxy, tengo caché, lo puedo demostrar :)</p>
<p>En cualquier caso si queremos <strong>desactivar completamente el proxy de Google</strong> hemos de cambiar la configuración de nuestro feed en FeedBurner. Concretamente se trata de desactivar la opción &#8220;Item link clicks&#8221; de la sección &#8220;TotalStats&#8221; dentro de la pestaña &#8220;Analize&#8221;. Con esto seguiremos teniendo estadísticas de número de lectores e ítems vistos (información más que suficiente) pero difundiremos siempre la URL original de cada post, algo <strong>muy recomendable para SEO</strong> (como bien <a title="Feedburner y permalinks &#8220;robadores&#8221; de posicionamiento | SigT" target="_blank" href="http://sigt.net/archivo/feedburner-y-permalinks-robadores-de-posicionamiento.xhtml">nos explicaba Armonth</a> hace tiempo).</p>
<p>Así es como debería quedar la configuración en FeedBurner:</p>
<p><img src="http://www.phpbsd.net/wp-content/images/snapshot_feedburner.jpg" alt="FeedBurner snapshot" /></p>


<p>Entradas relacionadas:<ul><li><a href='http://www.phpbsd.net/2007/01/28/usando-mod_rewrite-y-feedburner-para-las-feeds-de-un-blog-con-wordpress/' rel='bookmark' title='Permanent Link: Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress'>Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress</a></li><li><a href='http://www.phpbsd.net/2009/02/21/actualizar-un-wordpress-a-la-ultima-version/' rel='bookmark' title='Permanent Link: Actualizar un WordPress a la última versión'>Actualizar un WordPress a la última versión</a></li><li><a href='http://www.phpbsd.net/2007/06/07/internacionalizacion-de-temas-en-wordpress-usando-gettext/' rel='bookmark' title='Permanent Link: Internacionalización de temas en WordPress usando gettext'>Internacionalización de temas en WordPress usando gettext</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpbsd.net/2009/04/10/wordpress-con-el-feedburner-de-google-y-su-maldito-proxy/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Actualizar un WordPress a la última versión</title>
		<link>http://www.phpbsd.net/2009/02/21/actualizar-un-wordpress-a-la-ultima-version/</link>
		<comments>http://www.phpbsd.net/2009/02/21/actualizar-un-wordpress-a-la-ultima-version/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 14:26:57 +0000</pubDate>
		<dc:creator>Oriol</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[webmaster]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.phpbsd.net/?p=99</guid>
		<description><![CDATA[Es un procedimiento muy sencillo que está perfectamente detallado en la documentación de WordPress aunque quizás faltan un par de puntos por explicar un poco mejor.
Si nuestra intención es hacer borrón y cuenta nueva con nuestro blog eliminando todos los archivos pero conservando la base de datos los pasos a seguir son los siguientes:
[1] Como [...]


Entradas relacionadas:<ul><li><a href='http://www.phpbsd.net/2007/06/07/internacionalizacion-de-temas-en-wordpress-usando-gettext/' rel='bookmark' title='Permanent Link: Internacionalización de temas en WordPress usando gettext'>Internacionalización de temas en WordPress usando gettext</a></li><li><a href='http://www.phpbsd.net/2007/10/09/titulos-un-poco-mas-seo-y-en-espanol-para-wordpress/' rel='bookmark' title='Permanent Link: Títulos un poco más SEO y en español para WordPress'>Títulos un poco más SEO y en español para WordPress</a></li><li><a href='http://www.phpbsd.net/2007/01/28/usando-mod_rewrite-y-feedburner-para-las-feeds-de-un-blog-con-wordpress/' rel='bookmark' title='Permanent Link: Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress'>Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Es un procedimiento muy sencillo que está perfectamente detallado en la <a target="_blank" title="Upgrading WordPress Extended &laquo; WordPress Codex" href="http://codex.wordpress.org/Upgrading_WordPress_Extended">documentación de WordPress</a> aunque quizás faltan un par de puntos por explicar un poco mejor.</p>
<p>Si nuestra intención es hacer <strong>borrón y cuenta nueva con nuestro blog</strong> eliminando todos los archivos pero conservando la base de datos los pasos a seguir son los siguientes:</p>
<p><strong>[1]</strong> Como siempre antes de empezar cualquier tarea parecida <strong>backup de todo</strong>. Incluso es buena idea montar el blog entero en otro sitio para después poder comparar el viejo con el nuevo.</p>
<p><strong>[2]</strong> Desactivamos todos los plugins y seleccionamos el tema por defecto. Aunque en nuestro caso como tenemos intención de borrar todos los archivos el nuevo WordPress desactivará todo lo que no encuentre.</p>
<p><strong>[3]</strong> Borramos todos los archivos anteriores. Si tenemos el wordpress mezclado con otras cosas el comando en cuestión es algo como:</p>
<p><code>$ rm -rf index.php license.txt readme.html wp-* xmlrpc.php</code></p>
<p><strong>[4]</strong> Descomprimimos la última versión de WordPress en el mismo sitio donde teníamos la anterior.</p>
<p><strong>[5]</strong> Editamos el nuevo <em>wp-config.php</em> y añadimos los datos de conexión y nombre de la BD.</p>
<p><strong>[6]</strong> Comprobamos en qué codificación está trabajando nuestro WordPress. Por ejemplo con:</p>
<p><code>mysql> show create table wp_posts;</code></p>
<p>Nos fijamos en el CHARSET utilizado y definimos DB_CHARSET con el mismo valor. En el caso de ser "utf8" no tenemos que tocar nada pero si estamos con "latin1" es necesario indicarlo en <em>wp-config.php</em> con:</p>
<div class="syntax_hilite">
<div id="php-2">
<div class="php"><a href="http://www.php.net/define"><span style="color:#000066;">define</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'DB_CHARSET'</span>, <span style="color:#FF0000;">'latin1'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</div>
</div>
<p></p>
<p><strong>[7]</strong> Iniciamos el programa de actualización apuntando el navegador a la URL habitual del dashborad (p.e. http://tublog.es/wp-admin/)</p>
<p><strong>[8]</strong> Automáticamente aparecerá un mensaje diciendo que debemos proceder con la actualización de la BD. Hacemos clic en "Siguiente" y cruzamos los dedos... si todo va bien te aparecerá algo como "Update successful".</p>
<p><strong>[9]</strong> WordPress casi actualizado!</p>
<p>Digo casi porque casi seguro vamos a necesitar realizar alguno de lo siguientes pasos adicionales:</p>
<ul>
<li>Si habíamos subido archivos al WordPress utilizando su dashboard hemos de copiar la anterior carpeta <em>wp-content/uploads</em> a la nueva instalación.</li>
<li>Si trabajábamos con algún plugin para los tags debemos lanzar la importación manualmente desde el dashboard, por ejemplo en el caso del UTW desde "Herramientas" -> "Importar" -> "Ultimate Tag Warrior".</li>
<li>Si ha pasado mucho tiempo desde la última actualización no es mala idea repasarse las opciones de configuración de WordPress y comprobar que todo está ok, especialmente la sección de Permalinks.</li>
<li>Como hemos empezado de nuevo en lo que a código PHP se refiere es necesario volver a instalar los plugins que echemos en falta y un tema que nos guste. Por supuesto descargando las últimas versiones de todo y no aprovechando nada del anterior WP para así sacar el máximo partido de las nuevas funcionalidades (en parte uno de los objetivos del procedimiento descrito en este post).</li>
</ul>


<p>Entradas relacionadas:<ul><li><a href='http://www.phpbsd.net/2007/06/07/internacionalizacion-de-temas-en-wordpress-usando-gettext/' rel='bookmark' title='Permanent Link: Internacionalización de temas en WordPress usando gettext'>Internacionalización de temas en WordPress usando gettext</a></li><li><a href='http://www.phpbsd.net/2007/10/09/titulos-un-poco-mas-seo-y-en-espanol-para-wordpress/' rel='bookmark' title='Permanent Link: Títulos un poco más SEO y en español para WordPress'>Títulos un poco más SEO y en español para WordPress</a></li><li><a href='http://www.phpbsd.net/2007/01/28/usando-mod_rewrite-y-feedburner-para-las-feeds-de-un-blog-con-wordpress/' rel='bookmark' title='Permanent Link: Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress'>Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpbsd.net/2009/02/21/actualizar-un-wordpress-a-la-ultima-version/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHPBSD.net actualizado!</title>
		<link>http://www.phpbsd.net/2009/02/18/phpbsdnet-actualizado/</link>
		<comments>http://www.phpbsd.net/2009/02/18/phpbsdnet-actualizado/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 21:21:57 +0000</pubDate>
		<dc:creator>Oriol</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[phpbsd]]></category>
		<category><![CDATA[webmaster]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.phpbsd.net/?p=96</guid>
		<description><![CDATA[Por fin me he sacado de encima una de las tareas pendientes más pesada que me había propuesto para este año: actualizar este blog a la última versión de WP, la 2.7.1.
Ahora que ya está hecho (y parece que todo funciona) confieso que he migrado desde una versión de WordPress 2.0.4 con más de 20 [...]


Entradas relacionadas:<ul><li><a href='http://www.phpbsd.net/2007/02/02/phpbsdnet-se-une-a-planet-webdev/' rel='bookmark' title='Permanent Link: PHPBSD.net se une a Planet Webdev'>PHPBSD.net se une a Planet Webdev</a></li><li><a href='http://www.phpbsd.net/2006/11/19/phpbsdnet-pasa-a-formar-parte-de-la-red-smallsquidcom/' rel='bookmark' title='Permanent Link: PHPBSD.net pasa a formar parte de la red SmallSquid.com'>PHPBSD.net pasa a formar parte de la red SmallSquid.com</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Por fin me he sacado de encima una de las tareas pendientes más pesada que me había propuesto para este año: <strong>actualizar este blog a la última versión de WP</strong>, la 2.7.1.</p>
<p>Ahora que ya está hecho (y parece que todo funciona) confieso que he migrado desde una versión de WordPress 2.0.4 con más de 20 plugins, modificaciones por todos sitios, etc. en definitiva ha sido todo un mini-proyecto por mi culpa, ya sabía yo que este día llegaría y que con la cantidad de modificaciones que le había hecho al anterior WP fliparía  :)</p>
<p>Decir que ha sido un borrón y cuenta nueva sólo conservando la base de datos, en un siguiente post ya contaré los detalles, pero por la parte que le toca a WP el proceso ha sido bastante limpio y sencillo a excepción de algún problema de codificación, ahora WP trabaja con UTF-8 por defecto.</p>
<p>PS: Todo sea para intentar darle algo más de vida a este blog.</p>


<p>Entradas relacionadas:<ul><li><a href='http://www.phpbsd.net/2007/02/02/phpbsdnet-se-une-a-planet-webdev/' rel='bookmark' title='Permanent Link: PHPBSD.net se une a Planet Webdev'>PHPBSD.net se une a Planet Webdev</a></li><li><a href='http://www.phpbsd.net/2006/11/19/phpbsdnet-pasa-a-formar-parte-de-la-red-smallsquidcom/' rel='bookmark' title='Permanent Link: PHPBSD.net pasa a formar parte de la red SmallSquid.com'>PHPBSD.net pasa a formar parte de la red SmallSquid.com</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpbsd.net/2009/02/18/phpbsdnet-actualizado/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Títulos un poco más SEO y en español para WordPress</title>
		<link>http://www.phpbsd.net/2007/10/09/titulos-un-poco-mas-seo-y-en-espanol-para-wordpress/</link>
		<comments>http://www.phpbsd.net/2007/10/09/titulos-un-poco-mas-seo-y-en-espanol-para-wordpress/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 14:41:23 +0000</pubDate>
		<dc:creator>Oriol</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[title-tags]]></category>
		<category><![CDATA[webmaster]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.phpbsd.net/2007/10/09/titulos-un-poco-mas-seo-y-en-espanol-para-wordpress/</guid>
		<description><![CDATA[Los títulos de las páginas son uno de los factores más importantes de cara a la optimización de un sitio web para los buscadores (SEO). Si tenemos un blog con WordPress la responsabilidad de tener unos buenos títulos recae en el archivo header.php de nuestro tema. El tema por defecto de WordPress (Kubrick), y la [...]


Entradas relacionadas:<ul><li><a href='http://www.phpbsd.net/2007/06/07/internacionalizacion-de-temas-en-wordpress-usando-gettext/' rel='bookmark' title='Permanent Link: Internacionalización de temas en WordPress usando gettext'>Internacionalización de temas en WordPress usando gettext</a></li><li><a href='http://www.phpbsd.net/2006/09/11/falta-poco-para-la-international-php-conference-2006/' rel='bookmark' title='Permanent Link: Falta poco para la International PHP Conference 2006'>Falta poco para la International PHP Conference 2006</a></li><li><a href='http://www.phpbsd.net/2006/10/31/un-poco-de-musica-para-freebsd/' rel='bookmark' title='Permanent Link: Un poco de música para FreeBSD'>Un poco de música para FreeBSD</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Los <strong>títulos de las páginas</strong> son uno de los factores más importantes de cara a la <strong>optimización de un sitio web para los buscadores</strong> (<a href="http://www.phpbsd.net/tag/seo/" title="Archivo de etiquetas de seo en PHPBSD.net">SEO</a>). Si tenemos un blog con WordPress la responsabilidad de tener unos buenos títulos recae en el archivo <em>header.php</em> de nuestro tema. El tema por defecto de WordPress (Kubrick), y la mayoría de themes que corren por ahí, generan unos títulos no muy buenos para el posicionamiento, a continuación describo una manera fácil de solucionar esto sin necesidad de ningún plugin.</p>
<p>Se trata de sustituir el código para los <strong>Title Tags</strong> que normalmente será algo parecido a esto:</p>
<div class="syntax_hilite">
<div id="php-6">
<div class="php">&lt;title&gt;&lt;?php bloginfo<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'name'</span><span style="color:#006600; font-weight:bold;">&#41;</span>; <span style="color:#000000; font-weight:bold;">?&gt;</span> <span style="color:#000000; font-weight:bold;">&lt;?php</span> <span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span> is_single<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#000000; font-weight:bold;">?&gt;</span> &amp;raquo; Blog Archive <span style="color:#000000; font-weight:bold;">&lt;?php</span> <span style="color:#006600; font-weight:bold;">&#125;</span> <span style="color:#000000; font-weight:bold;">?&gt;</span> <span style="color:#000000; font-weight:bold;">&lt;?php</span> wp_title<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; ?&gt;&lt;/title&gt;</div>
</div>
</div>
<p></p>
<p>por esto si tenemos WordPress 2.3:</p>
<div class="syntax_hilite">
<div id="php-7">
<div class="php">&lt;title&gt;&lt;?php<br />
<span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span>is_archive<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">'Archivo de '</span>;<br />
<span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span>is_tag<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">'etiquetas de '</span>;<br />
<a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <a href="http://www.php.net/trim"><span style="color:#000066;">trim</span></a><span style="color:#006600; font-weight:bold;">&#40;</span>wp_title<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">''</span>,<span style="color:#000000; font-weight:bold;">false</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
<span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span>is_search<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">'Resultados de b&amp;uacute;squeda de '</span>.<span style="color:#0000FF;">$s</span>;<br />
<span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span> !<span style="color:#006600; font-weight:bold;">&#40;</span>is_404<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> and <span style="color:#006600; font-weight:bold;">&#40;</span>is_search<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> or <span style="color:#006600; font-weight:bold;">&#40;</span>is_single<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> or <span style="color:#006600; font-weight:bold;">&#40;</span>is_page<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> or <span style="color:#006600; font-weight:bold;">&#40;</span>is_tag<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> or <span style="color:#006600; font-weight:bold;">&#40;</span>is_archive<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#41;</span> <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">' en '</span>;<br />
bloginfo<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'name'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
<span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span> is_home<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">' &amp;raquo; '</span>; bloginfo<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'description'</span><span style="color:#006600; font-weight:bold;">&#41;</span>; <span style="color:#006600; font-weight:bold;">&#125;</span><br />
?&gt;&lt;/title&gt;</div>
</div>
</div>
<p></p>
<p>o por esto si tenemos versiones anteriores:</p>
<div class="syntax_hilite">
<div id="php-8">
<div class="php">&lt;title&gt;&lt;?php<br />
<span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span>is_archive<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">'Archivo de '</span>;<br />
<a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <a href="http://www.php.net/trim"><span style="color:#000066;">trim</span></a><span style="color:#006600; font-weight:bold;">&#40;</span>wp_title<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">''</span>,<span style="color:#000000; font-weight:bold;">false</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
<span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.php.net/function_exists"><span style="color:#000066;">function_exists</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'is_tag'</span><span style="color:#006600; font-weight:bold;">&#41;</span> and is_tag<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">'Archivo de etiquetas de '</span>.<span style="color:#0000FF;">$tag</span>;<br />
<span style="color:#616100;">elseif</span> <span style="color:#006600; font-weight:bold;">&#40;</span>is_search<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">'Resultados de b&amp;uacute;squeda de '</span>.<span style="color:#0000FF;">$s</span>;<br />
<span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span> !<span style="color:#006600; font-weight:bold;">&#40;</span>is_404<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> and <span style="color:#006600; font-weight:bold;">&#40;</span>is_search<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> or <span style="color:#006600; font-weight:bold;">&#40;</span>is_single<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> or <span style="color:#006600; font-weight:bold;">&#40;</span>is_page<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> or <span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.php.net/function_exists"><span style="color:#000066;">function_exists</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'is_tag'</span><span style="color:#006600; font-weight:bold;">&#41;</span> and is_tag<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> or <span style="color:#006600; font-weight:bold;">&#40;</span>is_archive<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#41;</span> <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">' en '</span>;<br />
bloginfo<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'name'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;<br />
<span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span> is_home<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">' &amp;raquo; '</span>; bloginfo<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'description'</span><span style="color:#006600; font-weight:bold;">&#41;</span>; <span style="color:#006600; font-weight:bold;">&#125;</span><br />
?&gt;&lt;/title&gt;</div>
</div>
</div>
<p></p>
<p>Con esta modificación conseguimos los siguientes tipos de títulos:</p>
<ul>
<li>En la home: "<em>NOMBRE_DEL_BLOG</em> &raquo; <em>DESCRIPCIÓN_DEL_BLOG</em>"</li>
<li>En las categorías: "Archivo de <em>NOMBRE_CATEGORÍA</em> en <em>NOMBRE_DEL_BLOG</em>"</li>
<li>En las etiquetas: "Archivo de etiquetas de <em>NOMBRE_ETIQUETA</em> en <em>NOMBRE_DEL_BLOG</em>"</li>
<li>En los resultados de búsqueda: "Resultados de búsqueda de <em>TEXTO_BUSCADO</em> en <em>NOMBRE_DEL_BLOG</em>"</li>
<li>Para todos los posts y páginas: "<em>TÍTULO_ENTRADA</em> en <em>NOMBRE_DEL_BLOG</em>"</li>
</ul>
<p>Lo anterior está extraido del tema <a target="_blank" href="http://getk2.com/" title="K2">K2</a>, traducido al español y con algún retoque. Podría haber hecho un plugin, pero es tan sencillo y como igualmente sería necesario modificar el tema para llamar al plugin, que mira, modificas el tema y directamente introduces el código de lo que sería el plugin.</p>
<p>Si quieres tomarte más en serio la generación de los títulos o si eres perezoso existen plugins muy avanzados como <a target="_blank" href="http://www.netconcepts.com/seo-title-tag-plugin/" title="SEO Title Tag: A WordPress Plugin for SEO (Search Engine Optimization)">SEO Title Tag</a> y <a target="_blank" href="http://wp.uberdose.com/2007/03/24/all-in-one-seo-pack/" title="SEO for your Wordpress Blog">All in One SEO Pack</a>, este último también sirve para gestionar los <strong>Meta Tags</strong> "description" y "keywords" también muy importantes para SEO pero no tanto como los <strong>Title Tags</strong>.</p>


<p>Entradas relacionadas:<ul><li><a href='http://www.phpbsd.net/2007/06/07/internacionalizacion-de-temas-en-wordpress-usando-gettext/' rel='bookmark' title='Permanent Link: Internacionalización de temas en WordPress usando gettext'>Internacionalización de temas en WordPress usando gettext</a></li><li><a href='http://www.phpbsd.net/2006/09/11/falta-poco-para-la-international-php-conference-2006/' rel='bookmark' title='Permanent Link: Falta poco para la International PHP Conference 2006'>Falta poco para la International PHP Conference 2006</a></li><li><a href='http://www.phpbsd.net/2006/10/31/un-poco-de-musica-para-freebsd/' rel='bookmark' title='Permanent Link: Un poco de música para FreeBSD'>Un poco de música para FreeBSD</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpbsd.net/2007/10/09/titulos-un-poco-mas-seo-y-en-espanol-para-wordpress/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Internacionalización de temas en WordPress usando gettext</title>
		<link>http://www.phpbsd.net/2007/06/07/internacionalizacion-de-temas-en-wordpress-usando-gettext/</link>
		<comments>http://www.phpbsd.net/2007/06/07/internacionalizacion-de-temas-en-wordpress-usando-gettext/#comments</comments>
		<pubDate>Thu, 07 Jun 2007 17:24:32 +0000</pubDate>
		<dc:creator>Oriol</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[gettext]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[webmaster]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.phpbsd.net/2007/06/07/internacionalizacion-de-temas-en-wordpress-usando-gettext/</guid>
		<description><![CDATA[WordPress está disponible en varios idiomas gracias al sistema de localización GNU gettext. Dentro del código de WordPress nos encontramos dos funciones para hacer el trabajo con gettext mucho más sencillo y así poder programar plugins y temas multi-idioma, estas funciones son las mismas que usa internamente el propio WordPress. A pesar de disponer de [...]


Entradas relacionadas:<ul><li><a href='http://www.phpbsd.net/2007/01/28/usando-mod_rewrite-y-feedburner-para-las-feeds-de-un-blog-con-wordpress/' rel='bookmark' title='Permanent Link: Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress'>Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress</a></li><li><a href='http://www.phpbsd.net/2009/02/21/actualizar-un-wordpress-a-la-ultima-version/' rel='bookmark' title='Permanent Link: Actualizar un WordPress a la última versión'>Actualizar un WordPress a la última versión</a></li><li><a href='http://www.phpbsd.net/2007/12/04/mediawiki-con-urls-cortas-usando-mod_rewrite/' rel='bookmark' title='Permanent Link: MediaWiki con URLs cortas usando mod_rewrite'>MediaWiki con URLs cortas usando mod_rewrite</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>WordPress está disponible en varios idiomas gracias al sistema de localización <a target="_blank" href="http://www.gnu.org/software/gettext/gettext.html" title="gettext - GNU Project - Free Software Foundation (FSF)">GNU gettext</a>. Dentro del código de WordPress nos encontramos dos funciones para hacer el trabajo con gettext mucho más sencillo y así poder programar <strong>plugins y temas multi-idioma</strong>, estas funciones son las mismas que usa internamente el propio WordPress. A pesar de disponer de estas facilidades es muy frecuente encontrarse temas en un único idioma, es cierto que hacer temas multi-idioma añade un coste extra a la confección de un tema, pero en mi opinión es algo que merece la pena si queremos dar <strong>mucha más visibilidad a nuestro trabajo</strong>. A continuación describo como usar estos mecanismos que proporciona el WordPress para realizar un tema multi-idioma.</p>
<p><strong>[1] Escoger un nombre para el "dominio".</strong> Se trata de escoger un nombre para todo el conjunto de traducciones, normalmente el mismo nombre del tema nos servirá, lo único a tener en cuenta es que ha de ser un nombre único entre todos los temas y plugins instalados.</p>
<p><strong>[2] Modificar las plantillas.</strong> Se trata de usar unas determinadas funciones PHP para sacar por pantalla cualquier cadena de texto que tengamos en nuestras plantillas.</p>
<p>Las funciones son <em>_e($texto)</em> y <em>__($texto)</em>. Estas funciones buscan una traducción de <em>$texto</em> en el catálogo usando como índice el texto pasado y si no la encuentran devuelven <em>$texto</em> sin modificar, el idioma a traducir lo define la constante <em>WPLANG</em> (en wp-config.php). La única diferencia entre las dos funciones es que <em>__()</em> devuelve con un <em>return()</em> el texto traducido y <em>_e()</em> lo imprime por pantalla con un <em>echo()</em>.</p>
<p>Un ejemplo de <em>__e()</em>:</p>
<div class="syntax_hilite">
<div id="php-17">
<div class="php">&lt;h2&gt;About&lt;/h2&gt;</div>
</div>
</div>
<p></p>
<p>por:</p>
<div class="syntax_hilite">
<div id="php-18">
<div class="php">&lt;h2&gt;&lt;?php _e<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'About'</span>,<span style="color:#FF0000;">'ejemplo_domain'</span><span style="color:#006600; font-weight:bold;">&#41;</span>; ?&gt;&lt;/h2&gt;</div>
</div>
</div>
<p></p>
<p>Un ejemplo de <em>__()</em>:</p>
<div class="syntax_hilite">
<div id="php-19">
<div class="php">the_content<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'Read the rest of this entry'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</div>
</div>
<p></p>
<p>por:</p>
<div class="syntax_hilite">
<div id="php-20">
<div class="php">the_content<span style="color:#006600; font-weight:bold;">&#40;</span>__<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'Read the rest of this entry'</span>,<span style="color:#FF0000;">'ejemplo_domain'</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</div>
</div>
<p></p>
<p>Para la correcta traducción de las frases en ocasiones es necesario usar <em>printf()</em> o <em>sprinf()</em> junto con <em>__()</em>. Por ejemplo:</p>
<div class="syntax_hilite">
<div id="php-21">
<div class="php"><a href="http://www.php.net/printf"><span style="color:#000066;">printf</span></a><span style="color:#006600; font-weight:bold;">&#40;</span>__<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'You are currently browsing the %1$s weblog archives for the %2$s category.'</span>,<span style="color:#FF0000;">'ejemplo_domain'</span><span style="color:#006600; font-weight:bold;">&#41;</span>, get_settings<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'siteurl'</span><span style="color:#006600; font-weight:bold;">&#41;</span>, single_cat_title<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">''</span>,<span style="color:#000000; font-weight:bold;">false</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</div>
</div>
<p></p>
<p>Esto permite que el traductor entienda más el significado de la frase que si la troceamos con varios <em>_e()</em>, también permite cambiar el orden de las variables (<em>%1$s</em> y <em>%2$s</em>) si nuestro idioma lo requiere.</p>
<p>A parte de los textos que se mostrarán por pantalla tenemos otros strings importantes a internacionalizar, son los que definen el formato de las fechas. Por ejemplo:</p>
<div class="syntax_hilite">
<div id="php-22">
<div class="php">the_time<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'l, F jS, Y'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</div>
</div>
<p></p>
<p>por:</p>
<div class="syntax_hilite">
<div id="php-23">
<div class="php">the_time<span style="color:#006600; font-weight:bold;">&#40;</span>__<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'l, F jS, Y'</span><span style="color:#006600; font-weight:bold;">&#41;</span>,<span style="color:#FF0000;">'ejemplo_domain'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</div>
</div>
<p></p>
<p><strong>[3] Crear el catálogo de traducciones.</strong> Existen varios programas para trabajar con archivos POT, a continuación describo brevemente como usar <a target="_blank" href="http://www.poedit.org/" title="www.poedit.org - DefaultHomePage">poEdit</a> para generar el archivo POT y MO a partir de las plantillas anteriormente modificadas.</p>
<ul>
<li>Instalamos poEdit.</li>
<li>Configuraciones iniciales como nuestro nombre, etc. en "File -> Preferences".</li>
<li>Creamos un nuevo catálogo con "File -> New Catalog". En el cuadro de diálogo que aparece:
<ul>
<li>En "Project Info" introducimos el nombre del proyecto, idioma, etc. y la codificación utf-8 (por defecto en todo WP).</li>
<li>En "Paths" añadimos un único path, el ".".</li>
<li>En "Keywords" añadimos los nombres de las funciones usadas para trabajar con gettext, "__e" y "__" (sin las comillas).</li>
</ul>
</li>
<li>Lo siguiente es generar el catálogo. Es necesario guardarlo en el mismo directorio que los archivos del tema y ponerle el nombre del locale deseado (p.e. es_ES).</li>
</ul>
<p>Si todo ha ido bien poEdit escaneará todas nuestras plantillas y generará un archivo POT listo para empezar a traducir. Cada vez que se guarda el catálogo se generará automáticamente el MO, que es el que realmente usa el código PHP, a no ser que configuremos lo contrario en "Preferences".</p>
<p><strong>[4] Cargar las traducciones desde el tema.</strong> Ahora sólo falta que nuestro tema cargue el catálogo apropiado dependiendo del idioma definido, esto lo conseguimos añadiendo lo siguiente antes de cualquier llamada a <em>__()</em> o <em>_e()</em>, un buen lugar es al principio del index.php o del header.php:</p>
<div class="syntax_hilite">
<div id="php-24">
<div class="php">load_theme_textdomain<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'ejemplo_domain'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</div>
</div>
<p></p>
<p><strong>[5] Listos!</strong> En el siguiente acceso a nuestro blog veremos todas las frases traducidas.</p>
<p>Aunque el procedimiento descrito está centrado en WP y las funciones que nos brinda para la internacionalización es muy parecido al uso de otros sistemas basados en gettext, como plugins Smarty, o al uso directo de las <a target="_blank" href="http://www.php.net/manual/es/ref.gettext.php" title="PHP: Gettext - Manual">funciones gettext del PHP</a>.</p>
<p>Si quieres más información puedes consultar los capítulos <a target="_blank" href="http://codex.wordpress.org/Translating_WordPress" title="Translating WordPress &laquo; WordPress Codex">Traduciendo WordPress</a> y <a target="_blank" href="http://codex.wordpress.org/Writing_a_Plugin" title="Writing a Plugin &laquo; WordPress Codex">Escribiendo un Plugin</a> de la documentación de WordPress.</p>


<p>Entradas relacionadas:<ul><li><a href='http://www.phpbsd.net/2007/01/28/usando-mod_rewrite-y-feedburner-para-las-feeds-de-un-blog-con-wordpress/' rel='bookmark' title='Permanent Link: Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress'>Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress</a></li><li><a href='http://www.phpbsd.net/2009/02/21/actualizar-un-wordpress-a-la-ultima-version/' rel='bookmark' title='Permanent Link: Actualizar un WordPress a la última versión'>Actualizar un WordPress a la última versión</a></li><li><a href='http://www.phpbsd.net/2007/12/04/mediawiki-con-urls-cortas-usando-mod_rewrite/' rel='bookmark' title='Permanent Link: MediaWiki con URLs cortas usando mod_rewrite'>MediaWiki con URLs cortas usando mod_rewrite</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpbsd.net/2007/06/07/internacionalizacion-de-temas-en-wordpress-usando-gettext/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Usando mod_rewrite y FeedBurner para las feeds de un blog con WordPress</title>
		<link>http://www.phpbsd.net/2007/01/28/usando-mod_rewrite-y-feedburner-para-las-feeds-de-un-blog-con-wordpress/</link>
		<comments>http://www.phpbsd.net/2007/01/28/usando-mod_rewrite-y-feedburner-para-las-feeds-de-un-blog-con-wordpress/#comments</comments>
		<pubDate>Sun, 28 Jan 2007 02:21:31 +0000</pubDate>
		<dc:creator>Oriol</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[feedburner]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rewrite-engine]]></category>
		<category><![CDATA[webmaster]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.phpbsd.net/2007/01/28/usando-mod_rewrite-y-feedburner-para-las-feeds-de-un-blog-con-wordpress/</guid>
		<description><![CDATA[Los feeds son una de las formas más prácticas de mantenerse al día de los últimos updates de nuestros blogs favoritos. Usando sistemas como Bloglines puedes llegar a estar suscrito a centenares de feeds.
Si tenemos un blog con un poco de tráfico es muy probable que ya tengamos suscritas unas cuantas personas al feed del [...]


Entradas relacionadas:<ul><li><a href='http://www.phpbsd.net/2009/04/10/wordpress-con-el-feedburner-de-google-y-su-maldito-proxy/' rel='bookmark' title='Permanent Link: WordPress con el FeedBurner de Google y su maldito proxy'>WordPress con el FeedBurner de Google y su maldito proxy</a></li><li><a href='http://www.phpbsd.net/2007/12/04/mediawiki-con-urls-cortas-usando-mod_rewrite/' rel='bookmark' title='Permanent Link: MediaWiki con URLs cortas usando mod_rewrite'>MediaWiki con URLs cortas usando mod_rewrite</a></li><li><a href='http://www.phpbsd.net/2006/11/26/hostgator-y-feedburner-un-poco-de-velocidad-para-este-blog/' rel='bookmark' title='Permanent Link: HostGator y FeedBurner, un poco de velocidad para este blog'>HostGator y FeedBurner, un poco de velocidad para este blog</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Los feeds son una de las formas más prácticas de mantenerse al día de los últimos updates de nuestros blogs favoritos. Usando sistemas como Bloglines puedes llegar a estar suscrito a centenares de feeds.</p>
<p>Si tenemos un blog con un poco de tráfico es muy probable que ya tengamos suscritas unas cuantas personas al feed del blog. Los lectores pueden hacer un check de nuestras feeds en un intervalo de 10 a 30 minutos. Esto con unas 30 o 50 personas suscritas suponen unas 3000 peticiones diarias o más.</p>
<p>Se ha de sumar también que dependiendo de donde tengas presencia con tu blog puedes tener unas 5 o 10 arañas de buscadores consultando el feed. Sin ánimo de hacer publicidad una muy buena solución para quitarnos de encima esta carga es usar <a title="Hello, our name is FeedBurner" target="_blank" href="http://www.feedburner.com/">FeedBurner</a>. A parte de que ofrece varios servicios interesantes (contadores, estadísticas, etc.).</p>
<p>Puedes fácilmente crearte una cuenta en FeedBurner y agregar tantos feeds como quieras. La idea es que sólo FeedBurner recoja los feeds de tu blog y las peticiones de todos los demás las sirva FeedBurner.</p>
<p>Una manera muy sencilla de conseguir lo anterior es con el uso de mod_rewrite. Esto proporciona dos ventajas, una que no necesitamos modificar absolutamente nada de nuestro blog y la otra que si algún día no queremos seguir con FeedBurner la URL de los feeds que difundimos es la original y no tendremos ningún problema. Otra opción es modificar la plantilla de nuestro blog para que informe de la URL de FeedBurner, pero no podremos cancelar la cuenta con FeedBurner sin perder lectores.</p>
<p>Las reglas para el .htaccess son las siguientes:</p>
<p><code>&lt;IfModule mod_rewrite.c&gt;<br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{HTTP_USER_AGENT} FeedBurner<br />
RewriteRule ^feed/(.*)$ /wp-feed.php?feed=$1 [L,QSA]<br />
RewriteCond %{HTTP_USER_AGENT} !FeedBurner<br />
RewriteRule ^feed/(.*)$ http://feeds.feedburner.com/phpbsd [R,L]<br />
&lt;/IfModule&gt;</code></p>
<p>Con lo anterior dejamos que FeedBurner acceda a los feeds generados por nuestro WordPress y todos los demás navegadores (o arañas de buscadores) los redireccionamos a FeedBurner.</p>
<p>Modificando las anteriores reglas puedes redireccionar otras feeds a FeedBurner que no sean la principal. Por ejemplo para las feeds de un tag específico (si tienes el <a title="Neato &raquo; Ultimate Tag Warrior 3" target="_blank" href="http://www.neato.co.nz/ultimate-tag-warrior/">UTW</a>):</p>
<p><code>RewriteCond %{HTTP_USER_AGENT} !FeedBurner<br />
RewriteRule ^tag/php/feed/(.*)$ http://feeds.feedburner.com/phpbsd/php [R,L]</code></p>
<p>Con todas las reglas de rewrite anteriores se asume que tenemos configurado WordPress para generar las feeds ante una URL terminada con "/feed/" y que hemos configurado las feeds correspondientes en FeedBurner.</p>
<p>Para más información tienes <a title="Using FeedBurner &laquo; WordPress Codex" target="_blank" href="http://codex.wordpress.org/Using_FeedBurner">la ayuda en wordpress.org</a> y la <a title="FeedBurner Support :: View topic - Pointing an existing feed URL at your new FeedBurner URL" target="_blank" href="http://forums.feedburner.com/viewtopic.php?t=17">discusión en el foro</a> correspondiente, también existen algunos plugins relacionados.</p>


<p>Entradas relacionadas:<ul><li><a href='http://www.phpbsd.net/2009/04/10/wordpress-con-el-feedburner-de-google-y-su-maldito-proxy/' rel='bookmark' title='Permanent Link: WordPress con el FeedBurner de Google y su maldito proxy'>WordPress con el FeedBurner de Google y su maldito proxy</a></li><li><a href='http://www.phpbsd.net/2007/12/04/mediawiki-con-urls-cortas-usando-mod_rewrite/' rel='bookmark' title='Permanent Link: MediaWiki con URLs cortas usando mod_rewrite'>MediaWiki con URLs cortas usando mod_rewrite</a></li><li><a href='http://www.phpbsd.net/2006/11/26/hostgator-y-feedburner-un-poco-de-velocidad-para-este-blog/' rel='bookmark' title='Permanent Link: HostGator y FeedBurner, un poco de velocidad para este blog'>HostGator y FeedBurner, un poco de velocidad para este blog</a></li></ul></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpbsd.net/2007/01/28/usando-mod_rewrite-y-feedburner-para-las-feeds-de-un-blog-con-wordpress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
