Buenas tardes,
Estoy intentando optimizar mi web.
Y me he dado cuenta que da el plugin que tengo para la politica de cookies (GDPR
Cookie Consent) me da el siguiente problema:
"Quitar el JavaScript que bloquea la visualización de contenido:
…-includes/js/jquery/jquery.js?ver=1.12.4"
Si en Autoptimize excluyo el Scripts js/jquery/jquery.js ; la politica de cookies se me quede encuadrada. Y no se me va si le doy a aceptar.
He probado con otros plugins, incluso con texto en el footer y no consigo solucionar este problema de optimización.
¿Hay alguna solución?
Gracias
URL del sitio: Contenido solo visible a usuarios registrados
Hola,
Verifica si el siguiente enlace te es de utilidad: https://www.webempresa.com/blog/quitar-javascript-que-bloquea-visualizacion-contenido.html no es sencillo realizar lo que solicitas pero en el artículo tienes un par de opciones.
Buenas Johnny,
Gracias por tu respuesta.
He hecho lo que dice el artículo del blog, y si es verdad que soluciona el problema que te planteo.
Pero no me cargan las imágenes... Así que lo dejo como lo tenía antes.
¿No hay ninguna otra opción posible?
Gracias
Hola Domingo.
Si mueves los js es posible que no se muestre, tengas algún error o el funcionamiento no sea el adecuado, de todas formas y previa copia de seguridad de los archivo, prueba lo siguiente:
.- Edita el archivo functions.php y añade lo siguiente
function theme_strip_tags_content($text, $tags = '', $invert = false) { preg_match_all( '//si', trim( $tags ), $tags ); $tags = array_unique( $tags[1] ); if ( is_array( $tags ) AND count( $tags ) > 0 ) { if ( false == $invert ) { return preg_replace( '@.*?@si', '', $text ); } else { return preg_replace( '@.*?@si', '', $text ); } } elseif ( false == $invert ) { return preg_replace( '@.*?@si', '', $text ); } return $text; } function theme_insert_js($source) { $out = ''; $fragment = new DOMDocument(); $fragment->loadHTML( $source ); $xp = new DOMXPath( $fragment ); $result = $xp->query( '//script' ); $scripts = array(); $scripts_src = array(); foreach ( $result as $key => $el ) { $src = $result->item( $key )->attributes->getNamedItem( 'src' )->value; if ( ! empty( $src ) ) { $scripts_src[] = $src; } else { $type = $result->item( $key )->attributes->getNamedItem( 'type' )->value; if ( empty( $type ) ) { $type = 'text/javascript'; } $scripts[$type][] = $el->nodeValue; } } foreach ( $scripts as $key => $value ) { $out .= ''; foreach ( $value as $keyC => $valueC ) { $out .= "n".$valueC; } $out .= ''; } foreach ( $scripts_src as $value ) { $out .= ''; } return $out; }
.-Edita el archivo header.php y busca la siguiente linea:
Modifica la linea por la siguiente:
<?php ob_start(); wp_head(); $themeHead = ob_get_contents(); ob_end_clean(); define( 'HEAD_CONTENT', $themeHead ); $allowedTags = ''; print theme_strip_tags_content( HEAD_CONTENT, $allowedTags ); ?>
.- Edita el archivo footer.php y antes de la etiqueta añade lo siguiente:
Nota: recuerda tener una copia de los archivos antes de modificar por si necesitaras volver a dejarlo todo como estaba, antes de modificar, descargas una copia en tu equipo.
Como te comente antes es complicado ya que muchos de los temas o plugins no funcionan si se carga los scripts al final.
Un saludo
Pepe,
Gracias por tu respuesta.
Pero al ponerlo la web no me funciona completa.
Me he dado cuenta que el fallo que google pagespeed me menciona, solo esta para móvil.
En pc esto no pasa.
No sé si así sería más fácil buscar una solución
Gracias
Hola,
Una opción quizás sea que cambies de plugin de caché por: https://wp-rocket.me/es/caracteristicas/
El plugin es de pago pero dentro de sus opciones cuenta con la característica que solicitas, ojo, no te puedo asegurar que vaya a funcionar pero al ser un servicio de pago puedes solicitar soporte para que te arreglen el problema.
Tienes información de la configuración del plugin en el siguiente enlace: https://www.webempresa.com/blog/como-acelerar-wordpress-plugin-wp-rocket.html