WordPress ha avanzado de un sistema de gestión de contenidos para blogs a que hoy en día sea utilizado para todo tipo de webs. Si tu portada de WordPress no contiene las últimas entradas del blog, sino que estas se encuentran en una página llamada por ejemplo blog, noticias, novedades o similar, hoy te explicamos como conseguir que todas las entradas del blog cuelguen de esa URL y no de la página de inicio. O sea, que si la portada de blog está en dominio.com/blog/, las entradas tengan una URL como la siguiente: dominio.com/blog/entrada-de-blog/ y no como hace WordPress por defecto: dominio.com/entrada-de-blog/.
Uno de los problemas que hemos tenido últimamente con algunas webs de clientes bajo WordPress es que cuando tenemos una página de inicio de la web y otra página distinta con las últimas noticias (o sea, las entradas de WordPress) que por ejemplo se llame /blog/, WordPress por defecto hace que la URL de las entradas no incluyan el prefijo /blog/ y cuelguen de la página de inicio.
Para el ejemplo que os detallamos, vamos a utilizar /blog/ como la página en la cual está el resumen de entradas.
La premisa es que en AJUSTES / AJUSTES DE LECTURA, tengamos seleccionado: «Página frontal muestra» y tengamos configurada una página inicial y una página de entradas.
Con esta configuración el comportamiento por defecto de WordPress es el siguiente:
dominio.com -> Página de inicio
dominio.com/blog/ -> Página con el resumen del as últimas entradas.
dominio.com/entrada-de-blog-1/ -> Entrada de blog, que no cuelga de la sección de blog, sino directamente de la página de inicio.
Si configuramos los enlaces permanentes como estructura personalizada para que se incluya el prefijo /blog/, entonces el resultado es:
dominio.com -> Página de inicio
dominio.com/blog/ -> Página con el resumen del as últimas entradas.
dominio.com/blog/categoria-principal/entrada-de-blog-1/ -> Entrada de blog, que cuelga de la sección de blog, pero también de la categoría principal. O sea, que WordPress incluye la categoría principal en la URL.
No obstante lo que vamos a querer conseguir en la mayoría de casos es que en la URL de la entrada no se incluya la categoría principal:
dominio.com -> Página de inicio
dominio.com/blog/ -> Página con el resumen del as últimas entradas.
dominio.com/blog/entrada-de-blog-1/ -> Entrada de blog, que cuelga de la sección de blog.
Esto WordPress no lo permite configurar sin tocar el archivo .htaccess.
OJO: En el alojamiento no puede existir una carpeta física que se llame /blog/. Esto se puede comprobar fácilmente conectándose al alojamiento web por FTP: Si hay una carpeta visible que se llame /blog/ esto no funcionará tal cual. Si no existe esa carpeta, no habrá problema.
Para conseguir la estructura sin la categoría principal, hay que añadir en el archivo .htaccess la siguiente línea:
RewriteRule ^category/(.+)$ http://dominio.com/$1 [R=301,L]
Además de tener configurados los enlaces permanentes de esta forma:
Con estos cambios conseguiremos que todas las entradas del blog cuelguen de la página de blog y todo esté ordenado de forma lógica.
Si tenéis dudas o preguntas, dejar un comentario.
Si os ha gustado, compartidlo.
Muy buen post Ramon, como siempre en tu linea de ayudar a los demas a solucionar sus problemas del dia a dia.
Muchas gracias por el artículo, es justo lo que estoy buscando, pero me surge una duda, ¿si la web contiene más páginas además del blog también se van a ver modificadas?. Me explico, ¿la pagina contacto tendrá la URL www . midominio . com/blog/contacto? o ¿se mantendrá normal como www . midominio . com/contacto?
Hola Andrés. Solo se modifican las URLs del blog. Las de las páginas se quedan igual.
Hola, Gracias por el post.
Una pregunta:
si yo tengo un post_type ( hecho con el plugin Custom Post Type ) de tipo news, las url de ese tipo quedaran con /blog ?
O se mantendran igual ?
Gracias
Buenos días Jaime,
En las pruebas que hemos hecho no aparece el /blog. Aunque dependiendo del plugin utilizado si que podría aparecer pero no hemos encontrado ningún caso de estos. Si lo has pruebas y tienes problemas, avisa e investigaremos el tema.
Tengo una duda, si tengo entradas creadas del estilo misitioweb.com/entrada1 y quiero que ahora la estructura sea misitioweb.com/blog/entrada1 como hago para redireccionar a aquellas personas que entren a buscar misitioweb.com/entrada1 para que les lleve a la nueva estructura?
muchas gracias
Hola Jesús. Las redirecciones las puedes hacer modificando a mano el archivo .htaccess o con un plugin. Si no tienes claro como aplicar los cambios en el archivo .htaccess, lo más recomendable es hacerlo a través de un plugin. Nosotros te recomendaríamos usar este: Redirection. Potente y fácil de usar.