
{"id":24815,"date":"2024-07-22T12:51:00","date_gmt":"2024-07-22T10:51:00","guid":{"rendered":"https:\/\/contabo.com\/blog\/?p=24815"},"modified":"2025-07-30T13:04:26","modified_gmt":"2025-07-30T11:04:26","slug":"renderizado-en-el-servidor-con-react-guia-basica","status":"publish","type":"post","link":"https:\/\/contabo.com\/blog\/es\/renderizado-en-el-servidor-con-react-guia-basica\/","title":{"rendered":"Renderizado en el Servidor con React \u2013 Conceptos B\u00e1sicos"},"content":{"rendered":"\n<p>Imagen de cabecera: Server-side Rendering<\/p>\n\n\n\n<p>El renderizado en el servidor (SSR, por sus siglas en ingl\u00e9s) es una t\u00e9cnica fundamental en el desarrollo web moderno, especialmente en aplicaciones React. SSR se refiere al proceso de renderizar una aplicaci\u00f3n web basada en JavaScript en el servidor en lugar de hacerlo en el navegador del cliente. Este enfoque ofrece varias ventajas tanto para los desarrolladores como para los usuarios finales.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-que-es-ssr\">\u00bfQu\u00e9 es SSR?<\/h2>\n\n\n\n<p>En el contexto de React, SSR implica generar el contenido HTML inicial de una p\u00e1gina web en el servidor antes de enviarla al cliente. Esto significa que, cuando un usuario solicita una p\u00e1gina, el servidor ejecuta el c\u00f3digo de React, crea la estructura HTML y env\u00eda la p\u00e1gina completamente renderizada al navegador. Luego, el cliente se encarga de gestionar las interacciones y actualizaciones posteriores.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-beneficios-del-ssr\">Beneficios del SSR<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Mejora en el tiempo de carga inicial<\/strong>: SSR puede reducir significativamente el tiempo que tarda el usuario en ver e interactuar con el contenido, especialmente en dispositivos lentos o redes m\u00e1s lentas.<\/li>\n\n\n\n<li><strong>SEO mejorado<\/strong>: Los motores de b\u00fasqueda pueden rastrear e indexar con mayor facilidad el contenido renderizado en el servidor, lo que potencialmente mejora el posicionamiento en buscadores.<\/li>\n\n\n\n<li><strong>Mejor rendimiento en dispositivos de baja potencia<\/strong>: Al delegar el renderizado inicial al servidor, se reduce la carga computacional en el dispositivo del cliente.<\/li>\n\n\n\n<li><strong>Mejor experiencia de usuario<\/strong>: Los usuarios ven contenido m\u00e1s r\u00e1pidamente, lo que genera una experiencia m\u00e1s fluida y menores tasas de rebote.<\/li>\n<\/ul>\n\n\n\n<p>SSR en React proporciona una forma poderosa de crear aplicaciones web r\u00e1pidas, centradas en el usuario y optimizadas para buscadores. En el resto de esta gu\u00eda, exploraremos c\u00f3mo funciona el SSR, c\u00f3mo implementarlo y las consideraciones clave al usar este enfoque en tus proyectos con React.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-como-funciona-el-renderizado-en-el-servidor\">C\u00f3mo Funciona el Renderizado en el Servidor<\/h2>\n\n\n\n<p>El renderizado en el servidor (SSR) es el proceso de generar el contenido de una p\u00e1gina web en el servidor antes de enviarlo al navegador del cliente. Este m\u00e9todo proporciona una experiencia de carga inicial m\u00e1s r\u00e1pida, ya que el servidor entrega HTML ya renderizado que el navegador puede mostrar de inmediato, sin necesidad de esperar a que se ejecute JavaScript.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-el-proceso-ssr\">El Proceso SSR<\/h3>\n\n\n\n<p>Cuando un usuario solicita una p\u00e1gina web, el servidor maneja la petici\u00f3n procesando los datos necesarios y renderiz\u00e1ndolos en una salida HTML. Este HTML se env\u00eda luego al navegador del cliente, donde puede mostrarse de inmediato. A continuaci\u00f3n, un desglose paso a paso del proceso SSR:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Solicitud del usuario<\/strong>: Un usuario introduce una URL en la barra de direcciones del navegador.<\/li>\n\n\n\n<li><strong>Procesamiento en el servidor<\/strong>: El servidor recibe la solicitud, procesa los datos y genera el HTML.<\/li>\n\n\n\n<li><strong>Entrega del HTML<\/strong>: El servidor env\u00eda el HTML completamente renderizado al navegador del cliente.<\/li>\n\n\n\n<li><strong>Visualizaci\u00f3n en el cliente<\/strong>: El navegador muestra el contenido HTML de inmediato.<\/li>\n\n\n\n<li><strong>Hidrataci\u00f3n del lado del cliente<\/strong>: Se ejecuta el c\u00f3digo JavaScript para hacer interactiva la p\u00e1gina, proceso conocido como hidrataci\u00f3n.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-ventajas-del-ssr\">Ventajas del SSR<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cargas m\u00e1s r\u00e1pidas<\/strong>: Al entregar HTML ya renderizado, los usuarios ven contenido m\u00e1s r\u00e1pido, mejorando el rendimiento percibido.<\/li>\n\n\n\n<li><strong>Beneficios para SEO<\/strong>: Los motores de b\u00fasqueda pueden indexar el contenido web sin necesidad de ejecutar scripts del lado del cliente.<\/li>\n\n\n\n<li><strong>Experiencia consistente<\/strong>: Asegura una experiencia uniforme entre distintos navegadores, ya que el renderizado es gestionado por el servidor.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-comparacion-con-el-renderizado-del-lado-del-cliente-csr\">Comparaci\u00f3n con el Renderizado del Lado del Cliente (CSR)<\/h3>\n\n\n\n<p>Mientras que el SSR es ideal para escenarios donde la velocidad y el SEO son prioritarios, el renderizado del lado del cliente (CSR) permite una experiencia m\u00e1s din\u00e1mica e interactiva una vez cargada la aplicaci\u00f3n. CSR renderiza el contenido en el navegador usando JavaScript, lo que puede hacer que algunos contenidos tarden m\u00e1s en mostrarse. En conclusi\u00f3n, SSR es un enfoque \u00f3ptimo para aplicaciones donde la velocidad inicial de carga y la visibilidad en buscadores son claves, ofreciendo una experiencia m\u00e1s r\u00e1pida y uniforme para los usuarios.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-configurar-una-aplicacion-react-con-ssr-basico\">Configurar una Aplicaci\u00f3n React con SSR B\u00e1sico<\/h2>\n\n\n\n<p>Configurar una aplicaci\u00f3n React con renderizado en el servidor (SSR) b\u00e1sico requiere varios pasos, incluyendo la instalaci\u00f3n de herramientas necesarias, creaci\u00f3n de una app React sencilla y configuraci\u00f3n del servidor para renderizarla. A continuaci\u00f3n, una gu\u00eda paso a paso para comenzar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-herramientas-y-dependencias-necesarias\">Herramientas y Dependencias Necesarias<\/h3>\n\n\n\n<p>Para configurar SSR en React, necesitar\u00e1s:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Node.js<\/strong>: Entorno de ejecuci\u00f3n de JavaScript del lado del servidor.<\/li>\n\n\n\n<li><strong>Express<\/strong>: Framework web para Node.js que gestiona las solicitudes del servidor.<\/li>\n\n\n\n<li><strong>React y ReactDOM<\/strong>: Librer\u00edas para construir y renderizar componentes React.<\/li>\n\n\n\n<li><strong>Babel<\/strong>: Compilador de JavaScript para transformar c\u00f3digo JSX y ES6+ en JavaScript compatible con navegadores.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-crear-una-app-react-con-ssr\">Crear una App React con SSR<\/h3>\n\n\n\n<p><strong>Inicializar el Proyecto<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npx create-react-app ssr-example  \ncd ssr-example  \nnpm install express react react-dom @babel\/core @babel\/preset-env @babel\/preset-react babel-loader  <\/code><\/pre>\n\n\n\n<p><strong>Configurar Babel<\/strong>:<br>Crea un archivo&nbsp;<code>.babelrc<\/code>&nbsp;en la ra\u00edz del proyecto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"presets\": &#91;\"@babel\/preset-env\", \"@babel\/preset-react\"]\n}<\/code><\/pre>\n\n\n\n<p><strong>Crear el Servidor<\/strong>:<br>Archivo&nbsp;<code>server.js<\/code>&nbsp;en la ra\u00edz del proyecto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const express = require('express');\nconst React = require('react');\nconst ReactDOMServer = require('react-dom\/server');\nconst App = require('.\/src\/App').default;\n\nconst app = express();\n\napp.use(express.static('build'));\n\napp.get('*', (req, res) =&gt; {\n  const appString = ReactDOMServer.renderToString(&lt;App \/&gt;);\n  const html = `\n    &lt;!DOCTYPE html&gt;\n    &lt;html&gt;\n      &lt;head&gt;\n        &lt;title&gt;SSR React App&lt;\/title&gt;\n      &lt;\/head&gt;\n      &lt;body&gt;\n        &lt;div id=\"root\"&gt;${appString}&lt;\/div&gt;\n        &lt;script src=\"\/static\/js\/bundle.js\"&gt;&lt;\/script&gt;\n      &lt;\/body&gt;\n    &lt;\/html&gt;\n  `;\n  res.send(html);\n});\n\napp.listen(3000, () =&gt; {\n  console.log('Server is running on http:\/\/localhost:3000');\n});\n<\/code><\/pre>\n\n\n\n<p><strong>Modificar&nbsp;<code>App.js<\/code><\/strong>:<br>Aseg\u00farate de que tu componente sea exportable:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import React from 'react';\n\nconst App = () =&gt; {\n  return (\n    &lt;div&gt;\n      &lt;h1&gt;Hello, SSR!&lt;\/h1&gt;\n    &lt;\/div&gt;\n  );\n};\n\nexport default App;\n<\/code><\/pre>\n\n\n\n<p><strong>Compilar y Ejecutar la Aplicaci\u00f3n<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm run build  \nnode server.js\n<\/code><\/pre>\n\n\n\n<p>Visita&nbsp;<code>http:\/\/localhost:3000<\/code>&nbsp;para ver tu aplicaci\u00f3n React renderizada en el servidor.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-desafios-y-consideraciones-en-ssr\">Desaf\u00edos y Consideraciones en SSR<\/h2>\n\n\n\n<p>Implementar SSR en aplicaciones React conlleva una serie de desaf\u00edos y aspectos a considerar. Comprenderlos te ayudar\u00e1 a tomar decisiones informadas y optimizar tu aplicaci\u00f3n de forma eficaz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-implicaciones-de-rendimiento\">Implicaciones de Rendimiento<\/h3>\n\n\n\n<p>Aunque SSR mejora los tiempos de carga iniciales, tambi\u00e9n puede introducir cuellos de botella en el servidor. Renderizar componentes React en el servidor requiere recursos computacionales, lo cual puede ser un l\u00edmite en situaciones de alto tr\u00e1fico. Para mitigar esto:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cach\u00e9<\/strong>: Usa cach\u00e9 para almacenar p\u00e1ginas renderizadas y reducir la carga del servidor.<\/li>\n\n\n\n<li><strong>Balanceo de carga<\/strong>: Distribuye las solicitudes entre m\u00faltiples servidores para manejar m\u00e1s tr\u00e1fico.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-beneficios-seo\">Beneficios SEO<\/h3>\n\n\n\n<p>Una de las principales ventajas del SSR es la mejora del posicionamiento en buscadores, ya que el contenido es renderizado previamente. Aseg\u00farate de:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Etiquetas meta<\/strong>: Gestionarlas correctamente en cada p\u00e1gina para mejorar el SEO.<\/li>\n\n\n\n<li><strong>Contenido din\u00e1mico<\/strong>: Tratarlo cuidadosamente para asegurar su correcta indexaci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-inconvenientes-potenciales\">Inconvenientes Potenciales<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Mayor complejidad<\/strong>: SSR a\u00f1ade complejidad a la arquitectura, exigiendo una separaci\u00f3n clara entre el c\u00f3digo del cliente y del servidor.<\/li>\n\n\n\n<li><strong>Tiempo de desarrollo m\u00e1s largo<\/strong>: SSR requiere configuraciones adicionales que pueden alargar el desarrollo.<\/li>\n\n\n\n<li><strong>Problemas de hidrataci\u00f3n<\/strong>: Si el HTML renderizado no coincide con el JavaScript del cliente, pueden surgir errores de \u00abhidrataci\u00f3n\u00bb.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-buenas-practicas\">Buenas Pr\u00e1cticas<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Divisi\u00f3n de c\u00f3digo<\/strong>: Usa code-splitting para reducir el tama\u00f1o del JavaScript enviado al cliente.<\/li>\n\n\n\n<li><strong>Obtenci\u00f3n de datos en el servidor<\/strong>: Aseg\u00farate de tener todos los datos necesarios antes de renderizar.<\/li>\n\n\n\n<li><strong>Manejo de errores<\/strong>: Implementa un sistema robusto para capturar y gestionar errores durante el SSR.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>El renderizado en el servidor (SSR) con React es una estrategia eficaz para construir aplicaciones web r\u00e1pidas y optimizadas para buscadores. Al generar contenido en el servidor, mejora significativamente la carga inicial de las p\u00e1ginas y la visibilidad en motores de b\u00fasqueda, abordando desaf\u00edos clave del desarrollo web moderno.<\/p>\n\n\n\n<p>A lo largo de esta gu\u00eda, hemos explorado los fundamentos del SSR en React, desde sus conceptos b\u00e1sicos hasta su implementaci\u00f3n y consideraciones avanzadas. Hemos visto c\u00f3mo puede mejorar la experiencia de usuario y el rendimiento general de la aplicaci\u00f3n cuando se aplica correctamente.<\/p>\n\n\n\n<p>Recuerda: aunque SSR ofrece muchas ventajas, no es una soluci\u00f3n universal. Eval\u00faa tu caso espec\u00edfico antes de decidir implementarlo. Dominar SSR en React te otorga una habilidad valiosa para construir aplicaciones web m\u00e1s eficientes y efectivas.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","protected":false},"excerpt":{"rendered":"<p>Imagen de cabecera: Server-side Rendering El renderizado en el servidor (SSR, por sus siglas en ingl\u00e9s) es una t\u00e9cnica fundamental en el desarrollo web moderno, especialmente en aplicaciones React. SSR se refiere al proceso de renderizar una aplicaci\u00f3n web basada en JavaScript en el servidor en lugar de hacerlo en el navegador del cliente. Este [&hellip;]<\/p>\n","protected":false},"author":50,"featured_media":24817,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1988],"tags":[3077,3070,3076,3075,3069,3074,3072,3071,3068,3073],"ppma_author":[1491],"class_list":["post-24815","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriales","tag-aplicacion-react-seo","tag-guia-ssr-react","tag-optimizacion-react","tag-react-server-side-rendering","tag-renderizado-en-el-servidor","tag-renderizado-html-en-servidor","tag-rendimiento-web","tag-seo-con-react","tag-ssr-react","tag-ssr-vs-csr"],"uagb_featured_image_src":{"full":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/07\/blog-head_serverside_rendering_in_react.jpg",1200,630,false],"thumbnail":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/07\/blog-head_serverside_rendering_in_react-150x150.jpg",150,150,true],"medium":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/07\/blog-head_serverside_rendering_in_react-600x315.jpg",600,315,true],"medium_large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/07\/blog-head_serverside_rendering_in_react-768x403.jpg",768,403,true],"large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/07\/blog-head_serverside_rendering_in_react.jpg",1200,630,false],"1536x1536":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/07\/blog-head_serverside_rendering_in_react.jpg",1200,630,false],"2048x2048":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2024\/07\/blog-head_serverside_rendering_in_react.jpg",1200,630,false]},"uagb_author_info":{"display_name":"Tobias Mildenberger","author_link":"https:\/\/contabo.com\/blog\/es\/author\/tobias\/"},"uagb_comment_info":0,"uagb_excerpt":"Imagen de cabecera: Server-side Rendering El renderizado en el servidor (SSR, por sus siglas en ingl\u00e9s) es una t\u00e9cnica fundamental en el desarrollo web moderno, especialmente en aplicaciones React. SSR se refiere al proceso de renderizar una aplicaci\u00f3n web basada en JavaScript en el servidor en lugar de hacerlo en el navegador del cliente. Este&hellip;","authors":[{"term_id":1491,"user_id":50,"is_guest":0,"slug":"tobias","display_name":"Tobias Mildenberger","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/077178d5dce6c3d4c0c0396857a7e544bfdf8adf04145fff5160b33a22e28b1f?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/posts\/24815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=24815"}],"version-history":[{"count":1,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/posts\/24815\/revisions"}],"predecessor-version":[{"id":24816,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/posts\/24815\/revisions\/24816"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/media\/24817"}],"wp:attachment":[{"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=24815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=24815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=24815"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/contabo.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=24815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}