Eliminar shortcodes innecesarios

Publicada en WordPress.

Uno de los problemas que podemos encontrar en WordPress a largo plazo es el uso indiscriminado de shortcodes. Como su nombre indica, los shortcodes (o códigos cortos) son fragmentos de texto delimitado por los símbolos [ y ] que añaden ciertas funcionalidades adicionales a nuestro contenido. Habitualmente son los plugins o los temas los que nos proporcionan shortcodes.

Seguro que si estás en WordPress sabes a lo que me refiero, y además los habrás usado en muchas ocasiones. De hecho, WordPress incluye una serie de shortcodes por defecto que puedes usar. Están explicados aquí, y entre ellos podemos destacar

[gallery]

 o [caption] que nos permiten añadir galerías de imágenes o poner un pie de foto en tus imágenes, respectivamente.
El problema con los shortcodes es que, si abusamos de ellos, es posible que acabemos inundando nuestros contenidos con demasiados. Es aquí donde tenemos el típico caso de shortcode-dependencia. Lo que quiero decir es que si por lo que sea desactivas un plugin que incluye shortcodes porque ya no lo vas a usar, o cambias de tema a otro que usa shortcodes diferentes (algo muy común), tus contenidos ya no se visualizarán correctamente.
Incluso puede pasar que hace años usáramos cierto shortcode que nunca más hemos utilizado, y en un momento dado hacemos limpieza de plugins y eliminamos uno que se encargaba de ese shortcode que aparece en nuestras entradas antiguas. Los visitantes que accedan a ellas verán el shortcode en el texto en vez de el contenido que añadía el shortcode. Y sí, esto da una imagen algo cutre de nuestra web.
En este artículo vamos a ver formas de solventar este problema y evitar que se nos queden en el olvido shortcodes antiguos que ahora ya son innecesarios.

 

Cómo encontrar los shortcodes en tu WordPress

Lo primero que debemos hacer si tenemos una instalación de WordPress longeva es buscar en nuestros contenidos qué shortcodes existen, hacer un listado de ellos y decidir cuáles queremos eliminar porque han quedado abandonados y son innecesarios.
A continuación, veremos las maneras disponibles para conseguir esto.

Usando un plugin

Esta es la forma más sencilla y la más recomendable para el usuario común de WordPress. Entre los plugins que nos pueden ayudar en la tarea de búsqueda y captura de shortcodes en nuestro contenido recomendamos Shortcodes in Use.
Este plugin gratuito nos incluye un buscador de shortcodes accesible desde nuestro Escritorio de WordPress (menú Herramientas » Shortcodes in Use).

Buscador de shortcodes del plugin Shortcodes in Use
Buscador de shortcodes del plugin Shortcodes in Use

Con este plugin es muy sencillo buscar los shortcodes que se estén usando en nuestro WordPress y contengan cierta palabra, o aquellos que han sido añadidos por plugins o por temas. También permite filtrar la búsqueda y sólo mirar ciertos tipos de entradas (páginas, formularios, etc.) o ciertos contenidos (entradillas, títulos, widgets, etc).

Lo bueno de este plugin es que él nos genera los resultados de la búsqueda directamente sin hacer nada más. A partir de aquí, hecho en falta una funcionalidad adicional que nos permita eliminar aquellos shortcodes que ya no queremos, o por lo menos reemplazarlos por contenido alternativo.

Usando código

Una opción alternativa a este plugin, sólo para usuarios avanzados, es utilizar un código que nos permita hacer la búsqueda nosotros mismos y genere el listado. Tal que así:

Recuerda que para que funcione has de incluir este código en el archivo functions.php de tu tema o crear un plugin, tal y como explicamos en esta entrada.

Lo curioso del caso es que el código anterior crea un shortcode [wprinbuscador] que incluye el atributo opcional nombre por el que podemos añadir la palabra por la que queremos hacer la búsqueda de shortcodes.

Para poder usarlo, tan solo hemos de añadir el shortcode en una de nuestras páginas o entradas y visualizarla. Como resultado veremos el listado de entradas que tienen ese shortcode. Por ejemplo, si queremos buscar el shortcode

[gallery]

que destaqué antes, tan solo hemos de añadir [wprinbuscador nombre='

[gallery]

'].

 

Está claro que el uso de este shortcode es temporal. Una vez hayamos encontrado las entradas, ya podemos eliminarlo. También destacar que, como ya habréis detectado algunos, este código usa el loop de WordPress, por lo que podéis personalizarlo tal y como os expliqué en entradas anteriores.

Usando consultas SQL

Recientemente os expliqué las ventajas que tiene usar SQL para muchas tareas relacionadas con WordPress. Entre ellas, está la búsqueda de contenidos en entradas.

Con la siguiente instrucción SQL podemos obtener el listado de todas las entradas que utilizan el shortcode

[gallery]

:

 

SELECT * FROM wp_posts
WHERE post_content LIKE '%[gallery]%'

Ten en cuenta que puedes modificar y adaptar esta consulta a tu antojo para obtener los resultados que te interesen.

Cómo eliminar los shortcodes innecesarios en tu WordPress

Esta tarea no es difícil, pero sí bastante pesada de realizar, ya que si hemos abusado de los shortcodes es posible que tengamos que dedicar bastante tiempo para arreglar el problema.

Método manual: buscar y reemplazar

Lo más sencillo es coger los listados que obtuvimos en el apartado anterior e ir revisando los contenidos para reemplazar o eliminar los shortcodes innecesarios. Y esto lo tendremos que hacer a mano, uno a uno.

Es cierto que en algunos casos podéis usar SQL para reemplazar estos contenidos, pero hay que ir con cuidado para no causar un desastre.

Sobreescribir ciertos shortcodes

Una opción adicional para desactivar ciertos shortcodes del tirón es sobreescribirlos. Con esto lo que logramos es que no aparezcan en nuestro contenido. Para ello, bastará con añadir la siguiente línea en el archivo functions.php de tu tema (o mejor aún, de un tema hijo de tu tema actual):

add_shortcode( 'gallery', '__return_false' );

Con la línea anterior sobreescribimos el shortcode

[gallery]

para que no devuelva nada, con lo que desaparecerá de nuestros contenidos (de todos ellos a la vez). Obviamente, podemos cambiar gallery por el nombre del shortcode que queramos desactivar.

 

Consejos para evitar tener shortcodes innecesarios

El uso de shortcodes no es incorrecto. De hecho es una de las maneras más sencillas para los desarrolladores de extender el funcionamiento de WordPress, de una forma que resulte fácil y cómoda de usar por sus usuarios.

Sin embargo, hay veces en las que podemos tener problemas si nos pasamos con ellos. Un ejemplo claro es el uso de constructores de páginas o contenidos por bloques visuales, que nos permiten de forma muy fácil (arrastrar y soltar con el ratón, y poco más) construir páginas en WordPress muy bonitas. Sí, me refiero a Visual Composer y similares.

Estos constructores basan su funcionamiento en shortcodes, y nos van a inundar de shortcodes no estándar el contenido de nuestras páginas. El problema principal reside en la portabilidad de nuestra web. Una vez decidamos cambiar de tema en WordPress, si este usa otro plugin diferente para construir páginas visualmente, o no usa ninguno, tendremos que rehacer el contenido que usara los shortcodes antiguos desde cero. El coste será muy grande si no tenemos esto en cuenta desde el principio. Créeme, sé de lo que hablo, ya que nosotros utilizamos Visual Composer en nuestras otras webs.

Por esto, en mi opinión habría que limitar el uso de shortcodes a únicamente funcionalidades imprescindibles, no a diseño o a elementos visuales. De este modo, reducimos el impacto de estos en una posible migración futura.

Imagen destacada de Jes.

2 comentarios en «Eliminar shortcodes innecesarios»

  1. Hola, antes que nada gracias por este post, puede eliminar varios shortcodes que traía mi theme por defecto, ahora disminuyo el tiempo de carga e incluso me utiliza menos memoria en mi vps, gracias!

Deja una respuesta

No publicaremos tu correo electrónico. Los campos obligatorios están marcados con: •

He leído y acepto la Política de privacidad de Nelio Software

Al marcar la casilla de aceptación estás dando tu legítimo consentimiento para que tu información personal se almacene en SiteGround y sea usada por Nelio Software con el propósito único de publicar aquí este comentario. Contáctanos para corregir, limitar, eliminar o acceder a tu información.