19/7/20

Hard Refresh de una página con problemas de cache



Todavía no sé por qué ocurre. Podría ser el theme, la configuración del htaccess o del wp-config. Pero mi sitio Web wordpress no actualiza las URL si no refresco la página. 

Navegaba por todas las URL del sitio y todas mostraban el mismo contenido, de la última URL. Solo al presionar F5 lograba ver el contenido correcto.

Probé con todo lo que sé. Busqué en todas partes y obtuve alguna información. Es el cache del sitio. Pero no sé más que eso. Y ante tanta frustración, prefería hacer un parche absurdo, que funciona.

Cuando el Path del post en la URL no coincide con el Path del post que se carga en la página, hace un Hard Refresh. 

<script type="text/javascript">
  if (window.location.pathname !== "<?php if (!is_singular()) {
    echo strtok($_SERVER["REQUEST_URI"], '?');
  } else {
    echo str_replace(home_url(), '', get_permalink($post->ID));
  } ?>"){
    location.reload(true);
  }
</script>

Esta solución de parche recarga la página si el Path del post en el código no coincide con el Path del post en la URL.

UPDATE


Luego de hacer pruebas por largas horas, agregando y quitando elementos del htaccess, legué a una extraña revelación: las reglas de caché y deflate para las páginas son las que fuerzan la carga de una página que no corresponde. Al menos éste fue mi caso.

Si te ocurre lo mismo, ve al htaccess y comenta las reglas de caché y deflate para estos tres tipos de documento:

  • text/html
  • text/xml
  • text/x-component

;)

No hay comentarios:

Publicar un comentario