La Biblia SEO para WordPress II


7. Implementar el almacenamiento en caché.

El almacenamiento en caché es un método de recuperación de datos desde una lista de almacenamiento (memoria caché) en lugar de utilizar los recursos para generar cada vez que se necesita la misma información. El uso de la caché es mucho más rápido para recuperar la información y generalmente se recomienda esta práctica para las aplicaciones más modernas.
La forma más fácil de implementar el almacenamiento en caché (y por lo general la única manera si tu blog está en alojamiento compartido) es utilizar un plugin de caché.
El más utilizado es el de Super GT caché.
Un nuevo niño en el bloque, W3 caché total es la alternativa más potente, que está madurando día a día.

8. Optimización de MySQL.

MySQL puede guardar los resultados de una consulta en su caché propia. Para poder editar el archivo de configuración de MySQL (usualmente / etc / my.cnf) añadir estas líneas:
query_cache_type = 1
query_cache_limit = 1M
query_cache_size = 16M
Esto creará un caché de 16 MB de consultas después de reiniciar el servidor MySQL (la cantidad depende de la cantidad de RAM disponible, yo uso todo 250MB de 4GB de la máquina)
Para comprobar si está funcionando correctamente, ejecute esta consulta:
SHOW STATUS LIKE ‘Qcache%’;
Ejemplo resultado:

Qcache_free_blocks
718
Qcache_free_memory
13004008
Qcache_hits
780759
Qcache_inserts
56292
Qcache_lowmem_prunes

0
Qcache_not_cached
3711
Qcache_queries_in_cache
1715
Qcache_total_blocks
4344

OPTIMIZACIÓN DE MYSQL ADEMÁS:

Hay un montón de opciones que puede se pueden hacer en el archivo config en lugar de MySQL, en sintonía para 4GB, en un server dedicado de cuatro núcleos. Aunque esto es muy probable que no funcione en su máquina,téngalo en cuenta para una orientación general.
[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

Consejo # 2:

Aquí hay mas sobre optimización enMySQL y otro poco mas aquí.
Mysqlrepot, es una herramienta extremadamente útil que le ayudará a ajustar su base mysql como si nada. MysqlTuner es una de las mejores y más rápidas herramientas que hay que le dirá cómo puede arreglar su base de datos MySQL
Tuning primer y MySQL Activity Report, son otros dos scrpts para probar.
Maatkit es un conjunto de herramientas de gran utilidad para la gestión de MySQL.
MySQL slow query log es valioso para obtener información acerca de las consultas más problemáticas. Para activarlo se pueden editar los ficheros my.cnf
log-slow-queries=/var/log/mysql-slow.log
long_query_time=1
log-queries-not-using-indexes

Esto creará un registro de consultas lentas y aquellos que no utilizan índices. Ahora tiene que ser capaz para identificar el problema para los que se puede utilizar el filtro externo de registro lento y otras herramientas de análisis.
El uso de ‘explain’ es una manera eficaz para comprender y optimizar consultas complejas.
También puede instalar mytop, una ‘top’ clon de comandos que funciona con MySQL.
9.PHP Opcode Cache
PHP es un lenguaje interpretado, lo que significa que cada vez que el código PHP se ha iniciado, está compilado en el llamado op-codes, que luego se ejecuta por el sistema.
Este proceso de compilación puede tener una caché mediante la instalación de un caché de código de operación, tales como eAccelerator Hay otras soluciones de almacenamiento en caché por aquí también.
Para instalar eAccelerator, descomprimir el archivo y vaya a la carpeta eAccelerator. A continuación, escriba:
phpize
./configure
make
make install

Esto instalará eAccelerrator.
Después crear carpeta temporal para el almacenamiento:
mkdir /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator

Por último, para que pueda, añadir estas líneas al final de su archivo php.ini (generalmente /etc/php.ini or/usr/lib/php.ini):)
extension=”eaccelerator.so”
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/var/cache/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″

Los cambios se notarán de inmediato, ya que PHP no necesita “reiniciar”.
Nota # 1: Super GT caché y eAccelerator trabajan muy bien juntos mostrando un mayor aumento en el rendimiento.
Nota # 2: Si te gusta aún más la posibilidad de ejecución, compruebe el Super GT caché y eAccelerator plugin.
Nota # 3: Por desgracia eAccelerator no funciona si PHP se ejecuta como CGI. Puede intentar usar FastCGI que funcionará con suExec y eAccelerator.
Nota # 4: Cache W3 total Cache mencionado anteriormente tanto como memcached y APC juntos brindarán una respuesta increíblemente rápida.

10. Optimización del servidor web

Al hablar de Apache debo remitirme a lo que ya se ha escrito en los libros. Este artículo, amplía un poco mi enfoque. Hay también consejos de compilación de apache aquí, el ajuste de rendimiento aquí, VPS aquí y mas aquí.

Usted puede probar fácilmente cambios en su configuración, ejecute una prueba desde la línea de comandos
ab -t30 -c5 http://www.mysite.com/
y comparar los resultados. Tengo alrededor de 200 req / s en el servidor VPS.
Para una prueba más flexible puede utilizar Autobench que trabaja en conjunto con httperf, otra herramienta de evaluación comparativa.
Utilice un servidor web rápido como nginx para servir contenido estático (es decir, imágenes) al pasar peticiones dinámica es otra técnica muy popular que puede utilizar para mejorar el rendimiento.
Nota # 1: Más recursos frescos. Optimización del tiempo de carga de la página y una gran serie sobre el mejor rendimiento del sitio web.
Nota # 2: Usted puede encontrar más consejos y trucos en el sitio de Elliot Back

11. “El servidor MySQL se ha apagado” solución:

“server has gone away “
Este error de base de datos de WordPress aparece en algunas configuraciones y se manifiesta muy lento y sin respuesta, por lo general en sus páginas de administración.
Este problema de MySQL y como evitarlo ha sido muy bien tratado en este artículo.
Este problema, evidentemente existe, pero la propuesta de “fijar” (fixed) sólo es válida hasta que actualices tu versión de WordPress. Es de esperar que se seguirá investigando, y sea añadido en el conjunto de WordPress en el futuro.

12. Cuando postear un artículo es problema

Si usted experimenta que el panel de administración de WordPress esta muy lento o tiende a interrumpirse y con incapacidad para enviar o actualizar determinados posts, esto sucede porque probablemente algo esta accionando el mod_security.
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 todo esta perfectamente normal WordPress MySQL Query está tratando de hacer algo sospechoso, parte de la lista negra, lo que se manifiesta en muy lento o sin respuesta del sitio.
Para comprobar si este es el caso, revise su registro de errores de Apache, por ejemplo:
tail -f /usr/local/apache/logs/error_log
y buscar algo como esto:
ModSecurity: Access denied with code 500 (phase 2) … [id “300013”] [rev “1”] [msg “Generic SQL injection protection”] [severity “CRITICAL”] [hostname  www.prelovac.com”] [uri “/vladimir/wp-admin/page.php”
Le dice el acceso a esta página fue denegada a causa de una regla de seguridad con el ID 300013. Esto incluye la fijación de la lista blanca de este artículo de la página en cuestión.
Para ello, edite el archivo de config de apache por ejemplo:
/usr/local/apache/conf/modsec2/exclude.conf) and add these lines:
SecRuleRemoveById 300013

Le mostrará la lista blanca de la página con la norma de seguridad dada y su sitio seguirá trabajando con normalidad.
13. RSS, Pings y Pingbacks
Que WordPress trabaje tenga un desplazamiento lento puede llegar a incluir los tiempos de espera de los rss ping Pingback .
Por defecto, WordPress intentará hacer ping a los servidores que aparecen en su listado de pings. (Busque en Preferencias-> panel de escritura) y uno de ellos puede ralentizar el tiempo todo el proceso.
Segunda razón: son post pingbacks, mecanismo en el que notifica a WordPress los sitios que ha vinculado en su artículo. Usted puede desactivar pingbacks en Preferencias-> Debate>> opción: “Intento de notificar a ningún blog enlazado desde el artículo (ralentiza la misión)”. Intente quitar la lista de pings y desactivar los pingbacks para ver si eso ayuda a acelerar su desplazamiento.

Las siguientes son las Reglas generales para optimizar el tiempo de carga de la página

14. El uso de subdominios para compartir la carga

La mayoría de los navegadores están configurados para cargar 2-4 archivos de un dominio en paralelo. Si usted mueve algunos archivos a un dominio diferente (subdominio de trabajo) el navegador podrá descargar más archivos en paralelo.
Es una buena idea la de mover los archivos de las imagenes de su tema a un subdominio que usted cree.
He creado demo.prelovac.com / imágenes y allí puse las imágenes de mi sitio. Luego he cambiado el style.css para reflejar la nueva url completa a los archivos de la imagen. Trabajo realizado!

15. Minimizar el número de peticiones HTTP

Usted puede reducir el número de peticiones HTTP al utilizar menos imágenes (o colocar todas las imágenes en una imagen de gran tamaño y posición con CSS), menos javascript, menos archivos css (por lo general significa menos plugins).
Puedo recomendar el plugin PHP speedy plugin que fusionará todos sus JavaScript y CSS todos los archivos en un archivo grande que realmente ayuda en la reducción de los números de solicitud HTTP. El mayor inconveniente de PHP Speedy es que no es 100% compatible con todos los plugins.
También utilice el CSS Sprite generator para mover todas sus imágenes en una imagen de fondo y luego usar CSS-posición para mostrarlos. Esto reducirá el número de solicitudes HTTP significativamente ..
16. Comprimir el contenido en apache. Htaccess
Si usted tiene su propio servidor, usted puede escoger para gzip todo el contenido enviado a los navegadores.Esto reducirá significativamente el tiempo de carga ya que la mayoría de las páginas html se comprimen muy bien.
Agregue este código a su archivo. Htaccess
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

17. Crear encabezados a término

Un encabezado a termino indica al navegador cuánto tiempo debe mantener el contenido en la memoria caché. La mayoría de las imágenes en su sitio nunca cambian y es una buena idea mantenerlos en caché localmente.
Aquí hay una configuración recomendada:
Header unset Pragma
FileETag None
Header unset ETag

# 1 YEAR

Header set Cache-Control “public”
Header set Expires “Thu, 15 Apr 2010 20:00:00 GMT”
Header unset Last-Modified

# 2 HOURS

Header set Cache-Control “max-age=7200, must-revalidate”

# CACHED FOREVER
# MOD_REWRITE TO RENAME EVERY CHANGE

Header set Cache-Control “public”
Header set Expires “Thu, 15 Apr 2010 20:00:00 GMT”
Header unset Last-Modified

Use cacheability engine
para comprobar la configuración de su caché.

Posted in Optimizacion and tagged , , , , , , , , , , .

Leave a Reply

Your email address will not be published. Required fields are marked *