¿Qué archivos puedes y debes bloquear desde .htaccess?

Es importante para la seguridad de tu WordPress que utilices el archivo .htaccess para bloquear accesos a archivos importantes de tu instalación y que podrían estar en el punto de mira de posibles hackeos.

¿Qué archivos puedes bloquear desde htaccess?

Bloquea archivos de la carpeta wp-includes para evitar que los usuarios puedan inyectar código malicioso en sus archivos.

# Bloquea wp-includes 
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

Deshabilita el archivo wp-config donde hay demasiada información sensible sobre nuestra instalación

#Deshabilitar el archivo wp-config
<files wp-config.php>
order allow,deny
deny from all
</files>

Deshabilita el propio archivo htaccess  para que no puedan inyectar reedirecciones

#Deshabilitar el archivo htaccess
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

Y, aunque esto sucedía en versiones más antiguas de WordPress, sigue evitando también la navegación por directorios de tu sitio

#Deshabilita la navegación por directorios de tu sitio
Options All -Indexes
Sin comentarios

Como evitar contenido duplicado en Google con Robots.txt

El contenido duplicado es uno de los problemas más graves que te puedes encontrar en SEO (posicionamiento en buscadores). Si Google rastrea nuestro sitio y detecta contenido duplicado, podría hacernos bajar muchos puestos o incluso eliminar nuestra web de su buscador.

Si trabajamos con WordPress lo mejor para evitar este problema es modificar el archivo robots.txt de nuestra instalación. Desde aquí, bloquearemos la indexación de las páginas de tags, autor, date, search etc… o alguna página específica que no queremos indexar como el aviso legal, información sobre cookies… etc o que tiene contenido que puede ser tratado como duplicado.

Archivo Robots

Vamos a ello, accede por FTP a la carpeta raíz de tu web, crea un archivo llamado robots.txt y añade todas estas líneas:


User-agent: *
Disallow: /tag/
Disallow: /category/
Disallow: /author/
Disallow: /20*/
Disallow: page/*

Disallow: /*/feed/
Disallow: /*/trackback/
Disallow: /*/attachment/
Disallow: /cgi-bin
Disallow: /wp-content/plugins/ 
Disallow: /wp-content/themes/ 
Disallow: /wp-includes/
Allow: /wp-content/uploads/*
Allow: /wp-content/*.js
Allow: /wp-content/*.css
Allow: /wp-includes/*.js
Allow: /wp-includes/*.css

Disallow: /xmlrpc.php
Disallow: /?attachment_id*
Disallow: /?s= 
Disallow: /search
Disallow: /*?

User-agent: *
Allow: /feed/$ 
Disallow: /feed/ 
Disallow: /comments/feed/
Disallow: /*/feed/$ 
Disallow: /*/feed/rss/$ 
Disallow: /*/trackback/$ 
Disallow: /*/*/feed/$ 
Disallow: /*/*/feed/rss/$ 
Disallow: /*/*/trackback/$ 
Disallow: /*/*/*/feed/$ 
Disallow: /*/*/*/feed/rss/$ 
Disallow: /*/*/*/trackback/$


Con User-agent: * estamos diciendo que esta regla es para todos los rastreadores.
Disallow: Es la regla para decir que no permitimos la indexación.
Con asterisco *, indicamos cualquier número de caracteres.
Con símbolo de Dólar $, indicamos que no deben de haber más caracteres a continuación.

Podemos también bloquear alguna página específica de nuestra web, por ejemplo:
Disallow: /avisolegal
Disallow: /informacion-cookies

Esta regla de no indexación la podríamos hacer también como una función, aquí puedes ver un ejemplo:

function noindex_para_portfolio()
{
if ( is_singular( 'portfolio' ) ) {
echo '<meta name="robots" content="noindex, follow">';
}
}

add_action('wp_head', 'noindex_para_portfolios');

Y también podríamos añadirlo en nuestro header.php

<?php if($paged > 1 || is_author() || is_tag() || is_date() || is_attachment()){
  echo '<meta name="robots" content="noindex,follow" />';
} ?>

Pero lo recomendable es usar robots.txt e ir añadiendo las páginas específicas que no queremos indexar en buscadores.

¿Te ha servido de ayuda? ¿Quieres ampliar este artículo con tus experiencias? Escríbenos un comentario o rellena el formulario de contacto y te contestaremos lo antes posible.

Sin comentarios

Evita que se puedan editar themes y plugins desde el escritorio

Una medida de seguridad muy importante, sobre todo si trabajas con colaboradores, es evitar la posibilidad de que estos puedan editar themes y plugins desde el escritorio, un mínimo cambio que hagan desde aquí puede dejar tu web sin acceso.
Aunque ya no es tan peligroso como antes, es mejor que no permitas tocar nada desde el escritorio WordPress.

Normalmente nosotros solemos trabajar directamente desde el FTP para editar nuestros archivos, con lo que no nos sirve de nada tener esta opción en el front-end. Si a tí te pasa lo mismo, mira que sencillo es eliminar esta funcionalidad.

  1. Abre el archivo config.php que tienes en la carpeta raíz de tu instalación WordPress
  2. Copia y pega este código
    /*Evitar acceso al editor themes y plugins en escritorio*/ 
    define('DISALLOW_FILE_EDIT', true);
  3. Guarda el archivo y vuelve a tu escritorio para comprobar que ya no aparece esta opción

Si quieres ir más allá y te interesa que tampoco puedan instalar themes y plugins desde el escritorio puedes añadir también esta línea.

/*Evitar instalación de themes y plugins en escritorio*/ 
define('DISALLOW_FILE_MODS',true);

Date cuenta de lo importante que puede ser esto para la seguridad de tu web, ya que si alguien consigue acceder al administrador de tu sitio en WordPress, puede agregar el código que quiera en tu theme editando estos archivos. Este simple «truco» es esencial para evitarlo.

Sin comentarios
×
×

Carrito