Categoría: CMS

  • Cómo activar un plugin de WordPress con PHPMyAdmin

    Cómo activar un plugin de WordPress con PHPMyAdmin

    Acabas de desactivar / activar un plugin en tu WordPress y te aparece la famosa Pantalla blanca de la muerte (white screen of death), es decir, no aparece nada en el navegador, ni tu sitio ni tu panel de administración, todo está en blanco y te quieres morir ;)

    Esta pantalla puede tener otras causas aquí os voy a dejar la solución por si es provocada por un plugin.

    Solución a Pantalla blanca de la muerte por un plugin

    Si ha ocurrido al activar un plugin y tienes acceso FTP puedes desactivar todos los plugins simplemente renombrando la carpeta de plugins wp-content/plugins a por ejemplo plugins_old

    Si ha ocurrido al desactivar un plugin puedes reactivarlo desde la BBDD. Accede a PHPMyAdmin y en la tabla wp_options busca la fila «active_plugins»

    Este sería el valor para un sitio con sólo 2 plugins activos, JetPack y Woocommerce

    a:2:{
    
    i:0;s:19:"jetpack/jetpack.php";
    i:1;s:27:"woocommerce/woocommerce.php";
    
    }

    El 2 es el número de plugins activos

    Cada plugin activo tiene esta sintaxis:

    i:0;s:19:"jetpack/jetpack.php";
    i:(orden);s:(número de caracteres de la ruta del plugin):"(ruta del plugin)";

    Para activar otro plugin debes:

    1. cambiar el valor del total de plugins activos y
    2. añadir una nueva línea con los valores que hemos indicado,

    Digamos que quieres activar el plugin Yoast SEO, cambiarías el 2 por 3 y añadirías una nueva línea:

    a:3:{

    i:0;s:19:»jetpack/jetpack.php»;
    i:1;s:27:»woocommerce/woocommerce.php»;
    i:2;s:24:»wordpress-seo/wp-seo.php»

    }

    Para averiguar el nº de caracteres de la cadena de la ruta del plugin, el 24 en el caso del plugin Yoast SEO, pega la ruta aquí

  • Cómo editar en vivo CSS o Sass con Chrome

    Cómo editar en vivo CSS o Sass con Chrome

    Las herramientas para desarrolladores de Google Chrome pueden mejorar el flujo de trabajo de un desarrollo web. Digamos que estás trabajando en el diseño de un tema de WordPress y usas el preprocesador Sass.

    Normalmente estarás trabajando en local, para ello tendrás instalado algún software para tener un servidor local en tu equipo que corra Apache, MySQL y PHP: XAMP, AMPPS, MAMP o cualquier otro. En el artículo Cómo instalar WordPress en local paso a paso explico cómo hacerlo.

    Y trabajarás con algún editor o IDE en el que irás editando los archivos PHP del tema. En este artículo vamos a ver cómo editar en vivo el CSS o Javascript desde el navegador y poder guardar los cambios realizados aunque trabajes con un preprocesador.

    Las herramientas para desarrolladores de los navegadores son parte fundamental del proceso, utilizamos la consola, analizamos, etc. pero cuando editamos algo los cambios no se guardan y tenemos que reproducir esos cambios en nuestro IDE.

    Google Chrome permite que le demos permiso para que cuando editemos algo esos cambios se guarden gracias a los Workspaces (espacios de trabajo).

    Añadir Workspaces

    El proceso es muy sencillo:

    1. Abre en el navegador Google Chrome tu proyecto web y las herramientas para desarrolladores
    2. En Settings > Workspace añade el directorio de tu proyecto, si trabajamos con WP, añade la ruta al tema en el que estás trabajando. Te aparecerá un mensaje pidiendo arriba «DevTools solicita acceso completo a (tu directorio). Asegúrate de no revelar información confidencial». Pincha en «Permitir»
    3. Una vez añadido este Workspace debes mapear tus archivos locales con los de red, introduce la url de tu sitio, por ejemplo:  localhost/wordpress y en la derecha no tienes más que poner / .
    4. Si actualizas la página ya podrás editar en vivo y verás que los cambios que hagas en tu CSS se están guardando, en la consola tienes un historial de cambios que siempre puedes revertir.

    Algunas consideraciones, estos cambios no se van a guardar:

    • los cambios en el DOM,
    • los estilos que añadas como inline,
    • las nuevas reglas que hagas a no ser que los insertes en el panel Sources.

    Trabajando con un preprocesador como Sass en Chrome

    Claro que seguramente estés trabajando con un preprocesador CSS, digamos que es Sass aunque puede ser otro como Less o Stylus o alguno de Javascript (ver preprocesadores soportados). Si es así no querrás editar el archivo CSS sino el archivo .scss que corresponda, el archivo donde has incluido esa regla CSS.

    Chrome es capaz de detectar estos archivos de origen gracias al archivo de mapa de origen (.map), un archivo en formato JSON que establece la relación de cada declaración de CSS y la línea correspondiente del archivo de origen (.scss)

    En Settings > Preferences asegúrate que en Sources tienes activada la opción «Enable CSS source maps», por defecto lo está.

    Cada archivo CSS compilado hace referencia a ese mapa de origen en forma de comentario especial en la última línea del archivo.

    Ejemplo:

    /*# sourceMappingURL=estilos.css.map */
    

    Si te manejas con Sass pero no con la línea de comandos puedes usar Koala, un software multiplataforma de código abierto y gratuito que además de compilar Sass, Less, Compass y CoffeeScript tiene la opción de crear este mapa de origen y añadir esa línea en el CSS compilado.

    Por último te aconsejo que actives un par opciones experimentales de Chrome que pueden ayudarte. Primero activa las opciones experimentales en chrome://flags/#enable-devtools-experiments

    Experimentos de Herramientas para desarrolladores Mac, Windows, Linux, Chrome OS
    Habilita los experimentos de Herramientas para desarrolladores. Utiliza el panel de configuración de este servicio para activar experimentos individuales.

    En Settings > Experiments activa Live Sass y Source diff

    Live Sass te permite editar en vivo variables de Sass y Source diff añadirá una ayuda visual de colores a los cambios que vayas haciendo. Las líneas borradas se marcarán en rojo, las modificadas en púrpura y las nuevas en verde.

    Una vez hecho esto podrás editar CSS (o Sass) directamente desde el navegador.

  • Página de inicio fuera del directorio de instalación de WordPress

    Página de inicio fuera del directorio de instalación de WordPress

    WordPress no tiene porqué instalarse en la raíz de tu sitio, puedes hacerlo en un subdirectorio. Digamos que tu dominio es miweb.com y tu WP está instalado en miweb.com/blog/

    Puedes hacer esto para que tu página de inicio tenga independencia completa de WP y también para tu directorio de instalación esté más protegido.

    Hay 2 formas de tener la home o página de inicio fuera de WP:

    1. Página de inicio independiente pero comunicada con WP

    Podrás comunicarte con tu WordPress añadiendo al principio de tu miweb.com/index.php el siguiente código

    <?php
     define('WP_USE_THEMES', false); /* true si quieres usar el tema activo de tu WP*/
     require('/ruta_completa/public_html/miweb.com/blog/wp-load.php');
    ?>
    

    De esta forma puedes utilizar el tema activo de tu WP (opcional) y/o utilizar cualquier función de WP fuera de WordPress.

    2. Página de inicio integrada en WordPress

    Otra forma es integrar ese miweb.com/index.php dentro de tu WP aunque la instalación esté fuera y gestionarla dentro del panel de administración y tema de tu WP como una página más.

    Sigue estos pasos suponiendo que tu dominio es miweb.com y que has instalado WordPress en miweb.com/blog/

    1. Copia (¡no muevas!) de miweb.com/blog/ los archivos index.php y .htaccess en tu directorio raíz
    2. Ve a Ajustes -> Generales y pon tu dominio en Dirección del sitio (URL)

    1. Edita el archivo index.php que has copiado a la raíz de tu sitio y cambia la ruta
      require( dirname( __FILE__ ) . '/wp-blog-header.php' );

      por

      require( dirname( __FILE__ ) . '/blog/wp-blog-header.php' );
    2. En Ajustes > Enlaces permanentes puede que si tu sitio ya existía en miweb.com/blog/ quieras mantener esta estructura así que añade «/blog/» a tu configuración de enlaces permanentes
    3. Si tienes configurado en Ajustes > Lectura que la página de inicio muestre las entradas puedes crear un archivo en tu tema de nombre home.php para personalizar la home, si tienes cconfigurado que en vez de las entradas se muestre una página puedes editar esa página o añadirle alguna plantilla de página o directamente crear un archivo front-page.php

     

  • WordPress: Ordenar cronológicamente etiquetas, categorías y taxonomías

    WordPress: Ordenar cronológicamente etiquetas, categorías y taxonomías

    He creado un plugin para ordenar cronológicamente etiquetas, categorías y taxonomías. Está ya a vuestra disposición de forma gratuita en el repositorio oficial de WordPress:

    IDATERMS – Plugin Directory — WordPress

    ¿Para qué sirve este plugin?

    plugin para ordenar cronológicamente etiquetas, categorías y taxonomías En el panel de administración de WordPress no es posible ordenar cronológicamente las etiquetas, categorías o cualquier otra taxonomía que hayas creado. En las entradas, las entradas personalizadas, páginas y medios no existe este problema porque se almacenan en la BBDD su fecha de creación y en el panel de administración tenemos una columna «Fecha» para ordenarlos cronológicamente.

    En cambio en las taxonomías vas a tener sólo 4 columnas por defecto: Nombre, Descripción, Slug y Cantidad. Ninguna de las columnas por defecto va a ordenar cronológicamente los términos (terms), en la tabla wp_terms no se almacenan su fecha de creación.

    Quizás no sea un problema para el común de los wordpresseros, pero a mi me ha ocurrido en mi web de cine y series elfinalde.com que tengo registrada una taxonomía de «actores» con más de 35.000 términos y necesitaba averiguar cuáles eran los últimos 10 actores que había añadido.

    Además en muchos proyectos he tenido que enseñar al cliente cómo obtener el ID de una categoría o etiqueta para que la utilice en algún widget, plugin, slider o shortcode, ya sabéis, viendo la URI de la misma.

    Así que uniendo los 3 conceptos ID – DATE y Terms y en una explosión de creatividad (jajaja) llamé al plugin IDATERMS que añade una columna en las páginas de taxonomías (Etiquetas, Categorías y taxonomías personalizadas) con el ID de cada term.

    Al activarlo tendrás por defecto esta nueva columna en las Categorías y en las Etiquetas. Si tienes taxonomías personalizadas puedes ir a Ajustes > IDATERMS para seleccionar en cuáles quieres añadir esta columna.

    El plugin en acción:

    Existen otras 2 soluciones sin plugins:

    1. una sencilla, sin código para casos puntuales,
    2. otra mediante código para añadir una columna extra.

    Todas estas soluciones se basan en que las taxonomías tienen un campo term_id autoincremental, es decir, WordPress viene con una categoría por defecto «Uncategorized» y su ID es 1. El siguiente término que añadamos sea cual sea su taxonomía (una etiqueta, una taxonomía personalizada u otra categoría) tendrá un term_id con valor 2, el siguiente 3 y así sucesivamente, de forma que aunque no sea un campo de fecha sabemos que el término con term_id 15 se creó después del 10.

    1. Solución más sencilla sin código

    Para un caso puntual la solución es bastante sencilla, en la página de administración de la taxonomía que quieres ordenar no tienes más que cambiar la URI.

    En el parámetro orderby pones como valor «term_ID» y en order «asc o desc» dependiendo si quieres que se muestren de las más nuevas a las más antiguas o viceversa

    http://tudominio.com/wp-admin/edit-tags.php?taxonomy=category&orderby=term_ID&order=asc

    En este ejemplo veremos las categorías (taxonomy=category) ordenadas cronológicamente (orderby=term_ID) de las más antiguas a las más nuevas (order=asc)

    2. Solución estable con código

    Si como en mi caso te conviene tener siempre a mano la posibilidad de ordenar cronológicamente las taxonomías puedes añadir el siguiente código (las 3 funciones) a tu archivo functions.php o en un plugin.

    Conseguiremos una nueva columna en la(s) taxonomía(s) que nos permitirá ordenarla cronológicamente.

    Aunque sea una solución estable si en algún momento nos estorba siempre podremos ocultarla mediante las «Opciones de pantalla»

    Necesitamos 3 funciones y 3 filtros:

    1. manage_edit-{taxonomía}_columns
    2. manage_edit-{taxonomía}_custom_column
    3. manage_edit-{taxonomía}_sortable_columns

    1. Función para añadir columna y posicionarla la primera, antes de «Nombre»

    function nueva_columna_taxonomy_columns( $defaults )
    {
    	$nuevascolumnas = array();
        
        foreach($defaults as $key=>$value) {
            
            if($key=='name') {  // buscamos la primera columna "Nombre"
              $nuevascolumnas['mi_columna_ID'] = __('ID');  // añadimos nuestra nueva columna antes que nombre, podemos llamarla Fecha, ID o como queramos
            }    
            
            $nuevascolumnas[$key]=$value;
        }  
    
        return $nuevascolumnas; 
    
    	
    }
    
    add_filter('manage_edit-post_tag_columns' , 'nueva_columna_taxonomy_columns');
    add_filter('manage_edit-category_columns' , 'nueva_columna_taxonomy_columns');

    En esta función hemos buscado en el array de las columnas por defecto ($defaults) la primera columna que es ‘name’ (Nombre) y añadimos nuestra nueva columna antes que ella y devolviendo un nuevo array.

    Por último le pasamos el filtro a las taxonomías donde queremos utilizarla. En nuestro ejemplo la hemos añadido a las categorías (category) y a las etiquetas (post_tag) pero si quisiéramos añadirla a alguna taxonomía personalizada simplemente añadimos el filtro con el nombre de esa taxonomía manage_edit-{taxonomía}_columns, por ejemplo:

    add_filter('manage_edit-actores_columns' , 'nueva_columna_taxonomy_columns');

    2. Función para añadir contenido a la nueva columna

    Ponemos como contenido el term_ID de cada término. Al igual que en la función anterior si queremos añadir alguna taxonomía personalizada, por ejemplo «actores» añadimos:

    add_filter( 'manage_actores_custom_column', 'nueva_columna_taxonomy_contenido', 10, 3 ); // aquí le ponemos la prioridad (10) y el número de argumentos que por defecto es 1 lo pasamos a 3

    function nueva_columna_taxonomy_contenido ( $content, $nombre_columna, $term_ID )
    {
        if ( 'mi_columna_ID' == $nombre_columna ) { 
            
            $content = $term_ID;
        }
        
    	return $content;
    }
    
    add_filter( 'manage_post_tag_custom_column', 'nueva_columna_taxonomy_contenido', 10, 3 );
    add_filter( 'manage_category_custom_column', 'nueva_columna_taxonomy_contenido', 10, 3 );

    3. Función para hacer que la columna se ordene

    Todo lo anterior no tiene verdadera utilidad si no podemos ordenar los términos por su ID, gracias al filtro manage_edit-{taxonomía}_sortable_columns WordPress añadirá al título de nuestra columna el icono de la flechita con CSS y lo hará clickable.

    function mi_columna_sortable_columns( $sortable_columns ) {
    
       $sortable_columns[ 'mi_columna_ID' ] = 'term_ID';
    
     return $sortable_columns;
    
    }
    
    add_filter( 'manage_edit-post_tag_sortable_columns', 'mi_columna_sortable_columns' );
    add_filter( 'manage_edit-category_sortable_columns', 'mi_columna_sortable_columns' );
    
  • 28 datos curiosos sobre WordPress

    28 datos curiosos sobre WordPress

    Los sistemas de gestión de contenidos (CMS) son utilizados por millones de blogs y sitios web. WordPress es actualmente el CMS más popular en el mercado de hoy y tiene más de 17 millones de sitios web. El 27,3% de los sitios web que existen utilizan WordPress.

    WordPress, el gestor de contenidos más popular, en 2016 ha sido galardonado por séptimo año consecutivo como el mejor CMS del año. Hay mucho que aprender acerca de WordPress, al final del artículo podrás ver una infografía con 28 datos interesantes sobre este popular CMS.

    Adelantamos algunos.

    Los principales Temas y Plugins para WP

    Hay miles de temas gratis y plugins disponibles en WordPress.

    Los temas gratuitos más populares de los usuarios de WordPress son:

    Los temas comerciales más vendidos para WordPress son

    Los plugins más vendidos para WordPress son:

    Empresas Asociadas

    El nombre de la compañía que posee la mayoría del mercado en CMS es Automattic y tiene 490 empleados. La empresa que más temas y plugins de WordPress produce es Envato. Cuenta con aproximadamente 180 empleados en Australia y 80 contratistas alrededor del mundo. En 2015, Envato tuvo un ingreso de más de $400 millones.

    Los sueldos de los Desarrolladores CMS

    Los datos recogidos nos dicen que, aunque WordPress tiene la mayor cantidad de usuarios, no ofrece el salario más alto. Las herramientas de CMS Drupal y Joomla ofrecen salarios más altos a sus desarrolladores en comparación con WordPress. Los desarrolladores de Drupal ganan un salario promedio anual de $84,000, los desarrolladores de Joomla ganan aproximadamente $82,000 al año y los desarrolladores de WordPress ganan en promedio $79,000 al año.

    Infografía WordPress

    El equipo de Skilled.co ha diseñado esta infografía con datos de más de 30 fuentes que además han traducido a español para nosotros: 28 cosas que probablemente no sabes sobre WordPress.

    En inglés:

     

  • Oda a WordPress

    Oda a WordPress

    En este artículo pretendo enaltecer, pelotear y agradecer a lo que me viene dando de comer desde hace ya unos años: WordPress. Concretamente a la versión .org, no es que no agradezca a Matt Mullenweg y a su Automattic el respaldo que brindan a WordPress.org pero el .com no ha sido más que un servicio que presento a mis alumnos en las primeras clases.

    Sé que para muchos desarrolladores o diseñadores esto de hacerse embajador de un software por encima de cualquier otra opción supone ser corto de miras, de hecho siempre digo a mis alumnos que el software no es importante, son sólo herramientas y si tenemos una buena base nos dará igual adaptarnos. De forma que:

    • si sabemos (y se nos da bien) fotografía, la cámara que utilicemos será algo secundario, incluso el software de edición: Photoshop, Lightroom, GIMP…
    • si sabemos de diseño gráfico nos dará igual Illustrator o Inkscape, muchos recordaréis con nostalgia FreeHand
    • si sabemos de diseño y desarrollo web, al menos Frontend HTML, CSS, JS, PHP, sabremos adaptarnos a cualquier editor Brackets, Sublime, DW… y a cualquier CMS o plataforma: Joomla!, Drupal, WordPress, Magento, Prestashop, TYPO3, Ghost, etc.
    • y mil ejemplos más dicotómicos si cabe: Microsoft vs Apple… vs Linux

    Teniendo las base de conocimiento sabremos adaptarnos y esto implica que también sabremos elegir, en los ejemplos anteriores seguro que tienes como yo alguna preferencia, si por gajes del destino tuvieras que prescindir de esa herramienta preferida, digamos FreeHand, estudiarías las otras opciones y volverías a elegir tu preferida. Saber adaptarse no es estar cambiando cada dos por tres de herramienta, aunque sea gratuita, haces un estudio, alguna prueba pero cuando ya dominas una tiene que pasarte algo muy grave para cambiar. Yo tengo, imagino que como todos vosotros, mis herramientas prefereridas y en la categoría CMS es WordPress.

    WordPress cumple todas las expectativas que espero de un CMS. Las características que se recogen en páginas como esta de strato no dejan nada fuera. WordPress es versátil, flexible, escalable, seguro (a pesar de lo que algunos dicen) y sobre todo tiene el apoyo de una gran comunidad.

    A la eterna pregunta ¿Qué herramienta me recomiendas para mi proyecto web? el 99% de las veces he respondido WordPress. El otro ha sido Moodle ;)

    Es cierto que a veces el cliente ha impuesto al final otro CMS pero si está en mi mano la opción es WP. Hasta ahora no he encontrado nada que no pudiera hacer con él y el futuro, aunque siempre incierto, me dice que cada vez será más difícil que carezca de algo.

    Recuerdo cuando el CMS rey era Joomla! y WP era sólo para eso de los blogs pero hay datos que apuntan a que el futuro de WP está asegurado.

    • Automattic es una gran empresa cuyo producto estrella es WordPress.com ergo aunque sea de código abierto hay mucho dinero detrás, WP.org es y siempre será gratuito pero si dejara de actualizarse moriría. Internet avanza tan rápido que cualquier CMS, tema o plugin que no esté continuamente actualizado queda vulnerable u obsoleto en menos que canta un gallo.
    • La cantidad creciente de sitios creados con WP crea un mercado de profesionales que se sustenta de WP para su desarrollo, mantenimiento y actualización.
    • Esos profesionales y aquellos que tienen su proyecto creado con WP forman la mayor comunidad que existe de un CMS. Miles de foros, tutoriales, cursos, temas y plugins, gratuitos y comerciales.
    • La curva de aprendizaje de WP es mucho menor que la de otros CMS. Esto es bueno para todos. Para los clientes que con apenas formación son capaces de administrar su propio sitio. Para los configuradores que pueden crear sitios sin apenas tocar código con frameworks y builders. Para cualquier desarrollador que se enfrente a su primer proyecto con WP.

    Después de esta perorata seguro que en los comentarios me dejaréis opiniones afines porque somos muchos los que debemos algo (o mucho) a WordPress, ejemplo del amigo Antonio Cambronero, pero seguro que también veremos opiniones de embajadores de otras opciones y comentarios que hablen sobre que cada proyecto tiene su propia idiosincrasia y no hay que casarse con nadie. Todos son bienvenidos.

     

     

  • 8 sitios web que parodian a partidos políticos

    8 sitios web que parodian a partidos políticos

    La libertad de expresión debe primar en un país democrático pero parece que no siempre se tiene el suficiente sentido del humor para aceptar una parodia satírica.

    Vamos a ver 8 sitios webs que parodian a partidos políticos

    En las redes sociales ya conocíamos casos de censura pero no había llegado el caso de denunciar una web que ha tenido que cerrar. Es el caso de la web rajoypresidente.es que ahora redirige a la sección de las elecciones de sus geniales autores «El Mundo Today»

    En esa web aparecía el nombre y foto de Rajoy junto a varias de sus perlas

    rajoy-presidente

    Tras la denuncia del PP cerraron la web que lógicamente se hizo viral y los de El Mundo Today lanzaron esta otra saltándose toda la censura.

    Esa web de la que usted me habla – Por mí, bien. Exactamente igual pero con siluetas y cambiando los nombres propios por insinuaciones irónicas a «esa persona que usted menciona»

    Esa web de la que usted me habla – Por mí bien.

    Pero El Mundo Today no sólo ha parodiado al PP, estas son las webs parodias de las otras 3 fuerzas políticas

    Ciudadanos – Ha llegado nuestro tiempo

    Ciudadanos – Ha llegado nuestro tiempo

    Podemos – La marea de círculos de las sonrisas

    Podemos – La marea de círculos de las sonrisas

    Pedro Sánchez Presidente – El socialismo en toda su esencia

    Pedro Sánchez Presidente – El socialismo en toda su esencia

    Todas ellas creadas con el tema Betheme de WordPress con algún plugin de sliders y Contact Form 7.

    Y la de ¡Me invisto! creada para la no investidura de Pedro Sánchez con el tema de WordPress para bodas Bestday

    ¡Me invisto

    Pero no sólo El Mundo Today utiliza el diseño web como parodia de la política, el creativo publicitario Nico Ordozgoiti ha creado con squarespace una web donde propone un nuevo logo para el PP basado en las franjas amarillas de los papeles de Bárcenas

    Propuesta para un logo del PP

    papeles-barcenas-logo

    logo-pp-parodia

    Alfonso Silóniz, un amigo desarrollador de WordPress ha creado Partido Incompetente para promocionar el voto nulo. No ha necesitado WP, sólo Bootstrap y jQuery.

    Partido Incompetente

    Y yo mismo creé Pac-to-man | El juego de la indignación política, una suerte de comecocos donde los fantasmas son los líderes políticos que nos persiguen para conseguir sus votos mientras nos comemos sus bolas.

    pac-to-man

    Si conoces algún otro déjalo por favor en los comentarios.

  • Solución de Google Analytics para conseguir 100/100 en Pagespeed

    Solución de Google Analytics para conseguir 100/100 en Pagespeed

    Hace un año publiqué el artículo ¿Es posible conseguir un 100/100 en Google Pagespeed? Hoy finalmente he conseguido ese 100/100.

    En ese artículo concluía que era imposible si utilizabas servicios del mismo Google: como Adsense, Youtube y Analytics. Adsense es imposible pero en una actualización de ese mismo artículo decía que una posible solución para Google Analytics era cargarlo en tu  propio servidor para poder cachearlo como cualquier otro script y aprobar esta regla

    Especificar caché de navegador

    Establecer una fecha de caducidad o una edad máxima en las cabeceras HTTP de los recursos estáticos indica al navegador que cargue los recursos descargados previamente del disco local en lugar de hacerlo a través de la red.

    Aprovechar el almacenamiento en caché del navegador de estos recursos almacenables en caché:

    http://www.google-analytics.com/analytics.js (2 horas)

    El problema es que una práctica no recomendada además que una posible actualización del script de Google pasaría desapercibida si no estás al tanto.

    Hoy os dejo 2 soluciones, un plugin para WordPress y una librería de código abierto

    Plugin WP para solucionar el Google Analytics de Pagespeed

    Si usas WordPress puedes utilizar este plugin Host Analytics.js Locally — WordPress Plugins mediante wp_cron() actualizará el script si lo actualiza Google

    Librería para solucionar el Google Analytics de Pagespeed

    Esta estupenda solución que ha creado Jesse Luoto es la que yo he utilizado, no soy amigo de instalar muchos plugins. Se trata de ga-lite, una librería mucho más pequeña y cacheable que hará que apruebes esa regla aún usando GA. Lo mejor es que para utilizarla sólo tienes que cambiar el código de GA por este poniendo tu tracking code

    <script src=«https://cdn.jsdelivr.net/ga-lite/latest/ga-lite.min.js» async></script> <script> var galite = galite || {}; galite.UA = ‘UA-XXXXXX’; // Insert your tracking code here </script>

    Con esto he conseguido ese 100/100 en elFinalde

    PageSpeed Insights 100

    Claro que en la home de elFinalde no uso Adsense, en páginas interiores donde sí uso Adsense la puntuación es 98 por los malditos javascript de Google Adsense

    PageSpeed Insights adsense