Ciber Geek > Wordpress

Wordpress

WordPress Litespeed Cache and Shortcodes purging

Litespeed Cache is a really good description of what this plugin does, it’s a caching plugin for sites using Litespeed as a webserver.

At a SaaS I help run we have a couple of WordPress plugins that use shortcodes to show widgets with content, mostly used by news sites, and one of our customers uses Litespeed Cache as the caching solution to keep Google and readers happy.

Edge Side Includes + Litespeed Cache + shortcodes

Luckily the plugin allows an easy ways to update only the content of the shortcode and not the rest of the page. It’s so easy that you can do it just adding one word to the shortcode.

This is the shortcode for our plugin:

[downtack competition="liga-profesional-argentina-2022"]

This is the shortcode using Litespeed’s ESI Blocks:

 [esi downtack competition="liga-profesional-argentina-2022"] 

It’s too easy to be true. But there’s a catch, you also have to specify how long the Time To Live should be, if you don’t Litespeed Cache is gonna use the TTL specified in the “Default Public Cache TTL” option. But one of the solutions is so easy we didn’t have to modify our plugin’s code.

  [esi downtack competition="liga-profesional-argentina-2022" ttl="60"]  

There’s also the option to purge the shortcode programmatically, without the need to add the ttl param.

do_action( 'litespeed_purge', 'esi.downtack' );
method_exists( 'LiteSpeed_Cache_API', 'purge' ) && LiteSpeed_Cache_API::purge( 'esi.downtack' );

This last option is the one we choose as it gives us much more control over the purging of the content and helps the site run smoother as you can purge the cache whenever a change is made.

The shortcode is basically showing a HTML file downloaded from our server so it doesn’t make sense to purge the cache if that file wasn’t updated.

One thing to consider is that if Litespeed is disabled you should update the shortcodes and remove the esi keyword.

Ocultar el mensaje de actualizaciones disponibles de WordPress

WordPress muestran en el panel de administración un mensaje de aviso cuando hay una actualización disponible para instalar, y si bien esto es muy útil desde el punto de vista de la seguridad, puede ser un dolor de cabeza en algunas ocasiones, sobre todo cuando la persona que ve el aviso no conoce las consecuencias que puede tener una actualización del CMS.

aviso actualizacion wordpress

Aviso de actualización disponible

Como ocultar el aviso del panel para usuarios que no sean admin

Para ocultar el mensaje de actualización basta con añadir el siguiente código al archivo functions.php del theme instalado, éste es uno de los métodos para hacer esto, y lo menciono porque es común que se quiera ocultar está información cuando se tiene una instalación para algún cliente.


add_action( 'admin_head', 'ocultar_aviso_actualizacion', 1 );
function ocultar_aviso_actualizacion(){

    if (!current_user_can('update_core')) {
remove_action( 'admin_notices', 'update_nag', 3 );
}
}

 

Si desean que los usuarios editores puedan verlo, es solo cuestión de cambiar por una capacidad (capability) a la que tenga acceso, por ejemplo “edit_others_posts“.

Para ver un listado completo de los roles y las capacidades pueden ingresar a la documentación del WordPress.

Otra forma de hacerlo es mediante la creación de un simple plugin.

 

Compatibilidad y plugins en Themes Premium para WordPress

Hace unas semanas bajé los datos de algunos themes de WordPress disponibles en ThemeForest y cada tanto en mis ratos libres juego con los datos, como pueden ver en estos artículos anteriores. En el de hoy voy a jugar a ser dios y voy a decirles que tiene que tener su theme para que tengan muchas ventas. Y les voy a mentir, porque obviamente hay muchas variables que no estoy teniendo en cuenta, siendo una de las principales el diseño, el cual es subjetivo, difícil de clasificar/medir, y otras tantas cosas que lo hacen complejo, al menos para mis limitados conocimientos.

¿Pero entonces no tenés en cuenta el diseño?

¡No! Perdón. Bah, más que perdón, es culpa tuya y de tu subjetividad, maldito humano. Lo que si tengo en cuenta en esta ocasión son los plugins que incluye o con los que es compatible cada tema, en general dependiendo del plugin la compatibilidad no es un problema, pero para otros se requiere de algunos detalles para que todo marche sobre ruedas. Un poco el objetivo es identificar aquellos plugins para los que vale la pena invertir tiempo para asegurar la compatibilidad.

DISCLAIMER: En el artículo me refiero a compatibilidad, pero algunos de los plugins están incluidos con el theme directamente.

Empecemos a lo grande, de los 1800 themes de los que tengo datos, estos son los porcentajes de compatibilidad con diferentes plugins o librerías.


Esta tabla incluye todas las plantillas, incluso aquellas que llevaban menos de un día en Themeforest al momento de obtener los datos, por lo que se ve WPML y WooCommerce son 2 plugins populares que hay que considerar.

En la siguiente sección utilizo la información de las plantillas que llevan mas de 30 días en la tienda, ya que he notado que algunas tenían picos de ventas altos al ser publicados pero después decaían. Debería realizar un análisis mas exhaustivo para intentar determinar si se trata de gente que intenta “engañar al sistema” o son cuestiones naturales del mercado.

Datos de los themes con el menor índice de ventas

Ahora voy a por algo que puede brindar un poco mas de información, se tratan de las estadísticas de los últimos 500 y 100 themes cuando se los ordena por el “Índice de ventas”, el cual no es más que la cantidad de ventas que tiene un theme dividido por la cantidad de días que lleva la plantilla en la tienda desde su fecha de creación.

Remarco lo dicho, en las siguientes tablas se dejan de lado los themes que llevan menos de 30 días en la tienda.

Datos de los themes con el mayor índice de ventas

La siguiente tabla contiene a las plantillas con más de 30 días en la tienda que tienen la mayor cantidad de ventas por día (Índice de ventas).


Como se puede apreciar en la tabla, a medida que me acerco a los primeros puestos en este ranking ordenado por “Índice de ventas” se hace más claro que WooCommerce y WPML son importantes en cuanto a compatibilidad se refiere. Eso no implica que no puedan vender un theme que no sea compatible con ninguno de estos plugins, ya que hay que considerar que puede que la razón por la que los themes compatibles con ambos tengan mas ventas esté mas relacionada con el tiempo que le dedica el creador a desarrollar la plantilla, que con la compatibilidad en si.

Una visión global de los plugins y las ventas

Lo siguiente es comparar las plantillas que encabezan la tabla, las que se encuentran al final y el promedio. El “Top 100” se corresponde con los 100 themes con el mayor índice de ventas, y el “Last 100” con los últimos 100 themes ordenados por el mismo índice. Tengan en cuenta que para estos rankings utilicé solo los themes que llevaban mas de 30 días en la tienda, debido a que encontré algunas inconsistencias en el ranking al tomar una muestra unos días después.


Viendo la tabla anterior se hace aparente que la compatibilidad con Woocommerce y WPML es un factor importante a considerar cuando se desarrolla y diseña un theme con el objetivo de venderlo en masa, pero ¿Vale la pena?

Para saber le consulté a Nico Andrade, quien vende themes en Themeforest y está acostumbrado al proceso de hacer una plantilla compatible con Woocomerce y WPML.

Palabras de alguien que sabe:

Hacer un Theme compatible tanto con Woocommerce como con WPML diría que 1 día cada uno.
WPML sin dudas es mas rápido.

Woocommerce puede tardar mas si queres hacer un Shop con un layout distinto en front end. Pero si solo queres hacerlo compatible como en la mayoría de los casos, tardas 1 día a lo sumo 2.

Woocommerce es sin dudas el plugin de ecommerce más popular para WordPress, y considerando el crecimiento que ha tenido el comercio electrónico, tanto en consumidores como en cantidad de vendedores, sin dudas es una alternativa válida. WPML, que es un plugin para traducción, es importante cuando se espera vender en tiendas con usuarios de todo el mundo, y porque también es un plugin popular en su rubro. Nada nuevo bajo el sol.

OK ¿Cómo digiero todo esto?

Acá no hubo ningún avance científico, lo que se puede rescatar es que Woocommerce y WPML son dos plugins que es interesante tener en cuenta cuando se hace un theme premium para venta masiva, si hacen algo a medida para algún cliente serán ustedes quienes deban evaluar lo que éste requiere.

 

Eliminar los scripts para Emojis de WordPress

Desde la versión 4.2 de WordPress se ha añadido la compatibilidad con los Emojis, que no tienen nada que ver con los emoticones que soportaba anteriormente el sistema, si quieren pueden leer un poco más en la documentación oficial sobre emojis, aunque está un poco incompleta.

Como eliminar el Javascript y el CSS que se añade al HEAD

Si algunos de ustedes es un fanático de la perfomance y utiliza la herramienta PageSpeed de Google seguramente hayan notado que desde la actualizacion que añadió el soporte para Emojis sus resultados han bajo en las pruebas.

Por ejemplo, con el plugin de cacheo desactivado y poco más que algunas reglas en el .htaccess Ciber Geek tiene un puntaje de 82 en Page Speed para escritorio y 71 para móviles.

Añadiendo las siguientes lineas al archivo “functions.php” del theme los puntajes pasan a 85 y 73, para la versión de escritorio y móvil, respectivamente.

remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

Además, si así lo desean, pueden eliminar todo rastro de los Emojis con el siguiente código mencionado en este thread de StackOverflow.


function disable_wp_emojicons() {


// all actions related to emojis
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );


// filter to remove TinyMCE emojis
add_filter( 'tiny_mce_plugins', 'disable_emojicons_tinymce' );
}
add_action( 'init', 'disable_wp_emojicons' );


function disable_emojicons_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}

No peguen este código directamente en su archivo “functions.php” de un tema en producción, por las dudas primero pruebenlo. O no, y dedíquenle una oración a Richard Stallman.

WordCamp Buenos Aires 2015, llega el 30 de mayo

El 30 de mayo llega el WordCamp Buenos Aires, un evento de la comunidad WordPress que se realiza a nivel mundial desde hace unos años. Argentina fue el primer país donde se desarrolló fuera de los Estados Unidos.

A partir del viernes 24 se va a saber más sobre las charlas que se van a presentar, por el momento se sabe solamente de la participación de Richard ArchambaultLance Willet y Karen Arnold, los 3 trabajan relacionados con WordPress, ya sea directamente o a través de Automattic.

Si quieren hacerse una idea de los speakers pueden ver alguna de las charlas anteriores que han dado:

Y también pueden aprovechar y ver muchas otras charlas mientras están en WordPress.tv.

Actualización 27-04-2015, se agregaron 3 nuevos speakers:

  • Mailén Knoblovits
  • Leandro Padula
  • Juan Francisco Garabato

¿Dónde es el WordCamp?

Es en Capital Federal, específicamente en el “Centro Cultura San Martín” ubicado en Sarmiento 1551, a unas 4 cuadras del obelisco, por lo que hay muchas formas de llegar, si tienen dudas pueden ingresar al sitio para ver más información al respecto, sino también tienen la herramienta “CómoLlego“.

¿Cuánto sale?

¡Menos de lo que pensabas! El costo de la entrada es de $250. Una terrible ganga, sobre todo si están acostumbrados a ir a eventos de este tipo. La entrada de $250 (General) incluye: desayuno, almuerzo, snacks y una remera conmemorativa del evento.

Además, por $500 se puede comprar una entrada para micro-sponsors, cuya descripción es la siguiente: “Aparte de tener un ticket general para el evento, agradeceremos tu patrocinio durante el evento, haremos un tweet anunciando tu asistencia; tu nombre y link a tu sitio aparecerán en la web del evento.”

¿Dudas, consultas o sugerencias?

Pueden entrar al sitio oficial del WordCamp Buenos Aires 2015 y sacarse las ganas. Además de comprar una entrada, obvio.