<?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>BuddyPress, WordPress, Asesoramiento, hosting, implantaciones, traducciones y ayuda. BuddyPress y Wordpress Español &#187; optimizar</title>
	<atom:link href="http://www.bp-es.com/noticias/tag/optimizar/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bp-es.com</link>
	<description>Hosting BuddyPress wordpress bbpress</description>
	<lastBuildDate>Wed, 19 Oct 2011 08:55:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Optimiza MySQL facilmente sin ser un experto</title>
		<link>http://www.bp-es.com/noticias/2010/05/18/optimiza-mysql-facilmente-sin-ser-un-experto/</link>
		<comments>http://www.bp-es.com/noticias/2010/05/18/optimiza-mysql-facilmente-sin-ser-un-experto/#comments</comments>
		<pubDate>Tue, 18 May 2010 11:29:46 +0000</pubDate>
		<dc:creator>j.conti</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[avanzados]]></category>
		<category><![CDATA[configurar]]></category>
		<category><![CDATA[facil]]></category>
		<category><![CDATA[facilmente]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[optimizar]]></category>
		<category><![CDATA[principiantes]]></category>

		<guid isPermaLink="false">http://www.buddypress-es.com/?p=1545</guid>
		<description><![CDATA[Quizás, una de los apartados más críticos en la configuración de un servidor, es la optimización de MySQL. El quedarse corto o pasarse, significará el desaprovechar recursos, quitándoselos a otras tareas o quedarse corto y que el servidor vaya muy lento e incluso caiga. Quizás es una de las tareas más tediosas que hay. He [...]]]></description>
			<content:encoded><![CDATA[<p>Quizás, una de los apartados más críticos en la configuración de un servidor, es la optimización de MySQL.</p>
<p>El quedarse corto o pasarse, significará el desaprovechar recursos, quitándoselos a otras tareas o quedarse corto y que el servidor vaya muy lento e incluso caiga.</p>
<p>Quizás es una de las tareas más tediosas que hay.</p>
<p>He estado buscando durante mucho tiempo algo que me facilitara la vida para optimizar MySQL tanto en mis servidores como en<span id="more-1545"></span> los VPS, Servidores Híbridos y Dedicados de mis clientes.</p>
<p>Normalmente, hay que ir haciendo ajustes en estos para que estén al 100%, no es realizarlo una vez y te olvidas de por vida. SI las necesidades de estos disminuyen o aumentan, hay que ajustarlos de nuevo.</p>
<p>La pesadilla, siempre a sido referente a MySQL.</p>
<p>Después de buscar mucho tiempo, he encontrado un script que es una auténtica maravilla.</p>
<p>El script lo encontrareis en esta página:</p>
<p><a title="http://www.day32.com/MySQL/" href="http://www.day32.com/MySQL/" target="_blank">http://www.day32.com/MySQL/</a></p>
<p>Si tenis un VPS o Dedicado, os facilitará la vida muchísimo.</p>
<p>Las instrucciones que voy a dar, son referentes a una instalación en CentOS.</p>
<p>Sirve si tenéis instalado cPanel en él.</p>
<p>Lo primero que deberemos hacer es acceder al servidor por SSH</p>
<p>Una vez que estemos conectados, escribimos:</p>
<pre class="brush: php; title: ; notranslate">
wget http://www.day32.com/MySQL/tuning-primer.sh
</pre>
<p>Con esto, nos descargaremos el script</p>
<p>Para que funcione bien este script, deberemos tener instalado bc, por lo tanto, escribiremos:</p>
<pre class="brush: php; title: ; notranslate">
yum install bc
</pre>
<p>Lo anterior nos instalará bc.</p>
<p>Una vez que lo tengamos instalado, escribimos:</p>
<pre class="brush: php; title: ; notranslate">
sh tuning-primer.sh
</pre>
<p>Debemos estar en el mismo directorio que el archivo.</p>
<p>El script se pondrá en marcha.</p>
<p>Os aconsejo que abráis otra conexión SSH, de esta forma, en una tendréis el script y en la otra podremos configurar MySQL.</p>
<p>Cuando el script finalice, os mostrará algo así (os pongo una imagen, ya que es mucho más clarificadora por los colores):</p>
<p style="text-align: center;"><a href="http://www.bp-es.com/wp-content/uploads/2010/05/mysql.jpg"></a><a href="http://www.bp-es.com/wp-content/uploads/2010/05/mysql1.jpg"><img class="aligncenter size-large wp-image-1546" title="mysql" src="http://www.bp-es.com/wp-content/uploads/2010/05/mysql1-592x1024.jpg" alt="" width="355" height="614" /></a></p>
<p>Y aquí el texto completo que nos muestra:</p>
<pre class="brush: php; title: ; notranslate">
-- MYSQL PERFORMANCE TUNING PRIMER --
- By: Matthew Montgomery -

MySQL Version 5.0.90-community x86_64

Uptime = 0 days 14 hrs 6 min 16 sec
Avg. qps = 2
Total Questions = 102107
Threads Connected = 2

Warning: Server has not been running for at least 48hrs.
It may not be safe to use these recommendations

To find out more information on how each of these
runtime variables effects performance visit:

http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html

Visit http://www.mysql.com/products/enterprise/advisors.html
for info about MySQL's Enterprise Monitoring and Advisory Service

SLOW QUERIES
The slow query log is NOT enabled.
Current long_query_time = 10 sec.
You have 4 out of 102128 that take longer than 10 sec. to complete
Your long_query_time seems to be fine

BINARY UPDATE LOG
The binary update log is NOT enabled.
You will not be able to do point in time recovery
See http://dev.mysql.com/doc/refman/5.0/en/point-in-time-recovery.html

WORKER THREADS
Current thread_cache_size = 1024
Current threads_cached = 5
Current threads_per_sec = 0
Historic threads_per_sec = 0
Your thread_cache_size is fine

MAX CONNECTIONS
Current max_connections = 100
Current threads_connected = 3
Historic max_used_connections = 8
The number of used connections is 8% of the configured maximum.
You are using less than 10% of your configured max_connections.
Lowering max_connections could help to avoid an over-allocation of memory
See &quot;MEMORY USAGE&quot; section to make sure you are not over-allocating

No InnoDB Support Enabled!

MEMORY USAGE
Max Memory Ever Allocated : 542 M
Configured Max Per-thread Buffers : 400 M
Configured Max Global Buffers : 510 M
Configured Max Memory Limit : 910 M
Physical Memory : 31.37 G
Max memory limit seem to be within acceptable norms

KEY BUFFER
Current MyISAM index space = 73 M
Current key_buffer_size = 250 M
Key cache miss rate is 1 : 58
Key buffer free ratio = 81 %
Your key_buffer_size seems to be fine

QUERY CACHE
Query cache is enabled
Current query_cache_size = 250 M
Current query_cache_used = 14 M
Current query_cache_limit = 4 M
Current Query cache Memory fill ratio = 5.73 %
Current query_cache_min_res_unit = 4 K
Your query_cache_size seems to be too high.
Perhaps you can use these resources elsewhere
MySQL won't cache query results that are larger than query_cache_limit in size

SORT OPERATIONS
Current sort_buffer_size = 1 M
Current read_rnd_buffer_size = 768 K
Sort buffer seems to be fine

JOINS
Current join_buffer_size = 1.00 M
You have had 11 queries where a join could not use an index properly
You should enable &quot;log-queries-not-using-indexes&quot;
Then look for non indexed joins in the slow query log.
If you are unable to optimize your queries you may want to increase your
join_buffer_size to accommodate larger joins in one pass.

Note! This script will still suggest raising the join_buffer_size when
ANY joins not using indexes are found.

OPEN FILES LIMIT
Current open_files_limit = 8302 files
The open_files_limit should typically be set to at least 2x-3x
that of table_cache if you have heavy MyISAM usage.
You currently have open more than 75% of your open_files_limit
You should set a higher value for open_files_limit in my.cnf

TABLE CACHE
Current table_cache value = 4096 tables
You have a total of 13106 tables
You have 4096 open tables.
Current table_cache hit rate is 6%
, while 100% of your table cache is in use
You should probably increase your table_cache

TEMP TABLES
Current max_heap_table_size = 32 M
Current tmp_table_size = 32 M
Of 1472 temp tables, 43% were created on disk
Perhaps you should increase your tmp_table_size and/or max_heap_table_size
to reduce the number of disk-based temporary tables
Note! BLOB and TEXT columns are not allow in memory tables.
If you are using these columns raising these values might not impact your
ratio of on disk temp tables.

TABLE SCANS
Current read_buffer_size = 1 M
Current table scan ratio = 32 : 1
read_buffer_size seems to be fine

TABLE LOCKING
Current Lock Wait ratio = 1 : 696
You may benefit from selective use of InnoDB.
If you have long running SELECT's against MyISAM tables and perform
frequent updates consider setting 'low_priority_updates=1'
If you have a high concurrency of inserts on Dynamic row-length tables
consider setting 'concurrent_insert=2'.
</pre>
<p>Cómo podéis ver, lo que hace es hacer un estudio de como ha estado funcionando MySQL y da consejos sobre parámetros que debemos tocar.</p>
<p>Una vez que nos muestra el resultado, deberemos realizar las modificaciones aconsejadas por el script.</p>
<p>Para ello, en la otra ventana que tenemos una conexión activa SSH escribimos:</p>
<pre class="brush: php; title: ; notranslate">
cp /etc/my.cnf /etc/my.cnfBACKUP
</pre>
<p>Con lo anterior realizamos una copia de seguridad que no está de más.</p>
<pre class="brush: php; title: ; notranslate">
vi /etc/my.cnf
</pre>
<p>Esto nos abrirá el archivo de configuración de MySQL.</p>
<p>Lo abro con vi, ya que es el que más me gusta, pero podéis realizar las modificaciones con el que más os guste.</p>
<p>Una vez abierto, para los que no estén familiarizados con vi, debéis apretar en el teclado la tecla “Insert”, de esta forma podréis escribir en el archivo.</p>
<p>Realizar las modificaciones que os aconseje el script.</p>
<p>Una vez que las hayáis realizado, apretar el botón “Escape” y escribir:</p>
<p><strong>:w</strong></p>
<p>Esto guardará las modificaciones.</p>
<p>Una vez realizadas las modificaciones, apretar:</p>
<p><strong>:q</strong></p>
<p>Lo anterior os sacará del editor.</p>
<p>Una cosa importante, ya que hay veces que sucede.</p>
<p>Si borras más cosas de la cuenta y no sabes que has borrado, lo mejor es que salgas sin guardar. Para salir sin guardar debéis escribir:</p>
<p><strong>:q!</strong></p>
<p>Acordaros de apretar la tecla “escape” antes, o no tendrá efecto, estaréis escribiendo el el archivo.</p>
<p>Una vez que hayáis realizado los cambios y los hayáis guardado, hay que reiniciar el servidor MySQL.</p>
<p>Si usáis WHM/cPanel, ir a WHM y en “<strong>Restart Services”</strong> Apretar sobre “<strong>S</strong>QL Server (MySQL)”</p>
<p>Si no usais WHM, escribir en la consola:</p>
<pre class="brush: php; title: ; notranslate">
/etc/init.d/mysqld restart
</pre>
<p>Si MySQL no reinicia, algo habéis hecho mal en el archivo de configuración.</p>
<p>Para resolverlo y que no nos caigan gotas de sudor, escribimos:</p>
<pre class="brush: php; title: ; notranslate">
rm –rf /etc/my.cnf
</pre>
<pre class="brush: php; title: ; notranslate">
cp /etc/my.cnfBACKUP /etc/my.cnf
</pre>
<p>y volvemos a reiniciar.</p>
<p>Si no habíamos cometido ningún error, casi con toda seguridad la página os irá mucho más fluida.</p>
<p>Ahora, esperáis de 24 a 48h y volvéis a poner en marcha el script y veis resultados.</p>
<p>Si todo sale Ok, perfecto, si os sale algún otro consejo, pues volvéis a realizar el proceso.</p>

<div class="besocial"><ul class="center"><li><a class="besocial-meneame" id="besocial-meneame-2" rel="nofollow" href="http://www.meneame.net/submit.php?url=http://www.bp-es.com/noticias/2010/05/18/optimiza-mysql-facilmente-sin-ser-un-experto/&amp;title=Optimiza%20MySQL%20facilmente%20sin%20ser%20un%20experto" title="Enviar la entrada a Meneame"><span class="besocial-text">Meneame</span></a></li><li><a class="besocial-divulgame" id="besocial-divulgame-2" rel="nofollow" href="http://www.divulgame.net/submit.php?url=http://www.bp-es.com/noticias/2010/05/18/optimiza-mysql-facilmente-sin-ser-un-experto/&amp;title=Optimiza%20MySQL%20facilmente%20sin%20ser%20un%20experto" title="Enviar la entrada a Divúlgame"><span class="besocial-text">Divúlgame</span></a></li><li><a class="besocial-divoblogger" id="besocial-divoblogger-2" rel="nofollow" href="http://divoblogger.com/submit.php?url=http://www.bp-es.com/noticias/2010/05/18/optimiza-mysql-facilmente-sin-ser-un-experto/&amp;title=Optimiza%20MySQL%20facilmente%20sin%20ser%20un%20experto" title="Enviar la entrada a Divoblogger"><span class="besocial-text">Divoblogger</span></a></li><li><a class="besocial-bitacoras" id="besocial-bitacoras-2" rel="nofollow" href="http://bitacoras.com/anotaciones/www.bp-es.com/noticias/2010/05/18/optimiza-mysql-facilmente-sin-ser-un-experto/" title="Enviar la entrada a Bitacoras.com"><span class="besocial-text">Bitacoras</span></a></li><li><a class="besocial-reddit" id="besocial-reddit-2" rel="nofollow" href="http://www.reddit.com/submit?url=http://www.bp-es.com/noticias/2010/05/18/optimiza-mysql-facilmente-sin-ser-un-experto/&amp;title=Optimiza%20MySQL%20facilmente%20sin%20ser%20un%20experto" title="Enviar la entrada a Reddit"><span class="besocial-text">Reddit</span></a></li><li><a class="besocial-delicious" id="besocial-delicious-2" rel="nofollow" href="http://www.delicious.com/save?v=5&amp;noui&amp;url=http://www.bp-es.com/noticias/2010/05/18/optimiza-mysql-facilmente-sin-ser-un-experto/&amp;title=Optimiza%20MySQL%20facilmente%20sin%20ser%20un%20experto" title="Guardar la entrada en Delicious"><span class="besocial-text">Delicious</span></a></li><li><a class="besocial-buzz" id="besocial-buzz-2" rel="nofollow" href="http://www.google.com/buzz/post?url=http://www.bp-es.com/noticias/2010/05/18/optimiza-mysql-facilmente-sin-ser-un-experto/&amp;message=BuddyPress%2C%20WordPress%2C%20Asesoramiento%2C%20hosting%2C%20implantaciones%2C%20traducciones%20y%20ayuda.%20BuddyPress%20y%20Wordpress%20Espa%C3%B1ol%3A%20Optimiza%20MySQL%20facilmente%20sin%20ser%20un%20experto" title="Compartir la entrada en Google Buzz"><span class="besocial-text">Google Buzz</span></a></li><li><a class="besocial-facebook" id="besocial-facebook-2" rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.bp-es.com%2Fnoticias%2F2010%2F05%2F18%2Foptimiza-mysql-facilmente-sin-ser-un-experto%2F&amp;t=Optimiza%20MySQL%20facilmente%20sin%20ser%20un%20experto&amp;src=sp" title="Compartir la entrada en Facebook"><span class="besocial-text">Facebook</span></a></li><li><a class="besocial-twitter" id="besocial-twitter-2" rel="nofollow" href="http://twitter.com/share?url=http%3A%2F%2Fwww.bp-es.com%2Fnoticias%2F2010%2F05%2F18%2Foptimiza-mysql-facilmente-sin-ser-un-experto%2F&amp;text=Optimiza%20MySQL%20facilmente%20sin%20ser%20un%20experto&via=buddypress_es" title="Twittea esto"><span class="besocial-text">Twitter</span></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.bp-es.com/noticias/2010/05/18/optimiza-mysql-facilmente-sin-ser-un-experto/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>La Biblia para la Optimización de WordPress</title>
		<link>http://www.bp-es.com/noticias/2009/10/19/la-biblia-para-la-optimizacion-de-wordpress/</link>
		<comments>http://www.bp-es.com/noticias/2009/10/19/la-biblia-para-la-optimizacion-de-wordpress/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 09:34:11 +0000</pubDate>
		<dc:creator>j.conti</dc:creator>
				<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[diferentes]]></category>
		<category><![CDATA[enfoques]]></category>
		<category><![CDATA[optimizar]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[servidores]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.buddypress-es.com/noticias/?p=735</guid>
		<description><![CDATA[ADVERTENCIA: Este tutorial, quizás, no es para todo el mundo. Muchos pasos los podrás realizar sin ningún problema, pero en otros, es necesario un conocimiento más avanzado. La Biblia de la Optimización de WordPress Este tutorial de WordPress es quizás  la guía más completa de optimización de WordPress creado hasta el momento, con una gran colección de [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong><img class="aligncenter size-full wp-image-1082" title="wordpress_cronometro" src="http://www.bp-es.com/wp-content/uploads/2009/10/wordpress_cronometro.jpg" alt="wordpress_cronometro" width="250" height="250" /></strong></p>
<p><strong> </strong></p>
<p style="text-align: center;">
<p style="text-align: center;"><strong>ADVERTENCIA: Este tutorial, quizás, no es para todo el mundo. Muchos pasos los podrás realizar sin ningún problema, pero en otros, es necesario un conocimiento más avanzado.</strong></p>
<h1>La Biblia de la Optimización de WordPress</h1>
<p><span style="font-weight: normal; font-size: 13px;">Este tutorial de WordPress es quizás  la guía más completa de optimización de WordPress creado hasta el momento, con una gran colección de consejos sobre cómo acelerar tu sitio.</span></p>
<p><span style="font-weight: normal; font-size: 13px;">Si alguna vez has experimentado un panel de administración de WordPress lento,mensajes que  &#8221;ha caído el servidor MySQL&#8221;,  las páginas tardan una eternidad en cargar o si deseas preparar tu sitio para un importante aumento en el tráfico (por ejemplo llegas a la primera página de Digg) esta es la guía que estabas buscando.<span id="more-735"></span><br />
</span></p>
<h2>1. Comprueba las estadísticas de tu web</h2>
<p>Lo que suele suceder, en sitios con problemas de carga lenta es, simplemente,  el tamaño de la página. Hoy día, mucha gente coloca en sus páginas imágenes, flash, videos y mucho javascripts que necesita de ancho de banda para cargarse.</p>
<p>Si desea empezar a abordar esta cuestión con seriedad, lo que necesitas en primer lugar el navegador <a href="http://www.mozilla.com/firefox/" target="_blank">Firefox</a>, la extensión <a href="http://getfirebug.com/" target="_blank">Firebug</a> y el plugin <a href="http://developer.yahoo.com/yslow/" target="_blank">YSlow</a>.</p>
<p>El módulo YSlow te permitirá obtener una puntuación de rendimiento de 0-100. Tu sítio debería obtener 80 o más, ese será nuestro objetivo.</p>
<p>Trata de tener páginas de 100 kb como máximo. Lo ideal serían páginas por debajo de 50kb. Si tienes una gran cantidad de contenido multimedia, intenta por todos los medios aprender a usar YSlow.</p>
<p><a href="http://developer.yahoo.com/performance/rules.html" target="_blank">Más información</a> sobre las formas de mejorar la velocidad de carga de la página.</p>
<h2>2. Revisa tu SO Windows Vista</h2>
<p>En raras ocasiones en que estás cargando con lentitud tu sitio y otros sitios, puede ser por tu sistema de Windows Vista.</p>
<p>Si está ejecutando Vista <a href="http://itsvista.com/2007/02/itsvista-tip-37-why-certain-web-sites-are-slow-in-vista/" target="_blank">comprobar este artículo</a> para obtener un diagnóstico y posibles soluciones.</p>
<h2>3. Comprobar los Plugins</h2>
<p>Los plugins son generalmente el principal sospechoso de la baja velocidad de carga. Con tantos plugins de WordPress, podría ser que hubieramos instalado un plugin que no utilizara los recursos de manera óptima.</p>
<p>Por ejemplo plugins que causaban en el pasado problemas de carga eran <a href="http://mylifethinking.com/life/is-your-wordpress-blog-too-slow/" target="_blank">Popularity contest</a>, <a href="http://www.popularwealth.com/index.php/wordpress-admin-panel-slow" target="_blank">aLinks</a> o <a href="http://www.groovypost.com/blogs/mrgroove/wordpress/fix-for-slow-wordpress-admin-pages/" target="_blank">@Feed</a>.</p>
<p>Para comprobar los plugins, desactivar todos ellos y comprobar las áreas críticas de nuevo. Si todo va bien, volver a habilitar los plugins uno a uno hasta encontrar el plug-in problemático.</p>
<p>Después de encontrar el causante, puedes escribir un mensaje al autor del plugin y esperar a que lo arregle o buscar una alternativa.</p>
<h2>4. Revisa tu Theme</h2>
<p>Si los plugins no son los culpables de la lentitud de la página, debes comprobar el Theme que usas.</p>
<p>Los temas pueden incluir código con capacidads de plugin dentro de archivo function.php. De modo que, todo lo que se aplica a los plugins, se pueden aplicar al theme.</p>
<p>Además, los themes pueden utilizar JavaScript excesivo o archivos de imagen, lo que provoca una carga lenta de la página a causa de gran cantidad de datos a transferir y / o el número de peticiones HTTP utilizadas.</p>
<p>Con WordPress, viene un theme predeterminado. Utilízalo para comprobar si el culpable es el theme que usas.</p>
<p>Si descubres que el causante de la lentitud de carga es el theme que usas, puede utilizar la herramienta <a href="http://getfirebug.com/" target="_blank">Firebug</a>. Excelente herramienta para el navegador Firefox, te ayudará a depurar el problema.</p>
<p>También puedes utilizar <a href="http://www.websiteoptimization.com/services/analyze/" target="_blank">este sitio</a> para obtener información general sobre tu sitio de forma muy rápido.</p>
<h2>5. Optimizar las Tablas de la base de datos</h2>
<p>Debes optimizar las Tablas de base de datos  periódicamente (y reparar si es necesario) para un rendimiento óptimo.</p>
<p>Yo recomiendo usar el plugin <a href="http://lesterchan.net/portfolio/programming/php/" target="_blank">WP-DBManager</a> que proporciona esta funcionalidad, así como copia de seguridad de base de datos, que son clave para cualquier instalación de blog.</p>
<p>WP-DBManager te permite programarlo y olvidarte, y se encargará de todo el trabajo de forma automatizada. (si lo deseas, te enviará la base de datos cada día a tu email)</p>
<p>Otra alternativa,  es realizar el proceso de forma manual, optimizando y reparando las Tablas a través de una herramienta como phpMyAdmin.</p>
<h2>6. Desactiva las revisiones de las Entradas (post)</h2>
<p>Con WordPress 2.6 y posteriores, apareció lo que se denominó, &#8220;Revisiones de la Entrada&#8221;. Un seguimiento de la entrada de forma automatizada. Cada vez que &#8220;Guardamos&#8221; una modificación, la revisión se escribe en la base de datos. Si no necesita esta función, puedes desactivarla mediante la adición de una línea a tu archivo wp-config.php, que se encuentra en el directorio de instalación de tu sitio de WordPress:</p>
<pre class="brush: php; title: ; notranslate">define('WP_POST_REVISIONS', false);</pre>
<p>Si has tenido esta opción activa en tu blog durante un tiempo, tendrás gran cantidad de puntos de restauración de las entradas. Si deseas eliminar las revisiones, simplemente ejecuta esta consulta (por ejemplo, utilizando el mencionado plugin WP-DBManager).</p>
<pre class="brush: php; title: ; notranslate">DELETE FROM wp_posts WHERE post_type = &quot;revision&quot;;</pre>
<p>Esto eliminará todos los &#8220;revision&#8221; de las Tablas de la base de datos, por lo que reducirás su tamaño considerablemente.</p>
<p>ADVERTENCIA: Haz esto con cuidado. Si no estás seguro de lo que está haciendo, asegúrate de realizar una copia de seguridad de la base de datos o, mejor aún, pide ayuda profesional.</p>
<h2>7. Implementar el almacenamiento en caché</h2>
<p>El almacenamiento en caché es un método de recuperación de datos desde un subdirectorio preparado (cache) en lugar de utilizar los recursos para generar cada vez la misma información que se necesita. El uso de la caché, acelera considerablemente la carga de las páginas y por regla general se usa en todas las aplicaciones más modernas.</p>
<p>La forma más fácil de implementar el almacenamiento en caché (y por lo general la única forma si tu blog está en un alojamiento compartido) es utilizar un plugin caché.</p>
<p>El más utilizado es el <a href="http://ocaoimh.ie/wp-super-cache/">WP Super Cache</a>.</p>
<p>Un nuevo niño en la familia, <a href="http://wordpress.org/extend/plugins/w3-total-cache/" target="_blank">W3 Total Cache</a>, que es la alternativa más potente, y cada día madura.</p>
<h2>8. Optimización de MySQL</h2>
<p>MySQL puede guardar los resultados de una consulta en su caché propio. Debes editar el fichero de configuración de MySQL (normalmente /etc/my.cnf) y agregar estas líneas:</p>
<pre class="brush: php; title: ; notranslate">query_cache_type = 1
query_cache_limit = 1M
query_cache_size = 16M</pre>
<p>Esto creará un caché de 16 MB después de reiniciar el servidor MySQL (la cantidad depende de la cantidad de RAM disponible, yo uso alrededor de 250 MB de 4GB ).</p>
<p>Para comprobar si está funcionando correctamente, ejecuta esta consulta:</p>
<pre class="brush: php; title: ; notranslate">SHOW STATUS LIKE 'Qcache%';</pre>
<p>Ejemplo de resultado:</p>
<pre>
<table id="table_results" style="margin-top: 0px; margin-right: 0px; margin-bottom: 22px; margin-left: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 0px; border-left-width: 1px; border-style: solid; border-color: #cccccc; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-collapse: collapse; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; line-height: 18px; text-align: left; background-position: initial initial; padding: 0px;" border="0">
<tbody style="outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; padding: 0px; margin: 0px; border: 0px initial initial;">
<tr style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-bottom-style: solid; border-bottom-color: #cccccc; background-position: initial initial; padding: 0px; margin: 0px;">
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">Qcache_free_blocks</td>
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">718</td>
</tr>
<tr style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-bottom-style: solid; border-bottom-color: #cccccc; background-position: initial initial; padding: 0px; margin: 0px;">
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">Qcache_free_memory</td>
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">13004008</td>
</tr>
<tr style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-bottom-style: solid; border-bottom-color: #cccccc; background-position: initial initial; padding: 0px; margin: 0px;">
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">Qcache_hits</td>
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">780759</td>
</tr>
<tr style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-bottom-style: solid; border-bottom-color: #cccccc; background-position: initial initial; padding: 0px; margin: 0px;">
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">Qcache_inserts</td>
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">56292</td>
</tr>
<tr style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-bottom-style: solid; border-bottom-color: #cccccc; background-position: initial initial; padding: 0px; margin: 0px;">
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">Qcache_lowmem_prunes</td>
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">0</td>
</tr>
<tr style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-bottom-style: solid; border-bottom-color: #cccccc; background-position: initial initial; padding: 0px; margin: 0px;">
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">Qcache_not_cached</td>
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">3711</td>
</tr>
<tr style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-bottom-style: solid; border-bottom-color: #cccccc; background-position: initial initial; padding: 0px; margin: 0px;">
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">Qcache_queries_in_cache</td>
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">1715</td>
</tr>
<tr style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; border-bottom-style: solid; border-bottom-color: #cccccc; background-position: initial initial; padding: 0px; margin: 0px;">
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">Qcache_total_blocks</td>
<td style="padding-top: 0.7em; padding-right: 1.25em; padding-bottom: 0.7em; padding-left: 1.25em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; margin: 0px; border: 0px initial initial;">4344</td>
</tr>
</tbody>
</table>
</pre>
<p><strong>MÁS OPTIMIZACIONES PARA MYSQL:</strong></p>
<p><strong> </strong>Hay un montón de opciones con las que puedes jugar, aquí está mi archivo de configuración MySQL, funcionando para 4GB, quad-core.</p>
<p>Esto no tiene porqué irte bien a ti, es solo una orientación general.</p>
<pre class="brush: php; title: ; notranslate">[mysqld]
bulk_insert_buffer_size = 8M
connect_timeout=10
interactive_timeout=50
join_buffer=1M
key_buffer=250M
max_allowed_packet=16M
max_connect_errors=10
max_connections=100
max_heap_table_size = 32M
myisam_sort_buffer_size=96M
query_cache_limit = 4M
query_cache_size = 250M
query_cache_type = 1
query_prealloc_size = 65K
query_alloc_block_size = 128K
read_buffer_size=1M
read_rnd_buffer_size=768K
record_buffer=1M
safe-show-database
skip-innodb
skip-locking
skip-networking
sort_buffer=1M
table_cache=4096
thread_cache_size=1024
thread_concurrency=8
tmp_table_size = 32M
wait_timeout=500

# for slow queries, comment when not used
#log-slow-queries=/var/log/mysql-slow.log
#long_query_time=1
#log-queries-not-using-indexes

[mysqld_safe]
nice = -5
open_files_limit = 8192

[mysqldump]
quick
max_allowed_packet = 16M

[myisamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M</pre>
<h2>9. PHP Cache</h2>
<p>PHP es un lenguaje interpretado, lo que significa que se inicia cada vez con el código PHP. Este proceso de compilación puede ser almacenado en caché con la instalación de un caché de código de operación, tales como eAccelerator. Hay otras soluciones de almacenamiento en caché.</p>
<p>Para instalar eAccelerator, descomprime el archivo y ves a la carpeta eAccelerator. A continuación, escribe:</p>
<pre class="brush: php; title: ; notranslate">phpize
./configure
make
make install</pre>
<p>Esto instalará eAccelerrator.</p>
<p>Después hay que crear la carpeta temporal para el almacenamiento:</p>
<pre class="brush: php; title: ; notranslate">mkdir /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator</pre>
<p>Por último, hay que añadir estas líneas al final de tu archivo php.ini (generalmente /etc/php.ini o /usr/lib/php.ini):</p>
<pre class="brush: php; title: ; notranslate">extension=&quot;eaccelerator.so&quot;
eaccelerator.shm_size=&quot;16&quot;
eaccelerator.cache_dir=&quot;/var/cache/eaccelerator&quot;
eaccelerator.enable=&quot;1&quot;
eaccelerator.optimizer=&quot;1&quot;
eaccelerator.check_mtime=&quot;1&quot;
eaccelerator.debug=&quot;0&quot;
eaccelerator.filter=&quot;&quot;
eaccelerator.shm_max=&quot;0&quot;
eaccelerator.shm_ttl=&quot;0&quot;
eaccelerator.shm_prune_period=&quot;0&quot;
eaccelerator.shm_only=&quot;0&quot;
eaccelerator.compress=&quot;1&quot;
eaccelerator.compress_level=&quot;9&quot;</pre>
<p>Los cambios se notarán de inmediato, ya que PHP no tiene por qué ser reiniciado.</p>
<blockquote><p>Nota 1: WP Super Cache y eAccelerator <a href="http://blog.sweetnam.eu/2007/11/07/supercache-eaccelerator-and-wordpress-benchmarks/" target="_blank">trabajan juntos</a> muy bien, consiguiendo un gran redimiento.<br />
Nota 2: Si te gusta probar más potencia en la conjunción de WP Super Cache y eAccelerator mira <a href="http://blog.sweetnam.eu/2007/11/07/supercache-eaccelerator-and-wordpress-benchmarks/" target="_blank">esta página</a>.<br />
Nota 3: Lamentablemente eAccelerator no funcionará si PHP es ejecutado como CGI. Puedes usar FastCGI que trabajará con suexec y eAccelerator.</p></blockquote>
<h2>10. Optimización del servidor Web</h2>
<p>Sobre la optimización de Apache se ha escrito mucho en los libro, pero os voy a recomendar unas páginas, en primer lugar <a href="http://httpd.apache.org/docs/1.3/misc/perf-tuning.html" target="_blank">esta página</a>. Para consejos de compilación <a href="http://tldp.org/LDP/LGNET/123/vishnu.html" target="_blank">esta otra</a>, para consejos sobre rendimiento <a href="http://www.devside.net/articles/apache-performance-tuning" target="_blank">esta</a>, consejos VPS <a href="http://www.agnivo.com/tech/vps-mysql-and-apache-optimization-guide-27.html" target="_blank">aquí</a> y para consejos de keep alive <a href="http://virtualthreads.blogspot.com/2006/01/tuning-apache-part-1.html" target="_blank">aquí</a>.</p>
<p>Puede probar fácilmente los cambios en la configuración mediante la ejecución de una prueba en tu línea de comandos</p>
<pre class="brush: php; title: ; notranslate">ab -t30 -c5 http://www.tusitio.com/</pre>
<p>y comparar los resultados. Tengo alrededor de 200 req/s en un VPS.</p>
<p>Para pruebas más flexible puedes utilizar herramientas como <a href="http://www.xenoclast.org/autobench/" target="_blank">Autobench</a> que trabaja en conjunto con <a href="http://www.hpl.hp.com/research/linux/httperf/" target="_blank">httperf</a>, otra herramienta de evaluación comparativa.</p>
<p>Utiliza un servidor web rápido como <a href="http://nginx.net/" target="_blank">nginx</a> para servir contenido estático (es decir, imágenes), mientras que utilizas otro servidor para el contenido dinámico, que es otro <a href="http://intranation.com/entries/2008/09/using-nginx-reverse-proxy/" target="_blank">truco</a> <a href="http://www.hostmedic.com/admin/network_administration/nginx-apache-happy-fast-cpanel-server/" target="_blank">que</a> <a href="http://figvam.blogspot.com/2008/05/using-nginx-to-accelerate-apache-on.html" target="_blank">se </a><a href="http://www.mr-san.com/nginx-reverse-proxy-load-balance/" target="_blank">suele</a> <a href="http://articles.slicehost.com/2007/12/3/ubuntu-gutsy-adding-an-nginx-init-script" target="_blank">usar</a>.</p>
<blockquote><p>Nota 1: Más recursos interesantes. <a href="http://www.die.net/musings/page_load_time/" target="_blank">Optimización del tiempo de carga de página </a>y una serie de tutoriales sobre la <a href="http://newestindustry.org/2006/08/30/web-performance-part-i-fundamentals/" target="_blank">mejora del rendimiento web</a>.<br />
Nota 2: Puede encontrar más consejos y trucos en el sitio de <a href="http://elliottback.com/wp/why-my-wordpress-site-is-so-much-faster-than-yours/" target="_blank">Elliot&#8217;s Back</a></p></blockquote>
<h2><a href="http://elliottback.com/wp/why-my-wordpress-site-is-so-much-faster-than-yours/" target="_blank"></a>11. &#8221;El servidor MySQL ha caido&#8221; solución</h2>
<p>Este error de base de datos de WordPress aparece en algunas configuraciones y se manifiesta en yendo lento o no hay respuesta, por lo general en su página de administración.</p>
<p>La Solución para este problema de MySQL se intenta abordar muy bien en <a href="http://robsnotebook.com/wordpress-mysql-gone-away" target="_blank">este artículo</a>.</p>
<p>Este problema, evidentemente existe, pero la solución propuesta es válida sólo hasta que actualices WordPress. Es de esperar que se seguirá investigando y se añadira una solución en el núcleo de WordPress en un futuro.</p>
<blockquote><p>Nota: Hay veces que dando a wait_timeout un valor de 1000 es suficiente.</p></blockquote>
<h2>12. Problema de imposibilidad de envío de Entradas</h2>
<p>Si estás experimenta problemas en el panel de administración de WordPress, con la imposibilidad de publicar o actualizar algunas entradas, es probable que te estés dando de lleno contra mod_security.</p>
<p>ModSecurity es el módulo de Apache para aumentar la seguridad del sitio web mediante la prevención de intrusiones en el sistema. Sin embargo, a veces, puede decidir que WordPress está realizando consultas de MySQL sospechosas y las introduce en la lista de negra, lo cual se manifiesta con lentitud o falta de respuesta del sitio.</p>
<p>Para probar si este es el caso, revisa tu registro de errores de Apache, por ejemplo:</p>
<pre class="brush: php; title: ; notranslate">tail -f /usr/local/apache/logs/error_log</pre>
<p>y buscar algo como esto:</p>
<pre class="brush: php; title: ; notranslate">ModSecurity: Access denied with code 500 (phase 2) ... [id &quot;300013&quot;] [rev &quot;1&quot;] [msg &quot;Generic SQL injection protection&quot;] [severity &quot;CRITICAL&quot;] [hostname  www.prelovac.com&quot;] [uri &quot;/vladimir/wp-admin/page.php&quot;</pre>
<p>Nos dice que el acceso a esta página fue negado a causa de una regla de seguridad con ID 300013. Para arreglarlo, debemos introducirlo en la lista blanca.</p>
<p>Para ello, edita el archivo de configuración de Apache (por ejemplo /usr/local/apache/conf/modsec2/exclude.conf) y agrega estas líneas:</p>
<pre class="brush: php; title: ; notranslate">SecRuleRemoveById 300013</pre>
<p>Esto añadirá la página a la lista blanca de seguridad y tu sitio seguirá trabajando con normalidad.</p>
<h2>13. Pings RSS y Pingbacks</h2>
<p>Otra razón para la lentitud de WordPress puede ser el ping RSS y tiempo de espera para pingback.</p>
<p>WordPress, por defecto, intente hacer ping a los servidores que aparecen en tu lista de ping (que se encuentra en Opciones-&gt; Escritura) y uno de ellos puede retrasar el proceso.</p>
<p>La segunda razón son pingbacks, mecanismo en el que notifica a los sitios que has enlazado en tu entrada. Puedes desactivarlo en Preferencias-&gt; Discusión &#8220;Tratar de notificar a todos los blogs enlazados en la entrada (hace más lenta la publicación)&#8221;.</p>
<p>Prueba la lista de pings  y ha desactivar el pingbacks para ver si ayuda a acelerar sel tiempo de espera.</p>
<p><strong>Lo siguiente, son las reglas generales para optimizar el tiempo de carga de las páginas</strong></p>
<h2>14. Subdominios, pueden ser utilizados para compartir la carga</h2>
<p><span style="font-weight: normal; font-size: 13px;">La mayoría de los navegadores están configurados para cargar 2-4 archivos de un dominio en paralelo. Si mueves algunos archivos a un dominio diferente (subdominio) el navegador comenzará a descargarse en paralelo varios archivos (de 2 a 4).</span></p>
<p>Es buena idea mover los archivos de imagenes a un subdominio que crees. Por ejemplo, puedes colocar todas tu imagenes de diseño en un subdominio y mediante la hoja css realizar las peticiones para que las descargue del subdominio.</p>
<h2>15. Minimizar el número de peticiones HTTP</h2>
<p>Puedes disminuir el número de peticiones HTTP utilizando menos imágenes (o colocando todas las imágenes en una imagen de gran tamaño e ir posicionandola mediante CSS), utilizando menos  javascript, menos archivos css (por lo general, esto significa menos plugins).</p>
<p>Se ha realizado un gran esfuerzo con el plugin <a href="http://aciddrop.com/php-speedy/" target="_blank">PHP speedy</a>. Este Plugin fusiona todos los todos los archivos JavaScript y CSS en un gran archivo que ayuda ayuda a reducción drásticamente el números de solicitudes HTTP. El mayor inconveniente de PHP Speedy es que no es 100% compatible con todos los plugins.</p>
<p>También podría ser interesante utilizar <a href="http://www.csssprites.com/" target="_blank">CSS Sprite generator</a> para mover todas tus imágenes en una sola imagen y luego usar la posición de fondo en CSS para mostrarlas. Esto reducirá el número de peticiones HTTP de forma significativa.</p>
<h2>16. Comprimir el contenido usando Apache. Htaccess</h2>
<p>Si tienes tu propio servidor, podrá seleccionar la utilización de gzip para enviar el contenido a los navegadores. Esto reducirá significativamente el tiempo de carga, la mayoría de páginas HTML se comprimen bien.</p>
<p>Si quieres probarlo, añade este código a tu htaccess.</p>
<pre class="brush: php; title: ; notranslate">AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/x-javascript application/x-httpd-php application/rss+xml application/atom_xml text/javascript</pre>
<h2>17. Crear cabeceras de expiración</h2>
<p>Los encabezados de expiración, son muy interesantes para decirle a los navegadores si deben utilizar la cache o no, y durante cuanto tiempo. La mayoría de las imágenes de un sitio nunca cambian y es una buena idea que se mantengan en la cache local de los usuarios.</p>
<p>Una posible configuración recomendada sería <a href="http://www.askapache.com/htaccess/htaccess.html" target="_blank">esta</a>.</p>
<pre class="brush: php; title: ; notranslate">Header unset Pragma
FileETag None
Header unset ETag

# 1 year

Header set Cache-Control &quot;public&quot;
Header set Expires &quot;Thu, 15 Apr 2010 20:00:00 GMT&quot;
Header unset Last-Modified

# 2 HOURS

Header set Cache-Control &quot;max-age=7200, must-revalidate&quot;

# CACHED FOREVER
# MOD_REWRITE TO RENAME EVERY CHANGE

Header set Cache-Control &quot;public&quot;
Header set Expires &quot;Thu, 15 Apr 2010 20:00:00 GMT&quot;
Header unset Last-Modified</pre>
<p>Puedes comprobar la configuración de tu cache <a href="http://www.ircache.net/cgi-bin/cacheability.py" target="_blank">aquí</a>.</p>
<h2>18. Cache para Gravatar</h2>
<p>Muchos blogs usan Gravatar, las pequeñas imágenes al lado de los comentarios. Sin embargo Gravatars tiene dos grandes defectos en cuanto a la optimización de su sitio:</p>
<p>Cada imagen Gravatar, ejecuta una nueva petición  HTTP, incluso si ya ha sido descargada la imagen en algún comentario anterior en la misma entrada (entradas que contengan 100 comentarios se producen 100 solicitudes HTTP)</p>
<p>Las Imágenes Gravatar no caducan.</p>
<p>Lo que podemos hacer es crear una caché para Gravatar de forma local, donde las imágenes se almacenan en caché y sirve para nuestro sitio. Lo ideal sería colocar la caché para Gravatar en un subdominio separado (véase el primer apartado).</p>
<p>Puedes usar un plugin como <a href="http://zenpax.com/" target="_blank">Zenpax.com</a> que permite almacenar todas las imágenes Gravatars en una caché local.</p>
<h2>19. Optimizar las imágenes con smush.it</h2>
<p>A menudo, se pasa por alto que las imágenes pueden ser optimizadas (que tengan menos peso). Esto reduce significativamente los tiempos de carga.</p>
<p>¿No sería perfecto si pudieras abrir un sitio, pulsar un botón en su navegador y recibir todas las imágenes de tu sitio optimizadas y listas en un único archivo zip?. Pues es posible gracias a <a href="http://developer.yahoo.com/yslow/smushit/" target="_blank">smush.it</a> y su plugin para Firefox. Es increíble lo fácil y potente que es.</p>
<h2>20. CSS en la parte superior, JavaScript en la parte inferior</h2>
<p>Esta es  la práctica de oro. Debes colocar tus archivos CSS en la parte superior de la página para que se cargan en primer lugar. Los Archivos JavaScript debe ser colocado en la parte inferior de la página (cuando sea posible). Para ello, tenemos un plugin que realiza exactamente esto, siempre que sea posible, el plugin se llama <a href="http://developer.yahoo.com/performance/rules.html#js_bottom" target="_blank">Footer JavaScript</a>.</p>
<h2>Conclusión</h2>
<p><span style="font-weight: normal; font-size: 13px;">Los Servidores web y los sitios web modernos dependen de muchos factores diferentes.</span></p>
<p>En este tutorial se han reflejado los diferentes enfoques de optimización a nivel de sistema , Apache, PHP y MySQL y cambios en configuración de su WordPress.</p>
<p>fuente <a href="http://www.prelovac.com/vladimir/wordpress-optimization-guide" target="_blank">prelovac</a></p>

<div class="besocial"><ul class="center"><li><a class="besocial-meneame" id="besocial-meneame-4" rel="nofollow" href="http://www.meneame.net/submit.php?url=http://www.bp-es.com/noticias/2009/10/19/la-biblia-para-la-optimizacion-de-wordpress/&amp;title=La%20Biblia%20para%20la%20Optimizaci%C3%B3n%20de%20WordPress" title="Enviar la entrada a Meneame"><span class="besocial-text">Meneame</span></a></li><li><a class="besocial-divulgame" id="besocial-divulgame-4" rel="nofollow" href="http://www.divulgame.net/submit.php?url=http://www.bp-es.com/noticias/2009/10/19/la-biblia-para-la-optimizacion-de-wordpress/&amp;title=La%20Biblia%20para%20la%20Optimizaci%C3%B3n%20de%20WordPress" title="Enviar la entrada a Divúlgame"><span class="besocial-text">Divúlgame</span></a></li><li><a class="besocial-divoblogger" id="besocial-divoblogger-4" rel="nofollow" href="http://divoblogger.com/submit.php?url=http://www.bp-es.com/noticias/2009/10/19/la-biblia-para-la-optimizacion-de-wordpress/&amp;title=La%20Biblia%20para%20la%20Optimizaci%C3%B3n%20de%20WordPress" title="Enviar la entrada a Divoblogger"><span class="besocial-text">Divoblogger</span></a></li><li><a class="besocial-bitacoras" id="besocial-bitacoras-4" rel="nofollow" href="http://bitacoras.com/anotaciones/www.bp-es.com/noticias/2009/10/19/la-biblia-para-la-optimizacion-de-wordpress/" title="Enviar la entrada a Bitacoras.com"><span class="besocial-text">Bitacoras</span></a></li><li><a class="besocial-reddit" id="besocial-reddit-4" rel="nofollow" href="http://www.reddit.com/submit?url=http://www.bp-es.com/noticias/2009/10/19/la-biblia-para-la-optimizacion-de-wordpress/&amp;title=La%20Biblia%20para%20la%20Optimizaci%C3%B3n%20de%20WordPress" title="Enviar la entrada a Reddit"><span class="besocial-text">Reddit</span></a></li><li><a class="besocial-delicious" id="besocial-delicious-4" rel="nofollow" href="http://www.delicious.com/save?v=5&amp;noui&amp;url=http://www.bp-es.com/noticias/2009/10/19/la-biblia-para-la-optimizacion-de-wordpress/&amp;title=La%20Biblia%20para%20la%20Optimizaci%C3%B3n%20de%20WordPress" title="Guardar la entrada en Delicious"><span class="besocial-text">Delicious</span></a></li><li><a class="besocial-buzz" id="besocial-buzz-4" rel="nofollow" href="http://www.google.com/buzz/post?url=http://www.bp-es.com/noticias/2009/10/19/la-biblia-para-la-optimizacion-de-wordpress/&amp;message=BuddyPress%2C%20WordPress%2C%20Asesoramiento%2C%20hosting%2C%20implantaciones%2C%20traducciones%20y%20ayuda.%20BuddyPress%20y%20Wordpress%20Espa%C3%B1ol%3A%20La%20Biblia%20para%20la%20Optimizaci%C3%B3n%20de%20WordPress" title="Compartir la entrada en Google Buzz"><span class="besocial-text">Google Buzz</span></a></li><li><a class="besocial-facebook" id="besocial-facebook-4" rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.bp-es.com%2Fnoticias%2F2009%2F10%2F19%2Fla-biblia-para-la-optimizacion-de-wordpress%2F&amp;t=La%20Biblia%20para%20la%20Optimizaci%C3%B3n%20de%20WordPress&amp;src=sp" title="Compartir la entrada en Facebook"><span class="besocial-text">Facebook</span></a></li><li><a class="besocial-twitter" id="besocial-twitter-4" rel="nofollow" href="http://twitter.com/share?url=http%3A%2F%2Fwww.bp-es.com%2Fnoticias%2F2009%2F10%2F19%2Fla-biblia-para-la-optimizacion-de-wordpress%2F&amp;text=La%20Biblia%20para%20la%20Optimizaci%C3%B3n%20de%20WordPress&via=buddypress_es" title="Twittea esto"><span class="besocial-text">Twitter</span></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.bp-es.com/noticias/2009/10/19/la-biblia-para-la-optimizacion-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
	</channel>
</rss>

