Plugins y algunos trucos para WP
Viendo actualmente:.htaccess

Solución al error “W3 total cache error: some files appear to be missing or out of place”

Desinstalando el plugin W3 Total Cache me ha dado un error bien raro, entre las lineas de error aparecia “W3 total cache error: some files appear to be missing or out of place”

He intentado volver a instalar el plugin para ver si me dejaba desinstalarlo pero no ha habiado manera. Al parecer este plugin a veces puede dar problemas.

En la mayoría de servidores “normales” ya no hacen falta este tipo de plugins de cache ya que el propio servidor ya hace muchas de esas funciones, y no compensa tener por el uso de memoria, lentitud etc..

En mi caso, que uso DINAHOSTING, me informaron que tras alguna actualización de servidores, ya incorporaban muchas de esas funciones de cacheo y que podía prescindir de esos plugins.

Por suerte, googleando un poco he encontrado una fácil solución:

 

  • Acceder al FTP a la carpeta wp-content  de WordPress y borrar los siguientes archivos:
    • advanced-cache.php
    • db.php
    • object-cache.php
    • w3-total-cache-config.php
  • Borrar la carpeta del plugin W3 Total Cache que encontrarás en la carpeta wp-content/plugins/
  • Volver a generar el archivo .htaccess (borrarlo desde el FTP previa copia de seguidad y vuelve a generarlo desde Ajustes/Enlaces Permanentes)

A mí con todo esto me ha funcionado perfectamente!

 

 


Cómo bloquear ip por htaccess en WordPress

Cómo bloquear ip por htaccess en WordPress

¿Cómo bloquear ip por htacces en WordPress para proteger de visitas indeseadas de nuestra web?

Un cliente hace poco tenía algunos problemas con su servidor, recibía muchas visitas y la transferencia del servidor era muy elevada. Algo estaba pasando, investigando en Google Analytics y Awstats encontramos que el 95% del tráfico de la web provenían de 2 ip de Moldavia.

¿Cómo solucionarlo? con el archivo .htaccess que tanto nos ayuda en nuestras webs, ya sean WordPress o no.

en nuestro caso pondremos el siguiente código:

<Limit GET POST>
order allow,deny
deny from 44.44.44.14
deny from 44.44.44.15
allow from all
</Limit>

Restringimos el acceso a esas dos IP sospechosas y al resto las dejamos entrar.

Así pues, ya sabemos cómo evitar visitas indeseadas que nos aumenten la transferencia de nuestro servidor o evitar los ataques de SPAM de algunos servidores.


Cambiar la url de acceso administrador a WordPress

¿Cómo cambiar la url de acceso al admistrador de WordPress? Es casí obligatoria esta medida de seguridad para poder evitar los ataques por fuerza bruta por parte de robots que intentan así no sólo acceder a nuestra web, sinó que acaban saturando nuestro servidor y lo hacen caer.

Existen varias maneras, como siempre las más fáciles son mediante plugins, yo lo hago así con todas las webs que gestiono y los resultados son óptimos.

Plugin iThemes Security, apartado settings, ir la sección de Hide Login Area y cambiar el Login Slug:

ocultar-wp-admin

(más…)


Cómo evitar hotlinking y proteger el ancho de banda de tu servidor

Cómo evitar el hotlinking

¿Cómo puedo hacer para prevenir esta mala práctica de que algún otro inserte en su web una imagen que está en mi servidor robando así mi ancho de banda?

Gracias al .htaccess, existen dos maneras, una simplemente lo evita, devolviendo un error al que pone la imagen en su web/blog, y otra que particularmente me gusta más, haciendo que cargue otra foto en lugar de la que quiere copiar.

 

Manera 1: cambiar http://web.com por la nuestra url

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://web.com*/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://web.com*$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|zip)$ - [F,NC]
</IfModule>

Manera 2:

<IfModule mod_rewrite.c>
RewriteEngine on RewriteCond %{HTTP_REFERER} !^http://web.com*/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} ^http://.*$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://web.com*/imagen-error.jpg [NC,R,L]
</IfModule>

Así pues, ya sabemos cómo evitar hotlinking y hacer que sólo nuestra web nos cargue nuestras fotos y el consumo de ancho de banda sea real.


Redirección de páginas con .htaccess

Imaginemos que hacemos una migración de una web, o simplemente cambiamos una plantilla o theme. En nuestra nueva web creamos nuevas secciones y modificamos un poco el contenido.

¿Qué ocurre con nuestra indexación de Google? ¿Vamos a dejar que sea el robot de Google el que vaya a actualizar esta información?

NUNCA!!! ya que primero detectará muchas URLS que ha no existen, y luego si acabará indexando bien, pero seguro que nos penaliza por no hacerlo bien…

Veamos un ejemplo de esta tienda de electrodomésticos. Hemos hecho unos cambios, y a la hora de buscar el nombre la de la web nos aparece esto:

redireccions-301

Horror!!! varios  de nuestros resultados conducen a una página de error 404!!!

¿Cómo solucionarlo? Primero seleccionando las URL que no son válidas y poniendo después la URL actual que sería su equivalente en la nueva web. Todo esto en el .htaccess de la siguiente manera:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
Redirect 301 /web/category/nuevo/lavadora-nuevo http://urlnueva.com/web/categoria-producto/lavadoras
Redirect 301 /web/category/ofertas http://urlnueva.com/web/categoria-producto/oferta
etc...
</IfModule>

Para saber exactamente las URLS que no existen, podemos ir a Webmaster Tools, y allí en el apartado de RASTREO-ERRORES DE RASTREO, podemos saber el listado de URLS que estan afectadas. Lo ideal sería hacerlo con todas. Si son muchas o poco importantes, podemos dejar que sea el propio robot de Google el que las elimine. Pero las secciones importantes de nuestra web, y sobre todo las categorías principales sí lo tenéis que hacer así.


Especificar la caché del navegador para mejorar el PageSpeed de Google

¿Cómo especificar la caché del navegador para mejorar el PageSpeed de Google?

Fàcil, añadiendo unas lineas a nuestro .htaccess

Tenemos dos maneras de hacerlo, bien indicando en una sola linea todos lo tipos de archivo e indicando un tiempo de cache, o bien un poco más avanzado, indicando un tiempo por tipo de archivo, lo que os sea más fácil.

Manera 1:

<IfModule mod_expires.c>
<filesmatch "\.(jpg|JPG|gif|GIF|png|PNG|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 month"
</filesmatch>
</IfModule>

Manera 2:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access plus 1 month"
</IfModule>

De esta menera mejoraremos las prestaciones de nuestra web, y también el SEO!


Deshabilitar la navegación por los directorios o carpetas de tu web

Deshabilitar la navegación por los directorios o carpetas de tu web

Algunas veces puede pasar que navegando por tu web te des cuenta que si pones el nombre de una de las carpetas puedas ver el contenido de çestas, y todo internet también pueda veras, algo tipo así:

Deshabilitar-navegacion-directoriosweb

Esta vulnerabilidad puede ser fatal, ya que estamos dejando las puertas abiertas para que vean que tipo de web que tenemos.

¿Cómo solucionar este problema y hacer que nuestras carpetas o directorios de nuestra web no sean visibles desde fuera? (más…)


Como redirigir a los usuarios según idioma con .htaccess

Manera de redirigir a tus usuarios según idioma del navegador por .htaccess

 

Muchas son las ventajas que tenemos al saber configurar correctamente nuestro archivo .htaccess, pero una cosa que puede ser muy interesante, es poder redireccionar a nuestros visitantes en función del idioma del navegador que estén usando al entrar en nuestra web.

Imaginenos que tenemos estas direcciones en nuestra web según el idioma:

www.pagina.com  (para español)

www.pagina.com/en  (para inglés)

www.pagina.com/fr  (para francés)

Pues bien, editando nuestro archivo .htaccess de la siguiente manera:

 


RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (en) [NC]
RewriteRule .* http://www.pagina.com/en/ [R,L]

RewriteCond %{HTTP:Accept-Language} (es) [NC]
RewriteRule .* http://www.pagina.com/ [R,L]

RewriteCond %{HTTP:Accept-Language} (fr) [NC]
RewriteRule .* http://www.pagina.com/fr/ [R,L]

 

Sobre todo mucho cuidado al editar el arhivo .htaccess, cualquier mínimo fallo nos hacer que la web no funcione, antes de modificar hacer copia de seguridad.


Permitir el acceso sólo a una IP a nuestro panel de administración de WordPress

Permitir el acceso sólo a una IP a nuestro panel de administración de WordPress

Muchas son las amenazas que sufren los WordPress y otro tipo de webs.
Hoy os explicaré el truco que he usado para uno de mis clientes:

-Restringir el acceso al archivo login.php para que sólo una o varias IP puedan acceder. De esta manera descartamos cualquier tipo de ataque de fuerza bruta a este archivo.

La web podrá verla todo el mundo, pero sólo podrán acceder al wp-admin los que se conecten desde las IP’s que digamos. No hay que decir que sobre todo se usa para personas que tengan una IP fija, los que tienen IP dinámica han de estar cambiando la IP cada vez que el proveedor se la cambia.

El código se ha de poner el archivo .htaccess:
<Files wp-login.php>
Order deny,allow
Deny from all
Allow from 63.46.19.351
Allow from 69.168.237.136
</Files>

En este caso sólo damos acceso a dos IP’s.

Espero que os haya servido como a mí!


Restringir acceso de IP a wp-admin

Restringir acceso de IP a wp-admin

En varias de mis páginas me encuentros con los típicos intentos de entradas a wp-admin que han llegado a colapsar el servidor.
En algunos casos concretos no basta con los tipicos plugins de seguridad, y tenemos que cerrar el acceso por completo a nuestros archivos, excepto a nosotros, por supuesto.

Añadiendo estas lineas a nuestro .htacess denegaremos el acceso al archivo wp-login.php y así no podran intentar entrar en nuestro WordPress. Ponemos eso si nuestra ip (podemos saberla rápidamente con http://www.cualesmiip.com/)

<Files wp-login.php>
Order deny,allow
Deny from all
Allow from 89.41.19.291 (o IP que corresponda en http://www.cualesmiip.com/

Allow from …..(se pueden añadir más IP’s)
</Files>

 

Espero que os sea de ayuda, recordad que esto sirve para controlar que IP’s pueden acceder al administrador de WordPress.


Eliminar index.php de la url en wordpress

Eliminar index.php de la url en wordpress

Si en las opciones enlaces permanentes sólo os deja estas opciones:

  • https://servisplus.es/plugins-wordpress/?p=123
  • https://servisplus.es/plugins-wordpress/index.php/2015/02/14/pagina-ejemplo/
  • https://servisplus.es/plugins-wordpress/index.php/2015/02/pagina-ejemplo/
  • https://servisplus.es/plugins-wordpress/index.php/archivos/123
  • https://servisplus.es/plugins-wordpress/index.php/pagina-ejemplo/
  • etc…

Si quereis quitar ese molesto index.php, tenéis que añadir una linea de código en el archivo wp-includes/vars.php. Al final de todo el archivo añadid esta línea:

$is_apache = 1;

(verificad antes que vuestro servidor trabaje con apache)

Ya podréis acceder al panel de administrador y en la sección de permalinks os saldrán las diferentes opciones de enlaces permanentes sin el dichoso index.php

Ahora ya salen las opciones así:

  • https://servisplus.es/plugins-wordpress/?p=123
  • https://servisplus.es/plugins-wordpress/2015/02/14/pagina-ejemplo/
  • https://servisplus.es/plugins-wordpress/2015/02/pagina-ejemplo/
  • https://servisplus.es/plugins-wordpress/archivos/123
  • https://servisplus.es/plugins-wordpress/pagina-ejemplo/  (Y esta es la mejor opción para tener un SEO bueno!!-Nombre de la entrada)
  • etc…

 

ACTUALIZACIÓN:

Otra opción es hacer este mismo cambio mediente el archivo .htaccess, mucho cuidado y antes de nada hacer una copia de seguridad de este archivo.

añadiendo esto debajo:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /index\.php/[^\ ]+
RewriteRule ^index\.php/(.*)$ /$1 [L,R=301]
</IfModule>

De esta manera tambien forzamos a una redirección 301 a las urls que aun tenga el index.php

 


Powered by WordPress | Designed by Elegant Themes