{"id":128,"date":"2024-03-19T00:00:00","date_gmt":"2024-03-18T23:00:00","guid":{"rendered":"https:\/\/helloblog.io\/es\/acorn-mail-smtp-wordpress-cli\/"},"modified":"2026-01-20T06:32:43","modified_gmt":"2026-01-20T05:32:43","slug":"acorn-mail-smtp-wordpress-cli","status":"publish","type":"post","link":"https:\/\/helloblog.io\/es\/acorn-mail-smtp-wordpress-cli\/","title":{"rendered":"Acorn Mail: SMTP en WordPress sin plugins fr\u00e1giles (y con pruebas desde CLI)"},"content":{"rendered":"\n<p>En proyectos WordPress medianamente serios, el email transaccional (recuperaci\u00f3n de contrase\u00f1a, formularios, pedidos, notificaciones internas) no puede depender de \u201ca veces llega\u201d. Y, sin embargo, la configuraci\u00f3n de SMTP sigue siendo uno de esos puntos donde cada entorno (local, staging, producci\u00f3n) te obliga a pelearte con ajustes, plugins y pruebas poco fiables.<\/p>\n\n\n\n<p>El problema no es solo la fricci\u00f3n: el ecosistema de plugins SMTP ha demostrado ser un \u00e1rea delicada. Hay plugins que se comportan de forma inconsistente, otros que exponen configuraciones de manera insegura y, en general, el feedback cuando algo falla suele ser escaso. En el peor de los casos, incluso han aparecido vulnerabilidades p\u00fablicas en plugins de este tipo (Roots menciona un ejemplo concreto: <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-6875\">CVE-2023-6875<\/a>).<\/p>\n\n\n\n<p>Con este contexto, Roots ha presentado <strong><a href=\"https:\/\/github.com\/roots\/acorn-mail\">Acorn Mail<\/a><\/strong>: un paquete pensado para simplificar la configuraci\u00f3n de SMTP y, sobre todo, hacer que <strong>probar el env\u00edo<\/strong> sea directo y con errores visibles, apoy\u00e1ndose en la <strong>CLI de Acorn<\/strong> (la interfaz de l\u00ednea de comandos que acompa\u00f1a al framework Acorn en proyectos WordPress modernos).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 es Acorn Mail y qu\u00e9 intenta arreglar<\/h2>\n\n\n\n<p>Acorn Mail es una integraci\u00f3n que se engancha al <code>PHPMailer<\/code> de WordPress (la clase que WordPress usa internamente para enviar correos) y lo configura para usar SMTP cuando detecta credenciales v\u00e1lidas en el entorno. La idea es muy pragm\u00e1tica:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Configuraci\u00f3n por variables de entorno<\/strong>: m\u00e1s portable entre entornos y m\u00e1s alineada con flujos tipo Twelve-Factor App.<\/li>\n\n\n<li><strong>Menos dependencia de plugins<\/strong>: en lugar de a\u00f1adir otra capa de UI y l\u00f3gica dentro del admin, se resuelve desde configuraci\u00f3n y CLI.<\/li>\n\n\n<li><strong>Testing real desde consola<\/strong>: un comando que dispara un email de prueba y muestra errores de forma \u201climpia\u201d, sin tener que adivinar qu\u00e9 ha pasado.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Instalaci\u00f3n con Composer<\/h2>\n\n\n\n<p>Acorn Mail se instala como un paquete adicional junto a Acorn, usando Composer (lo habitual si est\u00e1s trabajando con un stack tipo Roots\/Sage\/Bedrock o un proyecto WordPress m\u00e1s moderno con dependencias gestionadas).<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>composer require roots\/acorn-mail\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">composer<\/span><span style=\"color:#9ECBFF\"> require<\/span><span style=\"color:#9ECBFF\"> roots\/acorn-mail<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Configuraci\u00f3n SMTP con variables de entorno<\/h2>\n\n\n\n<p>Una vez instalado, la configuraci\u00f3n base se hace v\u00eda variables de entorno. Esto encaja bien con despliegues en contenedores, plataformas tipo PaaS o cualquier pipeline CI\/CD donde no quieres \u201cclicar\u201d ajustes a mano en wp-admin.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>MAIL_HOST=\nMAIL_PORT=\nMAIL_USERNAME=\nMAIL_PASSWORD=\nMAIL_FROM_ADDRESS=\nMAIL_FROM_NAME=\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#E1E4E8\">MAIL_HOST<\/span><span style=\"color:#F97583\">=<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">MAIL_PORT<\/span><span style=\"color:#F97583\">=<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">MAIL_USERNAME<\/span><span style=\"color:#F97583\">=<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">MAIL_PASSWORD<\/span><span style=\"color:#F97583\">=<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">MAIL_FROM_ADDRESS<\/span><span style=\"color:#F97583\">=<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">MAIL_FROM_NAME<\/span><span style=\"color:#F97583\">=<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Seg\u00fan el anuncio, cuando Acorn Mail detecta que estas credenciales existen (es decir, no est\u00e1n vac\u00edas), <strong>configura autom\u00e1ticamente el <code>PHPMailer<\/code> de WordPress<\/strong> para usar SMTP. Esto te evita el patr\u00f3n t\u00edpico de: instalar plugin \u2192 rellenar campos \u2192 cruzar dedos \u2192 repetir en otro entorno.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-info is-style-info is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Por qu\u00e9 variables de entorno<\/h4>\n\n\n<p>Adem\u00e1s de ser m\u00e1s c\u00f3modas para mover configuraciones entre local\/staging\/prod, ayudan a mantener secretos fuera del repositorio y reducen el riesgo de que una configuraci\u00f3n sensible termine exportada o expuesta accidentalmente.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Configuraci\u00f3n avanzada: publicar el archivo mail.php<\/h2>\n\n\n\n<p>Si necesitas ajustar opciones m\u00e1s all\u00e1 de lo b\u00e1sico, Acorn Mail permite publicar un fichero de configuraci\u00f3n <code>mail.php<\/code> mediante un comando de la CLI de Acorn:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp acorn mail:config\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> acorn<\/span><span style=\"color:#9ECBFF\"> mail:config<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Este enfoque es \u00fatil cuando quieres versionar configuraci\u00f3n avanzada (sin secretos) o adaptar el comportamiento seg\u00fan el entorno con mayor granularidad, manteniendo el \u201csource of truth\u201d en el proyecto y no en una pantalla del admin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Probar el env\u00edo: un comando, un email y errores claros<\/h2>\n\n\n\n<p>La parte m\u00e1s agradecida del enfoque de Acorn Mail es el testing. En lugar de botones de \u201cSend Test Email\u201d que a veces no explican nada, Roots incorpora un comando espec\u00edfico para enviar un correo de prueba indicando el destinatario:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp acorn mail:test [--to=]\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> acorn<\/span><span style=\"color:#9ECBFF\"> mail:test<\/span><span style=\"color:#E1E4E8\"> [--to=]<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>La promesa aqu\u00ed es simple: poder disparar un env\u00edo y ver de forma clara qu\u00e9 falla en el proceso (autenticaci\u00f3n, conexi\u00f3n, host\/puerto, etc.). En flujos de trabajo con m\u00faltiples entornos, esto acorta much\u00edsimo el tiempo de diagn\u00f3stico.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cu\u00e1ndo tiene sentido apostar por Acorn Mail<\/h2>\n\n\n\n<p>No todos los sitios WordPress necesitan un enfoque \u201cframework + CLI\u201d. Pero si tu proyecto ya utiliza Acorn (o est\u00e1s en el ecosistema Roots), Acorn Mail encaja especialmente bien cuando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Gestionas infraestructura con despliegues reproducibles (CI\/CD) y quieres evitar configuraci\u00f3n manual.<\/li>\n\n\n<li>Trabajas con varios entornos y te interesa que el email se configure igual en todos.<\/li>\n\n\n<li>Quieres reducir dependencia de plugins para piezas cr\u00edticas como el correo transaccional.<\/li>\n\n\n<li>Necesitas una forma r\u00e1pida de validar credenciales SMTP sin pelearte con tooling pobre.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Resumen<\/h2>\n\n\n\n<p>Acorn Mail es una propuesta concreta para un problema muy repetido en WordPress: SMTP suele ser fr\u00e1gil, dif\u00edcil de probar y con poca visibilidad cuando falla. Roots lo ataca con un enfoque m\u00e1s \u201cde aplicaci\u00f3n\u201d: configuraci\u00f3n por entorno, integraci\u00f3n directa con <code>PHPMailer<\/code> y comandos de CLI para publicar configuraci\u00f3n y enviar correos de prueba. Si ya trabajas con Acorn, es una manera limpia de sacar el SMTP del terreno de los plugins y llevarlo a un flujo m\u00e1s predecible.<\/p>\n\n\n<div class=\"references-section\">\n                <h2>Referencias \/ Fuentes<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/roots.io\/announcing-acorn-mail\/\" target=\"_blank\" rel=\"noopener noreferrer\">Announcing Acorn Mail<\/a><\/li><li><a href=\"https:\/\/github.com\/roots\/acorn-mail\" target=\"_blank\" rel=\"noopener noreferrer\">roots\/acorn-mail<\/a><\/li><li><a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-6875\" target=\"_blank\" rel=\"noopener noreferrer\">CVE-2023-6875 Detail<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>Configurar SMTP en WordPress suele ser m\u00e1s doloroso de lo que deber\u00eda: plugins inconsistentes, poca visibilidad de errores y credenciales dif\u00edciles de validar. Acorn Mail propone un enfoque m\u00e1s limpio: configuraci\u00f3n por variables de entorno y tests desde la CLI de Acorn.<\/p>\n","protected":false},"author":15,"featured_media":127,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[4,63,3,5,10],"class_list":["post-128","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ecosistema-wordpress","tag-acorn","tag-cli","tag-roots","tag-smtp","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/posts\/128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/comments?post=128"}],"version-history":[{"count":1,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/posts\/128\/revisions"}],"predecessor-version":[{"id":154,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/posts\/128\/revisions\/154"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/media\/127"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/media?parent=128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/categories?post=128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/tags?post=128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}