El tamaño NO Importa (en SEO)

(O por qué contar palabras es como medir la calidad de un restaurante por su cantidad de mesas)

Google no cuenta palabras (y tú tampoco deberías)

Si todavía crees que necesitas 1500 palabras para que Google te tome en serio, te tengo noticias: no funciona así.

John Mueller lo dijo claro: el número de palabras en sí no tiene sentido. Google no está penalizando artículos cortos ni premiando tesis. Si respondes bien a la intención de búsqueda, ganas; si no, pierdes. Así de simple.

Pero claro, sigue habiendo SEOs que creen que escribir más significa posicionar mejor. Es como pensar que comer más comida en un buffet hace que la comida sepa mejor.

Antes: Más palabras, más ranking (o eso decían)

El mito nació porque los artículos largos solían posicionar mejor. ¿Por qué? Porque solían ser más completos, no porque Google tuviera un fetiche con los textos kilométricos, aunque Google es un obsesionado textual.

Si tu competencia publicaba guías de 2000 palabras y tú sacabas un “artículo” de tres párrafos, obvio ibas a perder. No porque escribieron más, sino porque lo hicieron mejor.

El problema es que muchos entendieron mal la lección y empezaron a inflar contenido sin sentido solo para cumplir con una cuota de palabras.

Ahora: Google odia el relleno (y los usuarios también)

El algoritmo ha evolucionado. Ya no mide la cantidad de texto (¿lo hacía antes?), sino la utilidad. Si tu contenido es puro relleno, Google te mira como un estudiante copiando de Wikipedia para completar la tarea.

Ejemplo clásico de contenido inflado:

👎 Mala práctica:

“Las llantas han sido utilizadas desde tiempos inmemoriales. Desde la antigüedad, los humanos han intentado moverse más eficientemente. El concepto de la rueda cambió el mundo y en la era moderna, las llantas juegan un papel crucial en la movilidad…”

🛑 ¡Basta! Si alguien busca “cómo cambiar una llanta”, quiere saber cómo cambiar una llanta, no un documental sobre la historia de los neumáticos.

El síndrome del texto inflado es una epidemia SEOista

Todavía hay agencias vendiendo “artículos SEO” de 2000 palabras cuando el usuario solo necesita una respuesta clara y concisa.

Ejemplo brutal:

🔎 ¿Cuántas calorías tiene una manzana?

👎 Artículo de 1500 palabras:

“Las manzanas son una de las frutas más populares en el mundo. Son ricas en fibra y vitaminas. Dependiendo de la variedad, su contenido calórico puede variar…”

👑 La respuesta que Google premia:

“Una manzana promedio tiene entre 80 y 100 calorías.”

Si Google puede entenderlo en una oración, ¿por qué demonios necesitas escribir una verborrea?

¿Entonces qué hacemos?

Ya que sé que prefieres estrategias reales y no teorías aburridas, aquí está el nuevo mantra del SEO:

Responde a la intención de búsqueda antes de aburrir al usuario.

    Si alguien quiere saber cuántas calorías tiene una manzana, díselo de inmediato.

    Si alguien escribe en Google “Pizza cerca de mi”, entrega la maldita pizza, no escribas un libro sobre quien la invento.

    Si el tema requiere profundidad (ejemplo: “cómo invertir en la bolsa”), entonces sí, desarrolla bien el contenido.

    No escribas más, escribe mejor.

      Muchas veces 300 palabras resuelven el problema mejor que 3000.

      Google ama la estructura clara.

        Usa subtítulos, listas, negritas y todo lo que haga que el contenido sea fácil de digerir.

        Mide el engagement, no la extensión.

          Un artículo de 5000 palabras que la gente cierra en 10 segundos no sirve para nada.

          Más palabras no es mejor SEO, es solo más palabras

          Si todavía te obsesionas con la longitud de los textos, estás haciendo SEO como si fuera 2010. Google no está midiendo tu número de palabras, está midiendo qué tan útil eres.

          Así que la próxima vez que alguien diga que “necesitas 2000 palabras para posicionar”, recuérdales que Wikipedia no tiene límite de palabras y no siempre es el primer resultado.

          El SEO es inteligencia, no longitud. Aprende a diferenciar la calidad de la cantidad y tu contenido empezará a ganar sin necesidad de inflarlo como un globo.

          // Asegúrate de que jQuery esté cargado jQuery(function($) { // Selector único de TU widget de Posts para evitar conflictos var WIDGET_SELECTOR = '.elementor-element-5e7a80bf'; var GRID_CONTAINER_SELECTOR = WIDGET_SELECTOR + ' .elementor-posts-container'; var ITEM_SELECTOR = '.elementor-post.elementor-grid-item'; // Función para reajustar Masonry después de la carga function refreshMasonry($grid, $newItems) { // Asegura que las imágenes de los nuevos ítems estén cargadas // ANTES de que Masonry recalcule sus alturas. (Recomendado: Usar imagesLoaded) $newItems.imagesLoaded(function() { // 1. Notificar a Masonry de los nuevos elementos $grid.masonry('appended', $newItems); // 2. Re-distribuir todos los elementos para rellenar huecos $grid.masonry('layout'); }); } // Gancho de Elementor: Se dispara cuando un widget de Posts se inicializa o se manipula. elementorFrontend.hooks.addAction( 'frontend/element_ready/posts.cards', // Hook específico para tu widget de tarjetas de Posts function($scope) { // Solo actuar sobre TU widget específico if (!$scope.is(WIDGET_SELECTOR)) { return; } // 1. Obtener la instancia de Masonry de este widget // Elementor ya inicializó Masonry, solo necesitamos obtener la referencia var $grid = $scope.find(GRID_CONTAINER_SELECTOR); // Obtener la instancia de Masonry (si existe) var masonryInstance = $grid.data('masonry'); if (!masonryInstance) { // Si Masonry no se inicializó correctamente (ej. por imágenes sin cargar al inicio), // puedes intentar forzar la inicialización aquí, pero lo normal es que Elementor lo haga. // $grid.masonry({...}) return; } // 2. Escuchar el evento de 'Carga Terminada' // Elementor Pro añade la clase 'elementor-loading' al contenedor mientras carga el AJAX. // La clase 'e-load-more-pagination-end' ya está en el HTML, pero no la usaremos para el evento. // Observador para detectar cambios en los atributos del DOM (cuando Elementor añade nuevos posts) var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.type === 'childList') { // Elementor añade los nuevos posts como hijos del contenedor var $newItems = $(mutation.addedNodes).filter(ITEM_SELECTOR); if ($newItems.length) { // Encontró nuevos posts, ¡es hora de reajustar Masonry! refreshMasonry($grid, $newItems); } } }); }); // Configurar el observador para monitorear la adición de nodos hijos observer.observe($grid[0], { childList: true }); } ); });