Eliminar index.php Wordpress
Pocas cosas dan tanta rabia como encontrarte el "index.php" en tu URL. Algo, por suerte, tan tedioso como fácil de solucionar. Para ello, aquí te explico en pocos pasos cómo eliminar el "index.php" de WordPress.
¿Qué es el index.php?
Básicamente, "index.php" es el archivo principal de WordPress que actúa como punto de entrada para cargar y mostrar contenido en tu sitio web. Aparece en las URLs cuando tu servidor o configuración de enlaces permanentes no están correctamente ajustados para generar URLs limpias.
Por ejemplo, una URL con "index.php" puede verse así:www.tusitio.com/index.php/articulo
¿Por qué aparece esto en el slug?
El index.php aparece en las URLs de WordPress principalmente por razones relacionadas con la configuración del servidor o la estructura de enlaces permanentes. Aquí te explico las causas más comunes:
- Configuración predeterminada de WordPress: cuando instalas WordPress, la configuración inicial de los enlaces permanentes utiliza «URLs simples» que incluyen el archivo index.php. Esto sucede porque no se ha especificado una estructura más amigable.
- Falta de mod_rewrite en el servidor: en servidores Apache, el módulo mod_rewrite es esencial para generar URLs limpias. Si este módulo no está habilitado, WordPress no puede reescribir las URLs y recurre al uso de index.php para redirigir el tráfico correctamente.
- Falta de mod_rewrite en el servidor: en servidores Apache, el módulo mod_rewrite es esencial para generar URLs limpias. Si este módulo no está habilitado, WordPress no puede reescribir las URLs y recurre al uso de index.php para redirigir el tráfico correctamente.
- Configuraciones específicas del servidor: algunos proveedores de hosting, especialmente los que usan servidores NGINX o configuraciones personalizadas, pueden requerir ajustes adicionales para permitir URLs limpias.
Cómo eliminar el index.php en Wordpress
Ahora que ya hemos comprendido la razón de este problema, vamos a darle solución. Para ello, y en vista de que hemos visto que existen varias casuísticas, aquí te explico 2 métodos, uno bastante fácil y otro un poco complejo (que probablemente no tendrás que llegar a usar), para asegurar que quitamos esto de nuestra URL.
Cambiar la estructura de los enlaces permanentes
La forma más sencilla de eliminar "index.php" es ajustar la configuración de los enlaces permanentes desde el panel de WordPress:
- Accede a la configuración de enlaces permanentes: ve a Ajustes > Enlaces Permanentes en el panel de administración de WordPress.
- Selecciona una estructura sin "index.php":
- Elige una opción amigable para SEO, como "Nombre de la entrada" (por ejemplo,
www.tusitio.com/articulo
). - Haz clic en Guardar cambios para aplicar la nueva estructura.
- Elige una opción amigable para SEO, como "Nombre de la entrada" (por ejemplo,
.htaccess
no está correctamente configurado o tu servidor no admite reescrituras de URL, este método puede no funcionar inmediatamente. Por ello, si no te funciona, te invito a leer el siguiente punto.Modificar el archivo .htaccess
El archivo .htaccess en servidores Apache es clave para reescribir URLs y eliminar "index.php". Este archivo se encuentra en la raíz de tu instalación de WordPress (normalmente junto a las carpetas wp-content
, wp-admin
, y wp-includes
).
Para solucionar el problema editando este archivo sigue los siguientes pasos:
- Haz una copia de seguridad del archivo .htaccess antes de modificarlo (basta con copiar y pegar).
- Abre el archivo con un editor de texto (como Notepad++ o el editor integrado de tu hosting).
- Asegúrate de incluir este código en el archivo .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Si has llegado hasta aquí… ¡Apúntate a mi Newsletter y sigue aprendiendo cada semana sobre SEO!