Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Ruta de las subpaginas

Estas en el tema de Ruta de las subpaginas en el foro de WordPress en Foros del Web. Hola a todos, Tengo mi web construida en php, por módulos: head.php, footer.php, advertising.php, seo-tags.php etc y quería pasarla a WordPress. Estoy preparando la estructura ...
  #1 (permalink)  
Antiguo 22/01/2011, 12:25
 
Fecha de Ingreso: noviembre-2009
Mensajes: 26
Antigüedad: 14 años, 4 meses
Puntos: 0
Ruta de las subpaginas

Hola a todos,
Tengo mi web construida en php, por módulos: head.php, footer.php, advertising.php, seo-tags.php etc y quería pasarla a WordPress.
Estoy preparando la estructura para migrarla y han sucedido dos cosas que no entiendo si afectaran al posicionamiento.
La 1º es que a pesar de haber puesto una estructura personalizada para los enlaces permanentes, esta: /%postname%.php la respuesta que da el navegador y el generador del sitemap de WordPress es:
www.miweb.com/postname en lugar de www.miweb.com/postname.php
Omite el .php aunque si lo escribo en el navegador obvio la pagina se carga igual.
Google tiene indexada la web vieja y el sitemap con las url terminadas en .php he de redireccionarlas eliminando el .php como estará en el nuevo sitemap? es indiferente?
Y la otra cuestión es que algunas subpaginas de mi web las tenia en directorios y otras no, dando lugar a que dos subpaginas de dos submenus diferentes quedasen así:
www.miweb.com/pagina-padre/subpagina.php
www.miweb.com/subpagina.php (omite la pagina padre de la ruta)
Ambas son subpaginas y están indexadas con una ruta u otra dependiendo de lo que decidí en su día, sin embargo montando la estructura en WordPress todas las subpaginas las asocia a la pagina padre en la ruta:
www.miweb.com/pagina-padre/subpagina
y no conozco la manera de dejarlo así:
www.miweb.com/subpagina (omitiendo la pagina padre de la ruta)
en las ocasiones que sea necesario para emular la web vieja y no tener que redireccionar todos los php que omitían la pagina padre de su ruta en la antigua web, que son el 60% de la web como poco.
Cualquier ayuda, comentario u orientación sera bienvenido,
Gracias por la ayuda
  #2 (permalink)  
Antiguo 27/01/2011, 01:20
 
Fecha de Ingreso: mayo-2009
Mensajes: 75
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Ruta de las subpaginas

Para mi humilde conocimiento eso es complicado pero se me ocurre que eso se podría hacer modificando algo en el htacces.
  #3 (permalink)  
Antiguo 05/02/2011, 10:15
 
Fecha de Ingreso: noviembre-2009
Mensajes: 26
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Ruta de las subpaginas

Gracias Hibam,
A falta de respuesta decidí hacer el experimento con una web que me importaba algo menos.
He encontrado una solución, satisfactoria, la dejo aquí por si alguien que llega al post con el mismo problema necesita esta solución o por si alguien mas puesto que yo la mejora.
Lo que hice fue lo siguiente:
Montar en http://localhost la web en Wordpress con la base de datos también en mi pc.
Para las dos capas de profundidad donde yo solo tenia una (ruta padre-hijo) simplemente hice una redirección 301 con un plugin, los hay a docenas para ello, yo utilice el plugin redirection.
Cuanto termine de construir la web, elimine del servidor la web antigua y subí los archivos Wordpress de localhost al servidor.
La base de datos la exporte y la importe a una nueva en el servidor por la seguridad que este ofrece, una vez allí, envié las siguientes consultas sql:

UPDATE wp_options SET option_value = replace(option_value,'http://localhost','http://www.miweb.com') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = replace(guid,'http://localhost','http://www.miweb.com');

UPDATE wp_posts SET post_content = replace(post_content,'http://localhost','http://www.miweb.com');

Ahora la base de datos del servidor enfoca al dominio asi como las paginas, post etc.
Si abres panel de control veras que todo esta correcto, como esta la carpeta al completo no tienes ni que reactivar los pliguns.
Solo queda saber si google responde al dominio sin el .php a la hora del indexado que era la única duda que me quedaba ya que es obvio que si en las busquedas de google alguien aprieta la web con el .php el navegador si la abrirar al estar escrito todo Wordpress en php.
Hice el sitema con wp-sitemap y lo envié a google.

Durante unos minutos lo desindexo todo y lo de dejo a cero, pero después me devolvió todas las url indexadas incluidas las que habían sufrido la redirección 301 por tema padre.hijo.

Así que con este método el cambio de migrar una web a wordpres con otra estructura y no perder el indexado es seguro.

Yo la verdad no se mucho y quizás exista aquí alguna chapuza que otra, o había un método mucho mejor y mas sencillo. Si alguien lo mejora para que pueda beneficiar a la gente que de con este post al toparse con el mismo problema sera bienvenida cualquier corrección o mejora.

Un saludo.
  #4 (permalink)  
Antiguo 05/02/2011, 22:52
 
Fecha de Ingreso: mayo-2009
Mensajes: 75
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Ruta de las subpaginas

Yo una vez hice algo parecido y no quise proponerte mi solución porque pensé que era más complicado lo que querías. Aquí dejo mi aporte, es una traducción y adaptación a mis necesidades.

Solución

Después de una larga busqueda que duró casi un día encontramos la respuesta en un blog (creditos al final) y aquí la tenemos:

Código PHP:
Ver original
  1. <?php
  2.     $redirect = false;
  3.     $path = $_SERVER['REQUEST_URI'];
  4.     if ($path == '/oldpath.php') {
  5.     $path = '/newpath';
  6.     $redirect = true;
  7.     }
  8.     $url = $_SERVER['HTTP_HOST'];
  9.     if ($url!='http://viejositio.com') {
  10.     $redirect = true;
  11.     }
  12.     if ($redirect==true){
  13.     header('HTTP/1.1 301 Moved Permanently');
  14.     header('Location: http://nuevositio.com' .$path);
  15.     }
  16.     ?>

Cada vez que alguien pide una página que fue movida al dominio nuevo, este script en php redirige al navegador automaticamente, de ese modo no perdemos ninguna visita y tampoco causamos molestias a los usuarios. Otra ventaja es que si alguien busca algo que no se encuentra en el sitio viejo ni en el nuevo, el scrip no interfiere con la página de error 404 del sitio viejo ni del nuevo y se muestra el archivo 404 por defecto sin ningún problema. Además, por ser un script en php es tan rápido que el usuario ni siquiera nota que ha sido redirigido y lo mejor es que no necesitas tener acceso al direcrotio raíz del servidor. Casi lo olvido es lo ideal para no afectar al SEO de la página ni el page rank.

Explicación del código (opcional)

Código PHP:
Ver original
  1. <?php <!-- comienza el script en php -->
  2.     $redirect = false; <!-- asigna la variable "false" $redirect -->
  3.     $path = $_SERVER['REQUEST_URI']; <!-- asigna la url que pidio el usuario a la variable $path -->
  4.     if ($path == '/oldpath.php') { <!-- pregunta si $path es igual a /oldpath.php de no ser as&#237; entonces -->
  5.    $path = '/newpath'; <!-- asigna /newpath a $path -->
  6.     $redirect = true; <!-- asigna true a redirect y redirije -->
  7.     }
  8.     $url = $_SERVER['HTTP_HOST']; <!-- asigna la url que pidio el usuario a la variable $url -->
  9.     if ($url!='http://viejositio.com') { <!-- si se asigna http://viejositio.com a la variable url entonces -->
  10.     $redirect = true; <!-- redirige -->
  11.     } <!-- se cierra la condici&#243;n -->
  12.    if ($redirect==true){ <!-- si se redirije la p&#225;gina entonces -->
  13.    header('HTTP/1.1 301 Moved Permanently'); <!-- avisa al navegador o a google que la p&#225;gina fue movida -->
  14.    header('Location: http://nuevositio.com' .$path); <!-- redirije el navegador a la direcci&#243;n http://nuevositio.com más lo que tenga la variable $path -->
  15.    } <!-- fin de la condici&#243;n -->
  16.    ?> <!-- cierra el scrip de php -->

Esto me funcionó perfecto desde el primer intento si alguien tiene alguna duda que pregunte, será un gusto ayudarles. Cualquier corrección les ruego me hagan saber.

Créditos del script original en PHP: fl1p
  #5 (permalink)  
Antiguo 06/02/2011, 08:15
 
Fecha de Ingreso: noviembre-2009
Mensajes: 26
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Ruta de las subpaginas

Hola,
Viendo por encima ese script hace lo mismo que el plugin que instale, aunque es mas económico, hace prácticamente lo mismo sin necesidad de tener cientos de lineas.
En realidad lo que yo quería era modificar la ruta que da por defecto wordpress a las subpaginas, pero solo cuando así lo necesitase, y personalizar los enlaces permanentes no sirvió, redireccionar las url ha sido un mal menor.
Es de suponer que modificando el código por algún lado se puede hacer que Wordpress responda como yo necesitaba, sin embargo escapa a mis conocimientos y dada la ausencia de respuestas en Google opte por esto, aunque como te digo no era la opción deseada.
Personalmente prefiero los plugins porque mi conocimiento de php es muy limitado y estos suelen tener soporte por parte de sus creadores al margen de integrarse solos y las opciones de que yo rompa algo son mas escasas.
Estoy seguro de que a muchos servirá de ayuda el script,
Muchas gracias por tu ayuda e interés.
Un saludo

Etiquetas: ruta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:54.