Conectar Google Sheets con WordPress es una de esas combinaciones que, una vez descubiertas, no se abandonan. Una hoja de cálculo es la base de datos más accesible que existe: cualquiera sabe editarla, se comparte con un enlace y se actualiza desde el móvil. Si a eso le sumas una web WordPress, las posibilidades se multiplican: mostrar una tabla de precios que se actualiza sola, guardar cada envío de un formulario en una hoja compartida con tu equipo, o alimentar tu web con datos que mantiene otra persona sin darle acceso al escritorio de WordPress. En esta guía vamos a ver todas las formas de conectar ambos mundos, de la más sencilla (un embed sin plugins) a la más potente (la API de Google con código propio), pasando por los plugins de tablas y las plataformas de automatización.
Para qué conectar Google Sheets con WordPress: casos de uso
Antes de elegir herramienta conviene tener claro el objetivo, porque cada caso de uso tiene una solución distinta. Los tres escenarios más habituales son estos.
Mostrar datos de una hoja en tu web. Listas de precios, calendarios de eventos, clasificaciones deportivas, directorios de socios, disponibilidad de plazas. El patrón común: alguien mantiene los datos en una hoja (a menudo alguien sin conocimientos de WordPress) y la web debe reflejarlos sin que nadie tenga que copiar y pegar. Es el caso más frecuente y el que más opciones tiene.
Guardar en Sheets lo que ocurre en la web. El flujo inverso: cada envío de un formulario de contacto, cada registro a un evento o cada pedido se añade como fila en una hoja de cálculo. Ideal para compartir leads con un equipo comercial que vive en las hojas de cálculo y no va a entrar al escritorio de WordPress, o para hacer análisis posteriores con filtros y gráficos.
Sincronizar y automatizar en ambos sentidos. El nivel avanzado: usar la hoja como fuente para crear o actualizar contenido en WordPress (una fila = un producto o una entrada), o encadenar la conexión con más pasos (llega un envío, se guarda en Sheets, se avisa por correo y se añade el contacto a la lista de email marketing). Aquí entran las plataformas de automatización y, para necesidades muy concretas, la API. Identifica tu escenario y salta a la sección correspondiente; no hay una herramienta única mejor, hay una mejor para cada caso.
Mostrar una hoja en tu web: embed y plugins de tablas
La vía rápida no requiere ningún plugin. En Google Sheets, ve a Archivo → Compartir → Publicar en la web, elige la hoja o el rango, y Google te dará un iframe para incrustar. Pégalo en un bloque HTML personalizado de WordPress y tendrás la hoja visible en tu página, actualizada automáticamente (con unos minutos de retardo). Es gratis e inmediato, pero tiene límites claros: la estética es la de Google Sheets (difícil de integrar con tu diseño), no es responsive de serie, el contenido del iframe no es indexable y publicar en la web hace la hoja accesible para cualquiera que tenga la URL generada. Sirve para intranets, documentación o datos poco sensibles; para una página pública cuidada, se queda corto.
El salto de calidad son los plugins de tablas que leen la hoja y la convierten en una tabla HTML real con tu tipografía, buscador, ordenación y paginación. Los referentes son TablePress (el clásico gratuito, que permite importar desde una URL de Google Sheets y programar importaciones automáticas con su extensión), wpDataTables (el más completo, de pago, con sincronización en vivo, filtros avanzados y gráficos) y Ninja Tables, en un punto intermedio. El flujo es siempre el mismo: compartes la hoja como pública o «cualquiera con el enlace puede ver», pegas la URL en el plugin y este genera la tabla, con un intervalo de sincronización configurable.
Ventajas frente al iframe: diseño integrado, contenido indexable y responsive. A cambio, recuerda que la hoja debe seguir siendo legible por el plugin (no la vuelvas privada después) y que la sincronización no es instantánea, algo que rara vez importa en la práctica.
Enviar datos de formularios a Google Sheets
Para el flujo inverso —cada envío de formulario, una fila nueva en la hoja— la solución depende del plugin de formularios que uses, porque los principales ya tienen integración directa con Google Sheets.
WPForms ofrece un addon oficial de Google Sheets en sus planes de pago: autorizas tu cuenta de Google, eliges hoja y columna para cada campo, y listo. Fluent Forms incluye la integración en su versión Pro con el mismo esquema. Gravity Forms dispone de addons propios y de terceros. Y si usas Contact Form 7, que no tiene integración nativa, el plugin gratuito CF7 Google Sheets Connector cubre el hueco. En todos los casos el proceso se reduce a autorizar la cuenta de Google mediante OAuth y mapear campos con columnas: sin código y en menos de diez minutos.
Dos consejos de veterano. Primero: trata la hoja como destino de copia, no como única base de datos. Los plugins de formularios guardan las entradas también en WordPress; si la conexión con Google falla un día (tokens caducados, cuota excedida), no pierdes nada. Segundo: cuidado con los datos personales. Una hoja con leads es un fichero con datos de carácter personal a efectos de RGPD: compártela solo con quien deba verla, evita hacerla pública y menciona este tratamiento en tu política de privacidad. La comodidad de Sheets no exime de las obligaciones legales.
Automatización con n8n, Zapier o Make
Cuando la conexión que necesitas no existe como plugin —o cuando quieres encadenar varios pasos—, las plataformas de automatización son el pegamento universal. Las tres grandes son Zapier (la pionera, con la mayor biblioteca de integraciones), Make (antes Integromat, más visual y con un plan gratuito más generoso) y n8n (código abierto y autoalojable: la opción para quien quiere control total y coste fijo).
El funcionamiento es idéntico en todas: defines un disparador (por ejemplo, «nueva entrada publicada en WordPress» o «nueva fila en Google Sheets») y una o varias acciones («añadir fila», «crear borrador», «enviar aviso a Slack»). WordPress se conecta mediante su API REST integrada o mediante webhooks que ofrecen los propios plugins de formularios, y Google Sheets es una de las integraciones mejor soportadas en las tres plataformas.
Ejemplos reales que se montan en una tarde: publicar automáticamente una entrada en borrador por cada fila nueva que un colaborador añade a una hoja editorial; volcar los pedidos de WooCommerce a una hoja de contabilidad; sincronizar inventario desde la hoja del proveedor hacia los productos. ¿Cuál elegir? Si buscas rapidez y no te importa pagar por volumen, Zapier o Make; si tienes un servidor propio y previsión de muchas ejecuciones, n8n autoalojado sale gratis en licencias y te deja los datos en casa. Ten en cuenta el modelo de precios: estas plataformas cobran por número de ejecuciones mensuales, así que un formulario con mucho tráfico puede convertir el plan gratuito en insuficiente enseguida.
La API de Google Sheets con código propio
Para desarrolladores o necesidades muy específicas, siempre queda la vía directa: la API oficial de Google Sheets. Para lecturas de hojas compartidas públicamente basta una clave de API creada en Google Cloud Console; para escrituras o hojas privadas necesitarás una cuenta de servicio con la hoja compartida a su dirección de correo.
Un ejemplo mínimo de lectura desde WordPress, usando la propia HTTP API de WordPress y un transient como caché:
function bw_leer_sheet( $sheet_id, $rango, $api_key ) {
$cache = get_transient( 'bw_sheet_' . md5( $sheet_id . $rango ) );
if ( false !== $cache ) return $cache;
$url = sprintf(
'https://sheets.googleapis.com/v4/spreadsheets/%s/values/%s?key=%s',
rawurlencode( $sheet_id ), rawurlencode( $rango ), $api_key
);
$respuesta = wp_remote_get( $url );
if ( is_wp_error( $respuesta ) ) return array();
$datos = json_decode( wp_remote_retrieve_body( $respuesta ), true );
$filas = isset( $datos['values'] ) ? $datos['values'] : array();
set_transient( 'bw_sheet_' . md5( $sheet_id . $rango ), $filas, HOUR_IN_SECONDS );
return $filas;
}
Con esas filas puedes construir la tabla o el listado que quieras, por ejemplo dentro de un shortcode propio; si no los has usado nunca, en nuestra guía sobre qué son los shortcodes de WordPress y cómo crear los tuyos tienes la base. Y en lugar de tocar el tema, añade el código con un gestor de snippets como WPCode, que te permite activarlo y desactivarlo sin riesgo. La caché con transients no es opcional: sin ella, cada visita a la página dispararía una petición a Google, con la lentitud y el consumo de cuota que eso implica.
Límites y buenas prácticas antes de lanzarte
Todo lo anterior funciona, pero Google Sheets no es una base de datos profesional y conviene conocer sus costuras. La API tiene cuotas (del orden de 300 peticiones de lectura por minuto y proyecto en el plan gratuito): suficiente para cualquier web con caché, insuficiente si cada visita golpea la API. Las hojas tienen un límite de 10 millones de celdas, pero el rendimiento se degrada mucho antes; si manejas decenas de miles de filas con consultas complejas, necesitas una base de datos de verdad.
Buenas prácticas que evitan disgustos: cachea siempre las lecturas (los plugins serios lo hacen solos; en código propio, usa transients); no expongas claves de API en el navegador, mantenlas en el servidor; usa una cuenta de servicio en lugar de tu cuenta personal para integraciones de escritura, y comparte cada hoja solo con los permisos mínimos; y documenta qué hoja alimenta qué página, porque dentro de un año nadie recordará por qué esa tabla muestra esos datos. Por último, vigila el rendimiento global de la web: cada integración externa añade peso, y de nada sirve una tabla dinámica preciosa en una web lenta.
常见问题
¿La tabla de mi web se actualiza en tiempo real cuando edito la hoja?
Depende del método. El iframe de «Publicar en la web» tarda unos minutos en reflejar cambios. Los plugins de tablas sincronizan según el intervalo que configures (desde minutos hasta una vez al día). Las soluciones por API con caché se actualizan cuando expira la caché. El tiempo real estricto no existe en ninguna opción razonable, y en la práctica casi nunca hace falta: un retardo de cinco minutos es invisible para tus visitantes.
¿Necesito hacer pública mi hoja de cálculo?
Solo para los métodos de lectura sencillos (iframe y la mayoría de plugins de tablas), que requieren la hoja pública o compartida por enlace. Si los datos son sensibles, usa la API con una cuenta de servicio: compartes la hoja únicamente con esa cuenta y la hoja permanece privada para el resto del mundo. Para el caso de formularios hacia Sheets, la hoja puede ser privada siempre, porque escribes con tu cuenta autorizada por OAuth.
¿Puedo crear entradas o productos de WordPress desde una hoja?
Sí, y es un caso de uso muy potente. La vía sin código son las plataformas de automatización (una fila nueva dispara la creación de una entrada vía API REST de WordPress). Para volúmenes grandes, plugins de importación como WP All Import aceptan una URL de Google Sheets como fuente y permiten importaciones programadas con mapeo de campos, categorías e imágenes. Empieza con pocas filas de prueba: una importación mal mapeada crea cientos de entradas defectuosas en segundos.
结论
Conectar Google Sheets con WordPress no es una sola técnica sino una caja de herramientas, y elegir bien es cuestión de identificar tu caso: para mostrar datos, empieza por un plugin de tablas (TablePress si buscas gratuito, wpDataTables si necesitas potencia) y reserva el iframe para usos internos; para guardar envíos de formularios, usa la integración nativa de tu plugin de formularios; para flujos encadenados, Zapier, Make o n8n; y para necesidades a medida, la API oficial con caché y un snippet bien gestionado. La combinación gana por una razón de fondo: pone los datos donde la gente ya sabe trabajar con ellos, sin sacrificar el control de tu web. Empieza por el caso que te haya traído hasta aquí, móntalo con la opción más simple que lo resuelva y complica la arquitectura solo cuando los límites reales —no los imaginarios— te lo pidan.