Mejoras SEO en la URL

O ¿cómo quitar el «index.php» de las URLs?

Hoy estrenamos URLs nuevas. Hace 3 días escasos en la serie de mejoras SEO que me proponían desde SiouxLive me encontré con un problema que no fui capaz de solucionar yo solo, se trataba de cambiar las URLs de las entradas de Phylosoft.

Las antiguas eran «http://phylosoft.com/mejoras-seo-en-phylosoft/» y tenía que cambiarlas a «http://phylosoft.com/mejoras-seo-en-phylosoft/», mucho más cortas y con las palabras clave más cerca del inicio.

Me indicaban además que para no perder los enlaces entrantes que hubiera en otros blogs y webs tendría que instalar un plugin que hiciera las redirecciones automáticamente de las viejas a las nuevas. Parecía fácil, pero cuando me puse a implementar esa mejora solo lo conseguí a medias.

Modificando las estructura de permalinks en el panel de WordPress e instalando el plugin solo conseguía que todo siguiera funcionando si mantenía en la URL el trozo /index.php/ que precisamente era lo que más urgía quitar.

Escribí un post explicando las mejoras que ya había implementado (Mejoras SEO en Phylosoft) y pidiendo la ayuda de los expertos para esta última. Y la ayuda llegó, Mariano de MP3d – Posicionamiento SEO y Adsense se ofreció a echarme un cable y sin conocer las entrañas de mi blog y hosting ha acertado a la primera.

Y ahora, la solución a ¿cómo quitar /index.php/ de las URLs cuando parece que no se puede?

Presupuestos: este blog está montado sobre WordPress, los servidores son Linux y tengo acceso al archivo .htaccess de la raíz del hosting. Además el servidor tiene la opción RewriteEngine habilitada.

Paso cero: Como siempre antes de tocar cualquier archivo del blog: Haz copias de seguridad de los archivos y de la base de datos, no tiene que pasar nada, pero …

Primer paso: modificar el archivo .htaccess para añadir el siguiente código al final:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Segundo paso: Instalar y activar el plugin Dean’s Permalinks Migration. Este plugin hace las redirecciones 301 de la estructura antigua de URLs a la estructura nueva automáticamente. No necesita configuración, solo con activarlo ya detecta las viejas.

Tercer paso: Modificar la estructura de permalinks. Accede a Opciones>Permalinks en el panel de control de WordPress y modifica la «Estructura personalizada». En mi caso tenía que borrar lo que había y dejar solo /%postname%/

Cuarto paso: Comprueba que todo sigue funcionando. Accede a blogs donde sepas que enlazan entradas tuyas y comprueba que siguen funcionando. Desde tu propio blog, navega entre entradas, páginas, categorías, archivo, …

Y ya está! Gracias a las propuestas de SiouxLive y la ayuda de MP3d – Posicionamiento SEO y Adsense se puede decir que Phylosoft es algo mejor en términos de SEO, ahora a esperar los resultados de estas medidas.

12 respuestas a «Mejoras SEO en la URL»

  1. Pingback: ¡Lo conseguí! | Café Bombón
  2. Pero, por que se te hizo tanto problema?
    normalmente el WP ultimas versiones, viene con el Permalink ya activado

    lo unico que deberias haber hecho es en el setting del permalink, seleccionar la opcion de personalizado y colocar ahi lo siguiente:

    /%category%/%postname%.html

    y listo asi obtienes paginas html

  3. @Aldo
    Pero cuando ya llevas 6 meses con las URLs de una manera, los efectos de cambiar su formato son negativos y hay que intentar solucionarlos y además mi server no me permitía quitar el «index.php» de forma sencilla. De ahí tener que dar tanta vuelta e instalar y tocar tantas cosas. Lo que tun indicas es lo que yo describo en el Paso 3.

  4. la verdad que si, es muy interesante, ni sabia que se podia hacer eso, esta bueno porque aprendi algo nuevo, el problema es que aunque esta todo explicado todavia me da miedo hacerlo xD, pero bueno, se supone que con una copia de seguridad no deberia tener problemas, ya vere como hago, me encanta probar las cosas que pones, saludo!

  5. Muchisimas gracias, se que el post es antiguo pero me ha servido de maravilla para una web desarrollada con Magento, solamente he activado reescrituras y añadido el código en el .htaccess y funciona a la perfección. Muchas gracias.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *