¿Por qué recibo un 301 en una publicación existente?

4

Esto es extraño ...

Tengo dos publicaciones que cuando intento verlas, obtienen un 301 y proceden a redirigir a la siguiente publicación en línea. Estas publicaciones están publicadas. No tengo ningún plugin que ensucie con redirecciones. He intentado deshabilitar otros complementos que podrían causar este problema. También he revisado el guid en la base de datos y es correcto. El htaccess tiene la estructura básica de permalink bastante wp. Por alguna razón, estos 2 enlaces se han marcado como 301, y no puedo ver dónde se hizo esto.

¿Alguna idea?

ACTUALIZAR :

Esto se está poniendo muy raro ...

Entonces, tratando de solucionar problemas, hice lo siguiente:

1. Descarga el sitio al desarrollador local. Pensé que si el problema es el enlace completo, entonces si lo cambio a un enlace dev, el problema ya no existirá. Y eso descartaría la redirección de nivel de dominio 301.

Resulta que el problema aún existe bajo un nombre de dominio diferente.

2. Deshabilitado todos los complementos He deshabilitado todos los complementos. El problema persistió. Por si acaso, he eliminado todos los complementos. Sin suerte.

3. Buscar enlaces codificados Busqué enlaces codificados en todo el tema. También busqué cualquier redireccionamiento php o redirecciones js. Nada.

4. Así que volví a enviar el núcleo de WP Quería asegurarme de que no tenía nada que ver con eso. Nada.

5. He eliminado todas las revisiones

6. Complemento de campos personalizados de ACF deshabilitado Pensé que tal vez la redirección está oculta en algún campo personalizado. Tan deshabilitado el plugin que los muestra. El tema apenas se muestra correctamente, pero la página redirige de todos modos.

No puedo cambiar de tema, ya que toda la lógica de mostrar esta página se realiza en el tema y utiliza muchos campos y tipos de publicaciones personalizados.

Por lo tanto, la siguiente opción era eliminar la página a la que apuntaba la redirección. Así que, por ejemplo, tengo la Publicación 1 que redirige a la Publicación 2. Eliminé la Publicación 2 (la eliminé). El redireccionamiento todavía me llevó a la página de la Publicación 2, pero claro que ahora obtuve un 404 en su lugar. Dado que la publicación 2 está en la basura.

Así que decidí eliminar la Publicación 2 de la papelera, para que ya no estuviera en la base de datos. Una vez que eliminé el Post 2 ... tada! La publicación 1 ya no estaba redirigiendo Eso resuelve los problemas, pero claramente no puedo eliminar la Publicación 2 en el sitio en vivo ...

Todavía no tengo idea de lo que está pasando ...

ACTUALIZACIÓN 2:

Quería estar 100% seguro de que el problema no está en los archivos sino en la base de datos. Así que eliminé casi todo, y solo dejé lo necesario para que las páginas en las preguntas se carguen sin errores. Eso significa que borré todo de functions.php, borré todas las plantillas pero las afectadas, borre estilos, imágenes ... todo. Se eliminó casi todo desde header.php .. dejando solo la inclusión de doctype y estilo (ahí es donde está el nombre del tema). Y la redirección sigue ocurriendo. Incluso quité wp_head, y no tuve suerte. Así que ahora sé que el problema está en la base de datos.

    
pregunta gdaniel 14.12.2015 - 17:54

2 respuestas

5

Después de casi destruir el sitio web (copia) encontré la respuesta, pero no estoy 100% seguro de la causa.

Wordpress guarda el nombre de las entradas de entradas antiguas, para que pueda crear 301 redirecciones. Agrega una entrada a la tabla postmeta llamada _wp_old_slug. Tenía más de 110 entradas en mi tabla de postmeta con muchos valores diferentes. Había un montón de mensajes con el valor incorrecto. No estoy seguro de cómo sucedió esto, pero esto causó los redireccionamientos 301. Tan pronto como eliminé estas entradas de la base de datos, el problema se solucionó.

¿

Tal vez la funcionalidad _wp_old_slug se rompió durante una de las actualizaciones? ¿Y fue arreglado más tarde sin que nadie se diera cuenta? No estoy seguro, pero ni siquiera había oído hablar de esto antes. Tengo pistas sobre mi solución gracias a este sitio web .

    
respondido por el gdaniel 14.12.2015 - 23:09
0

Generalmente, cuando se produce una redirección 301, podría suceder lo siguiente: -

  1. Tienes algunas reglas de reescritura .htaccess rogue. En este caso puedes quiero ir al administrador de WordPress - > Configuración - > Permalinks y luego haga clic en "Guardar cambios". Esto reescribirá la parte de WordPress de el archivo .htaccess
  2. Tiene una configuración de redireccionamiento a nivel de dominio (esto requerirá iniciar sesión en el panel de control de su host para ver si hay algo configurado allí).
  3. Tienes un script de redirección del lado del cliente.
  4. Hay una configuración de Yoast SEO en la sección "Avanzado" que dice Msgstr "Redirigir URLs feos para limpiar los enlaces permanentes". enlace Esto también ha causado problemas de redireccionamiento para los clientes que he trabajado con.

¿Cuál es la URL donde ocurre el problema? Creo que eso nos ayudará a diagnosticar.

    
respondido por el Paul McCarthy 14.12.2015 - 18:51

Lea otras preguntas en las etiquetas