#7 ¿Cómo crear una web en automático con Google Sheets? +Plantilla de regalo
Monta webs programáticas sin saber programar y aprovecha Google Sheets al máximo de una vez por todas!
Este email es muy largo, puede que en tu cliente de correo electrónico no lo veas entero, así que te recomiendo que lo mires directamente desde la web de substack!
En este nuevo email de la serie sobre SEO programático vengo a hablarte de como montar una web usando Google Sheets. Es la aproximación más sencilla para hacer webs de tipo programático y te voy a enseñar las funciones de google sheets necesarias para que aprendas a hacerlo por tu cuenta.
La idea es montar directamente el CSV que se va a importar a wordpress con las entradas ya creadas en el CSV y toda la información necesaria. Se trata de un proceso semi-automático, ya que requiere de un trabajo manual, pero perfecto para todos aquellos que no quieren aprender a programar.
Además, he preparado una plantilla que puedes adaptar para probar tu mismo/a con ella!
Datos a tener en cuenta:
He montado la plantilla con la estructura necesaria para que funcione con el plugin de importación que yo uso, porque es con lo que estoy familiarizada. El plugin es WP Ultimate CSV Importer. Si no lo usas y no quieres usarlo, deberás adaptar la plantilla al plugin que uses.
💡 Si usas el mismo plugin que yo simplemente tienes que importar el CSV sin tocar nada en WP, ya que los nombres de las columnas se seleccionan automáticamente por el nombre que tienen asignado.
En la plantilla pongo unas entradas a nivel muy sencillo del ejemplo sobre el que hemos hablado en estos emails: cuanto tarda en llegar el pedido de Shein. Los ejemplos son muy poquitos y más a efectos didácticos que para usarlos en una web, tenlo en cuenta!
Los artículos de ejemplo que pongo no son lo suficientemente elaborados como para publicarse en una web. Si quieres reutilizar la plantilla recuerda que debes crear el contenido suficiente para evitar que Google catalogue tu web como thin content, como te expliqué la semana pasada en el mail.
Las partes de la plantilla
La plantilla que os comparto tiene dos partes. Por un lado hay una serie de columnas de datos de entrada con los que se van a generar las entradas (con el fondo azul) y luego están las columnas de datos de importación para el plugin directamente (fondo gris).
En las columnas que son de importación (gris) uso funciones de Google Sheets para trabajar con los datos de entrada (azul).
Los campos que he creado para entrada de datos son los siguientes:
Kw y Modificador. Estos son los dos parámetros que uso para generar la keyword y son, respectivamente:
¿Cuánto tarda en llegar el pedido de $tienda$?
La tienda en cuestión
Hay dos campos porque quiero generar un título (o kw) del tipo “¿Cuánto tarda en llegar el pedido de Shein?”. Para no tener que escribir múltiples veces el título, lo que hago es separar la parte variable del título (la tienda) de la que es estática y así sólo habría que incluir las tiendas. Más adelante se sustituye el parámetro $tienda$ por el valor de la columna del modificador.
tiempo aprox, tiempo Esp, tiempo EEUU. Estos son los datos variables de cada entrada. Concretamente, son datos (inventados) del tiempo en días que tarda en llegar un pedido de cada tienda, tanto el tiempo “genérico” aproximado como los tiempos específicos por localización (si no entiendes nada, en el mail de la semana pasada expliqué como montaría este nicho). Sólo puse dos localizaciones por fila pero se podrían añadir todas los que quieras.
De igual manera que en el caso anterior, estos datos se usarán posteriormente para generar el contenido de cada artículo.
texto base del contenido de cada artículo (template). En este apartado es donde creo la estructura del artículo. En este caso se genera una plantilla que será igual para todas las urls de la web y posteriormente se reemplazarán los textos que están entre $ $ por los valores correspondientes.
❗️Como te dije al inicio del email, estos artículos son demasiado sencillos para sobrevivir al problema del thin content. Pero lo importante es que te quedes con la idea de como montar el CSV y luego le des todas las vueltas que quieras y lo compliques todo lo que quieras para llegar al resultado óptimo para cada web.
En este caso, simplemente puse un primer párrafo donde especifico el tiempo que tarda el pedido en llegar y más abajo pongo el desglose por país. A continuación te explico como he juntado todas las piezas del puzzle para generar el CSV necesario para importar a wp.
Estos son los campos necesarios para el plugin de importación, y donde junto todos los datos anteriores:
post_title. H1 de la entrada de Wordpress. Para generarlo, uso la función Substitute de google sheets, que funciona de la siguiente manera:
Concretamente, la función de la celda G2, que corresponde al primer título a generar, es tal que así: =SUBSTITUTE(A2;"$tienda$";B2). A2 contiene el texto ¿Cuánto tarda en llegar el pedido de $tienda$? y en B2 tenemos Shein. Así que la función sustituye $tienda$ por Shein en el texto.
post_content. En post_content se almacena toda la entrada que queramos importar al wordpress y el método que uso para generarlo es similar al anterior, pero en este caso lo haremos con el texto que teníamos como template en la columna F. Este caso es un poco más complejo porque hay que hacer más de una sustitución, pero simplemente debemos anidarlas:
Aquí lo que estamos haciendo es en base al texto de F2, primero sustituimos $tiempoEEUU$ por el valor correspondiente en la columna E; después, en el texto que tenemos como resultado de esa sustitución, volvemos a sustituir el texto $tiempoEsp$ por el valor correspondiente de la columna D. Y lo mismo pasa en el último caso con $tiempo$ y el valor de la columna C.
Para entender como funciona esta fórmula anidada hay que ir mirando desde la primera vez que se aplica (SUBSTITUTE(F2;"$tiempoEEUU$";E2)) hacia fuera.
post_date. Este campo es el de la fecha de creación o publicación del artículo. Si ponemos una fecha pasada y establecemos que el artículo debe aparecer como “publicado”, los artículos se publicarán con fechas pasadas. Sin embargo, si ponemos una fecha futura, el artículo se programará en Wordpress para dicha fecha. Por eso, yo hago lo siguiente:
Para evitar que Google me catalogue como Spam, voy a publicar dos artículos por día, empezando por hoy. Para eso, en las dos primeras filas de la columna voy a poner la función =TODAY().
Eso me pondrá el día de hoy. Después, lo que hago es al tercer valor darle el valor del primero y sumarle 1 y arrastrar este comportamiento para toda la columna hacía abajo.
De esta manera, se repetirá cada fecha dos veces y luego incrementará en un día. Así, se publican 2 artículos por día.
Si quisiéramos que se publiquen 10 artículos por día, deberíamos poner la función =today() de la fila 2 hasta la 11 y luego hacer en la fila 12 =I2+1 y arrastrar.
post_name, post_author, post_status, index, rank_math_advanced_robots, headline, article_type. Estos son datos más aburridos, concretamente: el slug del post, el nombre del autor (por defecto admin), el estado (publish, draft…), index (1 para que se indexe, 0 para que no) y luego otros datos del plugin de Rank Math y tipo de artículo que es mejor dejar tal y como te pongo en la plantilla.
Para el slug, usé la función de concatenación, que literalmente concatena dos textos. Concretamente puse lo siguiente:
rank_math_title, rank_math_description. Metatítulo y metadescripción. Cámbialos al gusto usando la información de este email!
post_category. Categoría del post. Para este ejemplo lo que hice fue poner la categoría como el nombre de la tienda, con la intención de que sean categorías donde se publique más contenido manual. Para ello, en vez de hacerlo manualmente, le asigno la misma celda que teníamos al principio para especificar la tienda (columna B):
Hay más campos disponibles, como la imagen de portada, por ejemplo, pero para simplificar esta explicación y que el mail no se haga eterno, los he obviado. Más adelante podemos trabajar en esos campos si hay interés.
Resultados del ejemplo
Una vez importamos las entradas generadas al Wordpress vemos una cosa tan cutre como esto:
Por eso, lo mejor es que trabajes mucho más la plantilla de lo que yo hice, ya que esto es un ejemplo con fines didácticos más que un contenido para posicionar la web.
Por cierto, no lo mencioné en el mail de hoy porque se me fue de las manos, pero recuerda que Google sheets tiene integraciones con un montón de aplicaciones webs, como openai. Así que con esto en mente, las posibilidades son brutales!
Y para terminar, la plantilla! Para usarla, recuerda hacer una copia en tu drive y trabajar sobre ella!
Recomendaciones de la semana
Josma hizo un listado de las diferentes alternativas a Adsense, sobre todo para aquellos que estén sufriendo las caídas del 80% de ingresos de la plataforma.
¿Cuánto tarda el SEO en dar resultados? Un artículo muy interesante del blog de Ahrefs, salido hoy mismo del horno.
Tutorial de Pinterest de Seosve. Perfecto para los que todavía no tienen una cuenta!
Descuento de Indexed Pro: 20% de descuento en los planes Growth y Ninja anuales, usando el código "MACA20". Para usarlo, debes introducir el código en el checkout de Stripe, justo antes de pagar. Yo la estoy probando y me da unos resultados muy buenos en webs programáticas con muchas URLs, me las indexa completamente en cuestión de días.
PD: En los mails hablo de mi experiencia personal y no tiene que ser la mejor forma de hacer las cosas ni mucho menos la única.
PD2: El email puede contener enlaces de afiliación. Como el contenido es gratuito, es la forma que tengo de rentabilizar el tiempo que uso creando el contenido!
Muchas gracias por leer, nos vemos la semana que viene en tu buzón de entrada! (o en spam 🥲)
Saludos,
Macarena
Muchas gracias!
Muchas gracias por compartir!!