Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Los 12 trucos .htaccess más útiles para WordPress

Editar el archivo .htaccess de su sitio web puede parecer intimidante para los principiantes de WordPress. Pero, según nuestra experiencia, es una herramienta que puede utilizar para mejorar el rendimiento, la seguridad y el SEO de su sitio web.

Puede considerar este archivo como un panel de control para ajustar los parámetros del servidor de su sitio sin necesidad de ser un asistente de codificación.

En este artículo, le mostraremos algunos trucos útiles de .htaccess para WordPress que le darán un mayor control sobre su presencia en línea.

Most Useful .htaccess Tricks for WordPress

¿Qué es el archivo .htaccess y cómo editarlo?

El archivo .htaccess es un archivo de configuración del servidor web Apache. Es un archivo de texto que le permite definir las reglas que debe seguir su servidor para su sitio web WordPress.

WordPress utiliza el archivo .htaccess para generar una estructura de URL SEO-friendly. Sin embargo, este archivo puede hacer mucho más que almacenar ajustes de enlaces permanentes.

El archivo .htaccess se encuentra en la carpeta raíz de su sitio WordPress. Para editarlo, deberá conectarse a su sitio web mediante un cliente FTP o el gestor de archivos cPanel.

.htaccess file on a WordPress site

Si no puede encontrar su archivo .htaccess, consulte nuestra guía sobre cómo encontrar el archivo .htaccess en WordPress.

Antes de editar su archivo .htaccess, es importante que descargue una copia del mismo a su ordenador como copia de seguridad. Puede utilizar ese archivo en caso de que algo vaya mal.

Dicho esto, echemos un vistazo a algunos trucos útiles de .htaccess para WordPress que puede probar:

1. Proteja su área de administrador de WordPress

Puede usar .htaccess para proteger su área de administrador de WordPress limitando el acceso solo a direcciones IP seleccionadas.

Simplemente copie y pegue este fragmento de código en su archivo .htaccess:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# whitelist Syed's IP address
allow from xx.xx.xx.xxx
# whitelist David's IP address
allow from xx.xx.xx.xxx
</LIMIT>

No olvides sustituir los valores xx por tu propia dirección IP. Si utilizas más de una dirección IP para acceder a Internet, asegúrate de añadirlas también.

Para obtener instrucciones detalladas, consulte nuestra guía sobre cómo limitar el acceso al administrador de WordPress mediante .htaccess.

2. Proteger con contraseña la carpeta de administrador de WordPress

Password protect WordPress admin directory

Si accede a su sitio de WordPress desde varias ubicaciones, incluidos puntos de Internet públicos, es posible que limitar el acceso a direcciones IP específicas no funcione en su caso.

Puede utilizar el archivo .htaccess para añadir una protección de contraseña adicional a su área de administrador de WordPress.

En primer lugar, debe generar un archivo .htpasswds. Puede crear uno fácilmente utilizando este generador en línea.

Suba este archivo .htpasswds fuera de su directorio web de acceso público o de la carpeta /public_html/. Una buena ruta sería:

/home/usuario/.htpasswds/public_html/wp-admin/passwd/

A continuación, cree un archivo .htaccess y súbalo al directorio /wp-admin/ y añada el siguiente código:

AuthName "Admins Only"
AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd
AuthGroupFile /dev/null
AuthType basic
require user putyourusernamehere
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>

Importante: No olvide sustituir la ruta AuthUserFile por la ruta de su archivo .htpasswds y añadir su propio nombre de usuario.

Para obtener instrucciones detalladas, consulte nuestra guía sobre cómo proteger con contraseña la carpeta de administrador de WordPress.

3. Desactivar la exploración de directorios

Disable directory browsing

Muchos expertos en seguridad de WordPress recomiendan desactivar la exploración de directorios. Con la exploración de directorios activada, los piratas informáticos pueden examinar la estructura de directorios y archivos de su sitio para encontrar un archivo vulnerable.

Para desactivar la navegación por directorios en su sitio web, debe añadir la siguiente línea a su archivo .htaccess:

Options -Indexes

Para más información sobre este debate, consulte nuestra guía sobre cómo desactivar la navegación por directorios en WordPress.

4. Desactivar la ejecución de PHP en algunos directorios de WordPress

A veces, los hackers irrumpen en un sitio de WordPress e instalan una puerta trasera. Estos archivos de puerta trasera suelen camuflarse como archivos del núcleo de WordPress y se colocan en las carpetas /wp-includes/ o /wp-content/uploads/.

Una forma más sencilla de mejorar la seguridad de WordPress es desactivando la ejecución de PHP para algunos directorios de WordPress.

Deberá crear un archivo .htaccess en blanco en su ordenador y pegar en él el siguiente código:

<Files *.php>
deny from all
</Files>

Guarde el archivo y, a continuación, súbalo a los directorios /wp-content/uploads/ y /wp-includes/.

Para más información, marque / compruebe nuestro tutorial sobre cómo desactivar la ejecución de PHP en determinados directorios de WordPress.

5. Proteja su archivo de configuración de WordPress wp-config.php

Probablemente el archivo más importante en el directorio raíz de su sitio web WordPress es el archivo wp-config.php. Contiene información acerca de su base de datos de WordPress y cómo conectarse a ella.

Para proteger su archivo wp-config.php de accesos no autorizados, simplemente añada este código a su archivo .htaccess:

<files wp-config.php>
order allow,deny
deny from all
</files>

6. Establecer redireccionamientos 301 a través del archivo .htaccess

El uso de redirecciones 301 es la forma más respetuosa con el SEO de indicar a los usuarios que el contenido se ha trasladado a una nueva ubicación. Si quieres gestionar correctamente tus redireccionamientos 301 entrada por entrada, consulta nuestra guía sobre cómo establecer redireccionamientos en WordPress.

Por otra parte, si desea establecer rápidamente los redireccionamientos, todo lo que tiene que hacer es pegar este código en su archivo .htaccess:

Redirect 301 /oldurl/ http://www.example.com/newurl
Redirect 301 /category/television/ http://www.example.com/category/tv/

7. Prohibir direcciones IP sospechosas

¿Está recibiendo un número inusualmente alto de peticiones a su sitio web desde una dirección IP específica? Puede bloquear fácilmente esas peticiones bloqueando la dirección IP en su archivo .htaccess.

Simplemente añada el siguiente código a su archivo .htaccess:

<Limit GET POST>
order allow,deny
deny from xxx.xxx.xx.x
allow from all
</Limit>

No olvide sustituir xx por la dirección IP que desea bloquear.

8. Desactivar Hotlinking de imágenes en WordPress usando .htaccess

Si otros sitios web enlazan directamente las imágenes de su sitio, su sitio WordPress puede volverse lento y superar su límite de ancho de banda. Esto no es un gran problema para la mayoría de los sitios web más pequeños. Sin embargo, si tienes un sitio web popular o un sitio web con muchas fotos, entonces esto podría convertirse en un problema grave.

Puede evitar el hotlinking de imágenes añadiendo este código a su archivo .htaccess:

#disable hotlinking of images with forbidden or custom image option
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?wpbeginner.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]

Este código solo permite mostrar imágenes si la solicitud procede de wpbeginner.com o Google.com. No olvides sustituir wpbeginner.com por tu propio nombre de dominio.

Para más formas de proteger tus imágenes, consulta nuestra guía sobre formas de evitar el robo de imágenes en WordPress.

9. Proteger .htaccess de accesos no autorizados

Como has visto, hay muchas cosas que se pueden hacer utilizando el archivo .htaccess. Debido a la potencia y el control que tiene sobre su servidor web, es importante protegerlo de accesos no autorizados por parte de hackers.

Simplemente añada el siguiente código a su archivo .htaccess:

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

10. Aumentar el tamaño de subida de archivos en WordPress

Existen diferentes formas de aumentar el límite de tamaño de subida de archivos en WordPress. Sin embargo, para los usuarios con alojamiento compartido, algunos de estos métodos no funcionan.

Uno de los métodos que ha funcionado para muchos usuarios es añadir el siguiente código a su archivo .htaccess:

php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300

Este código simplemente indica a su servidor web que utilice estos valores para aumentar el tamaño de subida de archivos, así como el tiempo máximo de ejecución en WordPress.

11. Desactivar el acceso al archivo XML-RPC usando .htaccess

Cada instalación de WordPress incluye un archivo llamado xmlrpc.php. Este archivo permite que aplicaciones de terceros se conecten a su sitio WordPress. La mayoría de los expertos en seguridad de WordPress recomiendan desactivar esta característica si no se utilizan aplicaciones de terceros.

Hay varias formas de hacerlo. Una de ellas es añadiendo el siguiente código a su archivo .htaccess:

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

Para más información, consulte nuestra guía sobre cómo desactivar XML-RPC en WordPress.

12. Bloqueo de exploraciones de autor en WordPress

Una técnica común utilizada en los ataques de fuerza bruta consiste en realizar exploraciones de autor en un sitio de WordPress y luego intentar descifrar las contraseñas de esos nombres de usuario.

Puede bloquear este tipo de exploraciones añadiendo el siguiente código a su archivo .htaccess:

# BEGIN block author scans
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* - [F]
# END block author scans

Para más información, consulte nuestro artículo sobre cómo desalentar los ataques de fuerza bruta bloqueando los exploradores de autor en WordPress.

Esperamos que este artículo te haya ayudado a aprender los trucos .htaccess más útiles para WordPress. Puede que también quieras ver nuestra guía sobre cómo realizar una auditoría de seguridad en WordPress y nuestra selección experta de los mejores plugins de protección de contenidos para WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

Obtenga acceso GRATUITO a nuestro kit de herramientas - una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Reader Interactions

37 comentariosDeja una respuesta

  1. Simeon

    Thanks so much for this. Very helpful!

    • WPBeginner Support

      Glad it was helpful!

      Administrador

  2. Jackson Andrade

    I use password protection for wp-login.php. My customers cannot logout when login.php is protected. Is there a way I can allow customers to logout without calling wp-login.php?action=logout?
    Admins too can’t logout, but that’s not an issue.
    Woocommerce customer’s logut url is, domain.com/account/customer-logout.
    Both call wp-login.php for logout. Customers are asked for htaccess id and password. If there is a workaround, let me know. Thanks

    • WPBeginner Support

      If your site has a login for users who are not your admins then we would not recommend password protecting your wp-login.php for the time being and we do not have a workaround at this time.

      Administrador

      • Jackson Andrade

        Thanks for that Info. Hope Wordpress adds a feature in future where it won’t redirect to login.php for logging out.

  3. HtaccessGuy

    Don’t password protect wpadmin if you use AJAX else it’l break stuff.

    • WPBeginner Support

      If you mean for 2 in this list, we’ve added code to allow ajax to continue to work.

      Administrador

      • Ana

        This resolved my issue with above code. Thanks.

  4. Abhi

    Please Help Me.
    when I paste the following code in .htaccess file it shows an error that is..

    It appears you don’t have
    permission to access this page.
    403 Error. Forbidden.

  5. Ben

    Great article!
    Do I need to do this if I already have installed WordFence plugin?
    Some people don’t recommend messing with .htaccess file.
    Regards.

    • WPBeginner Support

      None of these tricks are required if you don’t want to use them, they are only helpful tools that you can use.

      Administrador

  6. Sebastian

    I am not sure what does “Protect .htaccess From Unauthorized Access” mean exactly. Will I be able to access it if I make changes from point 9?

    • WPBeginner Support

      It means if someone knows where your htaccess is located and tries to view the file by putting that address in the url, the browser will not be able to view it.

      Administrador

  7. reus

    how to use wp login user name and password (registered user) to access in your no. 2 topic (Password Protect WordPress Admin Folder).

    hope to to find answer here.

    thank you

    • WPBeginner Support

      If you wanted to use that, you would need to set the information in the htpasswds file

      Administrador

      • reus

        thank you for your response, how to set that information in the htpasswds? thank you

        • WPBeginner Support

          We show the tool to use under tip 2 in the article :)

  8. Selvakumaran Krishnan

    Hai Syed Balkhi,

    I have to open a URL which has query parameters and strings like this.

    something.example.com/pagename.php?query1=string1&query2=string2&redirecturl=http%3A%2F%2Fsomething.example2.com/something&query3=string3

    In the above URL, the problem is %3A%2F%2F. It shows 403 forbidden error. If I remove that part, the URL works fine.

    I have searched and tried all the methods like mod rewrite, redirect, etc,. but nothing works.

    Is there any way to remove (or) rewrite (or) redirect that encoded part using .htaccess file. That part is in the middle of so many parameters. There are a lot of query parameters before and after that part.

    Please share your idea.

  9. Kathrine

    This is a great article!! I followed your instructions and everything works fine. I tried to open my admin site using the different IP address and it works great. Thank you for sharing your knowledge.

  10. Mohamed Adel

    When Protecting the directory to wp-admin (as explained in 2. Password Protect WordPress Admin Folder), wen I go to any page on the site the massage appears to put password.. How to fix that?
    I tried from Cpanel and the same problem happens

  11. Tony

    The tip in point 4 for disabling php execution has started to cause issues with the tinymce editor in pages & posts. A php file is included in the tinymce folder that loads the relevant js files. I’ve just removed the htaccess code from the wp-include folder to stop the issue. Maybe there’s another way around this?

  12. Pankaj

    Point 5 is not working
    (5. Protect Your WordPress Configuration wp-config.php File)

    [05-Mar-2018 08:20:03 Etc/GMT] PHP Parse error: syntax error, unexpected ‘<' in /home/—–/public_html/xyz.com/wp-config.php on line 91

    • WPBeginner Support

      Hi Pankaj,

      The code in the 5th trick needs to be pasted in .htaccess file and not in wp-config.php file.

      Administrador

  13. Maximilian

    Hi there, thank you!
    Is ist possible to see the whole .htaccess somewhere? Yes, i could read: “put one line after the other” but still I am not sure.

    Is then “# END WordPress° sill the last line or is it somewhere on the top then?

    And what do you think about putting “Options -Indexes” on the very end?

    Thank you for your answer!

  14. yudi cahyadi

    good article..i have a question, after implementing the code in htaccess. Do I need to install a security plugin or not..??

    yudi cb(beginner)

  15. Mario von Gollaz

    Hi there, nice article. Is there a way to bulk redirect?

    Mario

  16. Kevin

    Hi,
    Great article and just one question!
    Should you place the extra code (especially speed opimisations) before or after the # BEGIN WordPress part?

    Regards
    Kevin

  17. Brian Wohn

    Hi, my theme developer told me this might be in the htaccess, but I don’t know why my wordpress is adding this at the end of all my pages:

    Any idea why its adding the “/?v=8f2564d40946”? I’ve checked my PermaLinks, Slugs, etc and nothing there?

    Thanks for your help!

    • WPBeginner Support

      Hi Brian,

      It lools like GeoLocation tag added by WooCommerce.

      If you are using WooCommerce, then you can turn it off. Go to WooCommerce General Options page and uncheck option ‘Geolocate with page caching support’ option.

      Administrador

  18. Adrienne Warden

    Another wonderful post from WP Beginner…Just one tip for all us newbies…While WP Beginner has some of the best tips and trick for WordPress, when it comes to protecting your site, if you are on a shared server, search “support” first. I’ve learned a lot about the backend from reading post on WP Beginner, but the truth of the matter is – I’m no backender and most shared hosting already have a fix in place for these sorts of things…I’m with InMotion and they actual have set up one click solutions for many issues that effect site security. I turned off the file Index right from CPanel…

    Still WP Beginner is my go to for WordPress knowledge…You guys are awesome!

  19. Fien

    That is a nice article about htaccess. But how to implement this in one file? Can I put all lines after another?

  20. Liew CheonFong

    Great list. Bookmarked!

    Do you have same list for NGINX web server (which does not read .htaccess file) ?

  21. Pattye

    There is a way to ban bots from crawling your site the this file. Any suggestions in doing that, besides banning the IP?

Deja tu comentario

Gracias por elegir dejar un comentario. Tenga en cuenta que todos los comentarios son moderados de acuerdo con nuestros política de comentarios, y su dirección de correo electrónico NO será publicada. Por favor, NO utilice palabras clave en el campo de nombre. Tengamos una conversación personal y significativa.