Tutorial: Mejora de velocidad en Wordpress sin plugin adicional

  • Autor Autor Cicklow
  • Fecha de inicio Fecha de inicio
Cicklow

Cicklow

Admin
Épsilon
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Buenas, este tutorial sera cortito como patada de chancho (dicho viejo :encouragement🙂 y aprenderán como lograr esto:
sin-t-tulo-4d1f9fb.png

Para lograr esto tenemos que editar el .htaccess (o crear uno) en el directorio de nuestro WP, como hacemos esto?:
1- Descargar .htaccess por FTP o crear uno en nuestra PC y subirlo por FTP
2- Acceder desde cPanel con el Administrador de Archivos (seleccionar ver archivos ocultos) y crear o editar uno
3- Instalar el plugin (sisi dije sin plugin, pero este plugin no afecta el rendimiento ni nada) el cual permite editar el .htacces, recomiendo: https://wordpress.org/plugins/wp-htaccess-editor/ y el mismo permite editar el .htaccess desde el panel de administración de WP (también hace un backup por cada edicion)

Ahora tendremos que agregar en el .htaccess (arriba de todo contenido que tenga el mismo):
PHP:
Options +FollowSymLinks
Options -Indexes
<IfModule mod_headers.c>
    <FilesMatch "\.(js|css|xml|gz)$">
        Header append Vary Accept-Encoding
    </FilesMatch>
    <FilesMatch "\.(ico|jpe?g|png|gif|swf)$">
        Header set Cache-Control "public"
    </FilesMatch>
    <FilesMatch "\.(css)$">
        Header set Cache-Control "public"
    </FilesMatch>
    <FilesMatch "\.(js)$">
        Header set Cache-Control "private"
    </FilesMatch>
    <FilesMatch "\.(x?html?|php)$">
        Header set Cache-Control "private, must-revalidate"
    </FilesMatch>
</IfModule>
<ifModule mod_headers.c>
	Header set Connection keep-alive
</ifModule>
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
	Header set Cache-Control "max-age=290304000, public"
</FilesMatch>

# BEGIN GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
# END GZIP

<ifModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_dechunk Yes
  mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
  mod_gzip_item_include handler ^cgi-script$
  mod_gzip_item_include mime ^text/.*
  mod_gzip_item_include mime ^application/x-javascript.*
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|swf)$">
ExpiresDefault "access plus 2 hours"
</FilesMatch>

FileETag none

<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>

Este código permite manejar los tiempos de cache, no permitir listado de directorio sin archivo de inicio (ejemplo index.php), comprimir el sitio con gZIP y otros valores mas...

Que pasa si mi sitio queda en blanco o da error 500?
Esto significa que alguna de las reglas que agregamos al .htaccess no es aceptada por su servidor, pueden ir probando 1x1 sacando hasta descubrir cual es la causante del problema.

Quiero mejorar mas el WP, que puedo hacer?
Pues aparte de todos los tutoriales que hay en el foro, pueden instalar un plugin de cache, yo uso ZenCache => https://wordpress.org/plugins/zencache/ funciona bastante bien. Si no usan sitios responsive, puede que tengan problemas con el cache, ya que mostrara lo mismo a los usuarios de mobiles que los de PC, para evitar esto hay opciones en el plugin.

Este código funciona para sitios que no sean echos en WP?
Pues claro que si, funciona para cualquier sitio, sea WP o no (NO blogger)

Todo bien... pero como se que puntaje tiene mi sitio?
Accedes a este sitio: GTmetrix | Website Speed and Performance Optimization le das analizar y ese sera tu puntaje, luego colocas el codigo en .htaccess y le das al boton re-analizar para ver los cambios!

Saludos! :encouragement:
 
Última edición:
Muchas gracias por el tutorial 😀
 
muchas gracias.. me sirvió mucho.
 
A favoritos, excelente tutorial. :encouragement:
 
Buenísimo muchas gracias
 
Hola, bastante útil el código seria interesante [MENTION=9679]cicklow[/MENTION] que compartieses el sitio donde realizar la comprobación para ver con la misma exactitud las diferencias.
 
muchas gracias are los pasos a ver que resulta con tantito que mejore mi web me doy por bien servido :boxing1:
 
comparebb.webp

Muy bueno, comparto un antes y después de aplicar este tuto en mi web.
 
A favoritos todo de mi papi CCK
 
(tienes razón, me olvide, ahi lo coloco en el post)

Ayer, precisamente, estaba trabajando en la velocidad de mi sitio, que anda de capa caída.

Introduje un código similar a este, pero me faltaba el gzip, así que lo copie y me fui a pegarlo en al .htacces, para mi sorpresa, del código que había subido ayer, no hay ni rastros.

Así que tengo una duda, el código de marras se pega dentro o fuera del wordpress, es decir, así debe quedar:

# BEGIN WordPress
Options +FollowSymLinks
Options -Indexes
<IfModule mod_headers.c>
<FilesMatch "\.(js|css|xml|gz)$">
Header append Vary Accept-Encoding
</FilesMatch>
<FilesMatch "\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "public"
</FilesMatch>
<FilesMatch "\.(css)$">
Header set Cache-Control "public"
</FilesMatch>
<FilesMatch "\.(js)$">
Header set Cache-Control "private"
</FilesMatch>
<FilesMatch "\.(x?html?|php)$">
Header set Cache-Control "private, must-revalidate"
</FilesMatch>
</IfModule>
<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=290304000, public"
</FilesMatch>

# BEGIN GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
# END GZIP

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|swf)$">
ExpiresDefault "access plus 2 hours"
</FilesMatch>

FileETag none

<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>
# END WordPress


o fuera del #BEGIN wORDPESS

# END WordPress
 
A los foreros les gusta la práctica, las imágenes, es recomendado para el que empieza. Pero yo se que si le pones eso, sumaría más. Pero vale mucho más el darlo gratis. Saludos.

- - - Actualizado - - -

http://i.imgur.com/et995IA.png mierda, 15 segundos, ahora le meto ese código :sleeping:

Reducido: http://i.imgur.com/iJVqNwl.png vamos a mejorar internamente :C
 
Última edición:
Excelente tutorial amigo! Un saludo!
 
A probar el método, muchas gracias por compartirlo [MENTION=9679]cicklow[/MENTION]
 
Como mencione, arriba de todo el codigo de WP esta entre "#BEGIN wORDPESS " y "# END WordPress" eso quedaria abajo del todo...

jjajjjjjjajaja no entiendo. ¿enmedio de begin y end?
 
Atrás
Arriba