{"id":350,"date":"2021-04-11T16:19:40","date_gmt":"2021-04-11T16:19:40","guid":{"rendered":"https:\/\/jonathansolis.com\/blog\/?p=350"},"modified":"2021-04-14T17:07:04","modified_gmt":"2021-04-14T17:07:04","slug":"recuperar-pagina-borrada","status":"publish","type":"post","link":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/","title":{"rendered":"Recuperar una p\u00e1gina web borrada"},"content":{"rendered":"<body>\n<p>\u00bfHaz tenido la necesidad de recuperar una p\u00e1gina web borrada por error? Yo si.<\/p>\n\n\n\n<p>Estaba preparando una nueva adici\u00f3n a mi p\u00e1gina web y despu\u00e9s de varios d\u00edas de trabajo\u2026<\/p>\n\n\n\n<p>\u2026Un error, borro todos los archivos\u2026<\/p>\n\n\n\n<p>\u2026 el backup fall\u00f3\u2026<\/p>\n\n\n\n<p>Aqu\u00ed te cuento como planeo recuperarla.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">El contexto:<\/h2>\n\n\n\n<p>Antes de empezar es importante que conozcas como funciona mi p\u00e1gina que en realidad es muy sencilla, no tiene mas que una sola vista y es por eso que planeaba darle un mejor uso.<\/p>\n\n\n\n<p>Mi plan era simplemente hacer una instalaci\u00f3n de WordPress en un f\u00f3lder independiente, nada fuera de este mundo. Pero aqu\u00ed va la complicaci\u00f3n:<\/p>\n\n\n\n<p>A pesar de ser una p\u00e1gina muy simple, ya tiene todos los elementos de un proyecto profesional.<\/p>\n\n\n\n<p>Es decir, el c\u00f3digo esta versionado por medio de GIT, existen tres ambientes, desarrollo (Mi maquina local), pruebas (staging) y finalmente uno productivo (production).<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"435\" height=\"204\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image.png?resize=435%2C204&#038;ssl=1\" alt=\"Estructura de una p\u00e1gina web borrada por error\" class=\"wp-image-351\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image.png?w=435&amp;ssl=1 435w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image.png?resize=300%2C141&amp;ssl=1 300w\" sizes=\"auto, (max-width: 435px) 100vw, 435px\" \/><figcaption>Estructura de mi p\u00e1gina<\/figcaption><\/figure><\/div>\n\n\n\n<p>Por si fuera poco, el ambiente de producci\u00f3n tiene un respaldo que corre autom\u00e1ticamente todos los d\u00edas.<\/p>\n\n\n\n<p>Pero a\u00fan terminamos, cuenta tambi\u00e9n con un pipeline de continuos integration and continuos delivery (CI\/CD) en GitLab que se ve mas o menos as\u00ed:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"658\" height=\"147\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-1.png?resize=658%2C147&#038;ssl=1\" alt=\"Pipelline de GitLab\" class=\"wp-image-352\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-1.png?w=658&amp;ssl=1 658w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-1.png?resize=300%2C67&amp;ssl=1 300w\" sizes=\"auto, (max-width: 658px) 100vw, 658px\" \/><figcaption>Pipelline de GitLab<\/figcaption><\/figure><\/div>\n\n\n\n<p>Esto que quiere decir, que cada que se hace un cambio, se correaran una serie de procesos que llevar\u00e1n ese cambio a producci\u00f3n, todos son procesos autom\u00e1ticos, excepto uno\u2026<\/p>\n\n\n\n<p>El pas\u00f3 de staging a production se hace a mano, esto para verificar que nada este roto en la fase de staging, lo que asegura que la versi\u00f3n de producci\u00f3n no tendr\u00e1 problemas.<\/p>\n\n\n\n<p>Todo muy bien, pero \u00bfQu\u00e9 pas\u00f3, por que se borr\u00f3 todo?<\/p>\n\n\n\n<p>La instalaci\u00f3n de WordPress no pas\u00f3 por ninguna y repito, ninguna de estas fases.<br>\u00bfPor qu\u00e9?<br>Yo buscaba algo simple, r\u00e1pido e indoloro. As\u00ed que decid\u00ed instalar directamente en producci\u00f3n sin pasar por desarrollo ni pruebas \u00bfPor qu\u00e9? Pues\u2026 que aburrida ser\u00eda la vida si no tom\u00e1ramos algunos riesgos\u2026<\/p>\n\n\n\n<p>Ya en serio, la raz\u00f3n es que no veo factible tener control de las versiones del core de WordPress ni de los temas por default (Que es lo que yo planeaba usar), pero a\u00fan as\u00ed ten\u00eda el respaldo autom\u00e1tico. Nada pod\u00eda salir mal. O casi nada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cuando se borraron todos los archivos<\/h2>\n\n\n\n<p>Otro punto importante para la p\u00e1gina era tener estad\u00edsticas de los usuarios que la visitan, para esto pens\u00e9 en configurar GoogleAnalytics. En WordPress es f\u00e1cil por que un plugin lo hace por ti. Pero en mi p\u00e1gina principal la cosa es distinta.<\/p>\n\n\n\n<p>En la p\u00e1gina principal necesitamos agregar un script de Google a mano. Pero no hay problema, \u00bfcierto?<\/p>\n\n\n\n<p>Vamos al ambiente de desarrollo, modificamos el c\u00f3digo y hacemos commit\/push para que empiece a correr el pipeline que llevar\u00e1 el cambio hasta Staging.<\/p>\n\n\n\n<p>Este proceso tom\u00f3 cerca de 47 segundos. \u00a1Bien hecho!<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"274\" height=\"173\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-2.png?resize=274%2C173&#038;ssl=1\" alt=\"Deploy a staging en GitLab\" class=\"wp-image-353\" loading=\"lazy\"><figcaption>Deploy a staging<\/figcaption><\/figure><\/div>\n\n\n\n<p>En ese momento acced\u00ed al ambiente de pruebas (Staging) verifiqu\u00e9 que el cambio estuviera correcto y que no hubiera errores, todo bien. No hab\u00eda necesidad de verificar WordPress por que en Staging \u00a1No existe!\u2026 Pero bueno, sigamos.<\/p>\n\n\n\n<p>Ya que todo estaba bien en staging procedemos a presionar el bot\u00f3n que llevar\u00e1 los cambios a producci\u00f3n. O a lo que le llamo: \u201cDar el salto de fe\u201d.<\/p>\n\n\n\n<p>Y producci\u00f3n empieza a correr, 1, 2, 3, 10 minutos y no terminaba. Pasaron en total \u00a113 minutos!<br>Algo estaba terriblemente mal y yo no me hab\u00eda dado cuenta.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"275\" height=\"180\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-3.png?resize=275%2C180&#038;ssl=1\" alt=\"Deploy a producci\u00f3n en GitLab\" class=\"wp-image-354\" loading=\"lazy\"><figcaption>Deploy a producci\u00f3n<\/figcaption><\/figure><\/div>\n\n\n\n<p>Vuelvo a producci\u00f3n, verifico el script de Google y todo bien.<br>Bueno vayamos al administrador de WordPress para continuar con la configuraci\u00f3n y todo lo que veo es un circulo dando vueltas.<br>Esto ya no suena nada prometedor.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"283\" height=\"253\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-4.png?resize=283%2C253&#038;ssl=1\" alt=\"Indicador de carga de p\u00e1gina\" class=\"wp-image-355\" loading=\"lazy\"><figcaption>Indicador de carga<\/figcaption><\/figure><\/div>\n\n\n\n<p>Debe ser una ca\u00edda temporal, pienso yo.<br>Que equivocado estaba, intento tras intento y no carga, entro al server para verificar y entonces me doy cuenta\u2026<\/p>\n\n\n\n<p>Los archivos ya no est\u00e1n, todo, \u00a1todo se borro!<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"391\" height=\"129\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-5.png?resize=391%2C129&#038;ssl=1\" alt=\"Directorio vac\u00edo\" class=\"wp-image-356\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-5.png?w=391&amp;ssl=1 391w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-5.png?resize=300%2C99&amp;ssl=1 300w\" sizes=\"auto, (max-width: 391px) 100vw, 391px\" \/><figcaption>Directorio vac\u00edo<\/figcaption><\/figure><\/div>\n\n\n\n<p>El servicio de respaldos soporta hasta 1GB de almacenamiento, pero por alguna raz\u00f3n lleg\u00f3 a almacenar 25GB !!! Por lo que ya no aceptaba mas respaldos.<\/p>\n\n\n\n<p>Y as\u00ed fue como todo el trabajo desapareci\u00f3\u2026<br>Pero espera \u00a1No todo est\u00e1 perdido!<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"482\" height=\"217\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-6.png?resize=482%2C217&#038;ssl=1\" alt=\"Tama\u00f1o de la base de datos\" class=\"wp-image-357\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-6.png?w=482&amp;ssl=1 482w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-6.png?resize=300%2C135&amp;ssl=1 300w\" sizes=\"auto, (max-width: 482px) 100vw, 482px\" \/><figcaption>Tama\u00f1o de la base de datos<\/figcaption><\/figure><\/div>\n\n\n\n<p>La BD tiene informaci\u00f3n, lo que quiere decir que si de alguna forma recuperamos los archivos podemos recuperar tambi\u00e9n lo que sea que ella contenga.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como recuperar una p\u00e1gina web borrada por error<\/h2>\n\n\n\n<p>Antes de seguir, tenemos que tomar medidas sobre los respaldos, no podemos seguir con esos 25GB adicionales.<\/p>\n\n\n\n<p>Despu\u00e9s de una limpieza, el servicio se ve, mucho mejor, nada de archivos basura y solo respaldos genuinos:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"273\" height=\"138\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-8.png?resize=273%2C138&#038;ssl=1\" alt=\"Dashboard de CodeGuard\" class=\"wp-image-359\" loading=\"lazy\"><figcaption>Dashboard de CodeGuard<\/figcaption><\/figure><\/div>\n\n\n\n<p>Por otro lado, veamos que fue lo que hizo que se borraran los archivos.<\/p>\n\n\n\n<p>Esos 13 minutos de deploy a producci\u00f3n no me daban buena espina y despu\u00e9s de analizar los comandos, encontr\u00e9 que la transferencia FTP est\u00e1 haciendo un espejo de todos los archivos contenidos en GIT, pero claro, como WordPress no esta versionado, al hacer el deploy, simplemente se borra.<\/p>\n\n\n\n<p>Y he aqu\u00ed el culpable, vamos a cortarle la cabeza:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>lftp -u $JS_PROD_FTP_U,$JS_PROD_FTP_PWD $JS_ADD -e \"set ftp:ssl-allow no ; mirror -e -R -x .gitlab-ci.yml -x .git -x languages\/ -p .\/ \/ ; quit\"<\/code><\/pre>\n\n\n\n<p>\u00a1Fueron 13 minutos borrando archivos!<\/p>\n\n\n\n<p>A\u00fan no me convence versionar el core WordPress en GIT, as\u00ed que, mi plan es (No te r\u00edas) seguirlo dejando fuera.<\/p>\n\n\n\n<p>Pero entonces, \u00bfc\u00f3mo nos vamos a proteger?<\/p>\n\n\n\n<p>La idea es tener una versi\u00f3n de staging para WordPress tambi\u00e9n, pero fuera de GIT. Los respaldos a la base de datos y archivos seguir\u00e1n siendo manejados por CodeGuard (Que ya est\u00e1 funcionando).<\/p>\n\n\n\n<p>El resultado ser\u00e1 como tener dos sistemas corriendo en paralelo, todo respaldado en CodeGuard.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"362\" height=\"446\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-9.png?resize=362%2C446&#038;ssl=1\" alt=\"Nueva estructura de la p\u00e1gina\" class=\"wp-image-361\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-9.png?w=362&amp;ssl=1 362w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-9.png?resize=243%2C300&amp;ssl=1 243w\" sizes=\"auto, (max-width: 362px) 100vw, 362px\" \/><figcaption>Nueva estructura de la p\u00e1gina<\/figcaption><\/figure><\/div>\n\n\n\n<p>Manos a la obra, hora de arreglar ese comando FTP, simplemente hay que excluir el directorio de wordpress y listo, el nuevo comando ser\u00eda as\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>lftp -u $JS_PROD_FTP_U,$JS_PROD_FTP_PWD $JS_ADD -e \"set ftp:ssl-allow no ; mirror -e -R -x .gitlab-ci.yml -x .git -x languages\/ -x WordPress\/ -p .\/ \/ ; quit\"<\/code><\/pre>\n\n\n\n<p>Ojo el mismo cambio se tiene que hacer en el comando que hace la transferencia hac\u00eda Staging.<\/p>\n\n\n\n<p>He creado un archivo \u201cTest.htm\u201d para verificar que efectivamente despu\u00e9s del deploy, la nueva carpeta no se afecta.<\/p>\n\n\n\n<p>Justo al momento de hacer commit y push empieza a correr el pipeline en autom\u00e1tico y mientras tanto yo cruzo los dedos.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"664\" height=\"201\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-10.png?resize=664%2C201&#038;ssl=1\" alt=\"Pipeline corriendo de nuevo\" class=\"wp-image-362\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-10.png?w=664&amp;ssl=1 664w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-10.png?resize=300%2C91&amp;ssl=1 300w\" sizes=\"auto, (max-width: 664px) 100vw, 664px\" \/><figcaption>Pipeline corriendo de nuevo<\/figcaption><\/figure><\/div>\n\n\n\n<p>Una vez completo, es momento de verificar que pas\u00f3 con nuestro archivo de prueba.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"543\" height=\"84\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-11.png?resize=543%2C84&#038;ssl=1\" alt=\"Archivo de prueba\" class=\"wp-image-363\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-11.png?w=543&amp;ssl=1 543w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-11.png?resize=300%2C46&amp;ssl=1 300w\" sizes=\"auto, (max-width: 543px) 100vw, 543px\" \/><figcaption>Archivo de prueba<\/figcaption><\/figure><\/div>\n\n\n\n<p>\u00a1Y funciona!<br>El archivo a\u00fan existe, lo que significa que lftp ya no esta sobrescribiendo el folder.<\/p>\n\n\n\n<p>El siguiente paso es recuperar la instalaci\u00f3n de WordPress. Pero para ello, necesitamos hacer un respaldo de la base de datos antes de continuar.<\/p>\n\n\n\n<p>Desafortunadamente no hay respaldo de los archivos, por lo que la \u00fanica opci\u00f3n es hacer la instalaci\u00f3n de WordPress de nuevo, pero cambiar un par de cosas.<\/p>\n\n\n\n<p>Primero hagamos una instalaci\u00f3n nueva, lo que nos devolver\u00eda al cl\u00e1sico \u201cHello World\u201d<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"650\" height=\"186\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-12.png?resize=650%2C186&#038;ssl=1\" alt=\"&quot;Hello world&quot; de wordpress\" class=\"wp-image-364\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-12.png?w=650&amp;ssl=1 650w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-12.png?resize=300%2C86&amp;ssl=1 300w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><figcaption>\u201cHello world\u201d de wordpress<\/figcaption><\/figure><\/div>\n\n\n\n<p>Tambi\u00e9n hay que instalar los plugins y temas que ten\u00edamos antes de que ocurriera la cat\u00e1strofe.<\/p>\n\n\n\n<p>Luego, en el archivo de configuraci\u00f3n hay que cambiar el nombre y credenciales de la base de datos, as\u00ed como el prefijo de las tablas.<\/p>\n\n\n\n<p>PEEEROOOOOO ANTEEESSSS<br>Si queremos tener \u00e9xito al recuperar la p\u00e1gina web borrada, tenemos que hacer un respaldo.<\/p>\n\n\n\n<p>Una vez hecho eso, deber\u00eda funcionar\u2026 Veamos\u2026<\/p>\n\n\n\n<p>Pues si, ese electrochoque la devolvi\u00f3 a la vida.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"750\" height=\"419\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-13.png?resize=750%2C419&#038;ssl=1\" alt=\"P\u00e1gina web borrada, ahora recuperada\" class=\"wp-image-365\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-13.png?w=799&amp;ssl=1 799w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-13.png?resize=300%2C167&amp;ssl=1 300w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-13.png?resize=768%2C429&amp;ssl=1 768w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption>P\u00e1gina web borrada, ahora funcionando nuevamente<\/figcaption><\/figure><\/div>\n\n\n\n<p>Siguiente paso: recuperar las im\u00e1genes<\/p>\n\n\n\n<p>Desafortunadamente no hay mucho que hacer aqu\u00ed, algunos proveedores tienen acceso al WordPress Manager y desde ah\u00ed se puede ver si hay alg\u00fan respaldo que contenga las im\u00e1genes.<\/p>\n\n\n\n<p>En mi caso hay uno, pero no tiene im\u00e1genes.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"750\" height=\"104\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-14.png?resize=750%2C104&#038;ssl=1\" alt=\"Copias de seguridad de Softaculous\" class=\"wp-image-366\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-14.png?w=975&amp;ssl=1 975w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-14.png?resize=300%2C42&amp;ssl=1 300w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-14.png?resize=768%2C106&amp;ssl=1 768w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption>Copias de seguridad de Softaculous<\/figcaption><\/figure><\/div>\n\n\n\n<p>Otra forma de lograrlo es revisando la cache de la p\u00e1gina en Google y desde ah\u00ed descargar las im\u00e1genes o volver a las fuentes desde donde fueron obtenidas.<\/p>\n\n\n\n<p>Por suerte para mi, tengo acceso a las fuentes originales y algunos respaldos en documentos, no deber\u00eda ser muy complicado.<\/p>\n\n\n\n<p>Despu\u00e9s de varios d\u00edas de trabajo, ya va tomando forma.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"750\" height=\"304\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-15.png?resize=750%2C304&#038;ssl=1\" alt=\"Im\u00e1genes cardas en cada articulo\" class=\"wp-image-367\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-15.png?resize=1024%2C415&amp;ssl=1 1024w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-15.png?resize=300%2C121&amp;ssl=1 300w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-15.png?resize=768%2C311&amp;ssl=1 768w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-15.png?w=1166&amp;ssl=1 1166w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption>Im\u00e1genes cardas en cada articulo<\/figcaption><\/figure><\/div>\n\n\n\n<p>Antes de seguir modificando la p\u00e1gina, hay que asegurarnos que los backups funcionan.<br>Dentro de CodeGuard todo se ve bien, \u00a1palomita!<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"750\" height=\"141\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-16.png?resize=750%2C141&#038;ssl=1\" alt=\"Progreso de respaldo en CodeGuard\" class=\"wp-image-368\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-16.png?w=907&amp;ssl=1 907w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-16.png?resize=300%2C57&amp;ssl=1 300w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-16.png?resize=768%2C145&amp;ssl=1 768w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption>Progreso de respaldo en CodeGuard<\/figcaption><\/figure>\n\n\n\n<p>Es momento de crear el sitio de staging para poder jugar a gusto. Para eso vamos al WordPress Manager de Softaculous. No todos los proveedores de hosting tienen acceso, pero afortunadamente el mio si.<\/p>\n\n\n\n<p>Desde aqu\u00ed simplemente vamos a la opci\u00f3n \u201cStaging\u201d y eso har\u00e1 el trabajo por nosotros.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"750\" height=\"119\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-17.png?resize=750%2C119&#038;ssl=1\" alt=\"Opciones para crear Staging en Softaculous\" class=\"wp-image-369\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-17.png?w=805&amp;ssl=1 805w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-17.png?resize=300%2C48&amp;ssl=1 300w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-17.png?resize=768%2C122&amp;ssl=1 768w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption>Opciones para crear Staging en Softaculous<\/figcaption><\/figure>\n\n\n\n<p>Nos va a pedir una serie de datos muy sencillos y una vez completado tendremos un sitio adicional para poder hacer las pruebas que queramos.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"750\" height=\"105\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-18.png?resize=750%2C105&#038;ssl=1\" alt=\"Opciones de Staging en SOftaculous\" class=\"wp-image-370\" loading=\"lazy\" srcset=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-18.png?w=924&amp;ssl=1 924w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-18.png?resize=300%2C42&amp;ssl=1 300w, https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-18.png?resize=768%2C107&amp;ssl=1 768w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption>Opciones de Staging<\/figcaption><\/figure><\/div>\n\n\n\n<p>En el momento en el que estemos contentos con los cambios, podemos volver al listado de instalaciones y simplemente pulsar el bot\u00f3n Push to live:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"259\" height=\"114\" src=\"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/image-19.png?resize=259%2C114&#038;ssl=1\" alt=\"Publicar Staging a Producci\u00f3n en Softaculous\" class=\"wp-image-371\" loading=\"lazy\"><figcaption>Publicar Staging a Producci\u00f3n<\/figcaption><\/figure><\/div>\n\n\n\n<p>\u00a1Por fin terminamos!<\/p>\n\n\n\n<p>Ahora si podemos decir que logramos recuperar una p\u00e1gina web borrada y gracias a los respaldos autom\u00e1ticos y al ambiente de pruebas (Staging) es mucho m\u00e1s segura que antes. Solo resta seguir actualizando, pero ahora podemos hacerlo con toda confianza.<\/p>\n\n\n\n<p>Bastante largo, pero si te gusto este articulo, te recomiendo: <a href=\"https:\/\/jonathansolis.com\/blog\/category\/tecnologia\/\">Tecnolog\u00eda<\/a><\/p>\n\n\n\n<p>Foto por <a href=\"https:\/\/unsplash.com\/@markusspiske\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Markus Spiske<\/a><\/p>\n\n\n\n<p>\u00a1Hasta pronto!<\/p>\n<\/body>","protected":false},"excerpt":{"rendered":"<p>\u00bfHaz tenido la necesidad de recuperar una p\u00e1gina web borrada por error? Yo si y te cuento como lo solucion\u00e9.<\/p>\n","protected":false},"author":2,"featured_media":373,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[22],"class_list":["post-350","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tecnologia","tag-wordpress","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Recuperar una p\u00e1gina web borrada - Jonathan Solis<\/title>\n<meta name=\"description\" content=\"\u00bfHaz tenido la necesidad de recuperar una p\u00e1gina web borrada por error? Yo si y te cuento como lo solucion\u00e9.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Recuperar una p\u00e1gina web borrada - Jonathan Solis\" \/>\n<meta property=\"og:description\" content=\"\u00bfHaz tenido la necesidad de recuperar una p\u00e1gina web borrada por error? Yo si y te cuento como lo solucion\u00e9.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/\" \/>\n<meta property=\"og:site_name\" content=\"Jonathan Solis\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-11T16:19:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-04-14T17:07:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/backup.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"427\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jonathan Solis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jonathan Solis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/\"},\"author\":{\"name\":\"Jonathan Solis\",\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/#\\\/schema\\\/person\\\/52bb11fb134af2f77ffb651a0d972c20\"},\"headline\":\"Recuperar una p\u00e1gina web borrada\",\"datePublished\":\"2021-04-11T16:19:40+00:00\",\"dateModified\":\"2021-04-14T17:07:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/\"},\"wordCount\":1587,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/#\\\/schema\\\/person\\\/52bb11fb134af2f77ffb651a0d972c20\"},\"image\":{\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/jonathansolis.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/backup.jpg?fit=640%2C427&ssl=1\",\"keywords\":[\"Wordpress\"],\"articleSection\":[\"Tecnolog\u00eda\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/\",\"url\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/\",\"name\":\"Recuperar una p\u00e1gina web borrada - Jonathan Solis\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/jonathansolis.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/backup.jpg?fit=640%2C427&ssl=1\",\"datePublished\":\"2021-04-11T16:19:40+00:00\",\"dateModified\":\"2021-04-14T17:07:04+00:00\",\"description\":\"\u00bfHaz tenido la necesidad de recuperar una p\u00e1gina web borrada por error? Yo si y te cuento como lo solucion\u00e9.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/jonathansolis.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/backup.jpg?fit=640%2C427&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/jonathansolis.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/backup.jpg?fit=640%2C427&ssl=1\",\"width\":640,\"height\":427,\"caption\":\"Disco duro ejemplificando los respaldos\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/recuperar-pagina-borrada\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Recuperar una p\u00e1gina web borrada\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/\",\"name\":\"Jonathan Solis\",\"description\":\"Mis aventuras, aciertos y aprendizajes las encontrar\u00e1s aqu\u00ed.\",\"publisher\":{\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/#\\\/schema\\\/person\\\/52bb11fb134af2f77ffb651a0d972c20\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/#\\\/schema\\\/person\\\/52bb11fb134af2f77ffb651a0d972c20\",\"name\":\"Jonathan Solis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/jonathansolis.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/jhnsolis-avatar-cartoon-square.png?fit=638%2C602&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/jonathansolis.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/jhnsolis-avatar-cartoon-square.png?fit=638%2C602&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/jonathansolis.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/jhnsolis-avatar-cartoon-square.png?fit=638%2C602&ssl=1\",\"width\":638,\"height\":602,\"caption\":\"Jonathan Solis\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/jonathansolis.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/jhnsolis-avatar-cartoon-square.png?fit=638%2C602&ssl=1\"},\"sameAs\":[\"https:\\\/\\\/jonathansolis.com\"],\"url\":\"https:\\\/\\\/jonathansolis.com\\\/blog\\\/author\\\/jonathan\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Recuperar una p\u00e1gina web borrada - Jonathan Solis","description":"\u00bfHaz tenido la necesidad de recuperar una p\u00e1gina web borrada por error? Yo si y te cuento como lo solucion\u00e9.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/","og_locale":"es_MX","og_type":"article","og_title":"Recuperar una p\u00e1gina web borrada - Jonathan Solis","og_description":"\u00bfHaz tenido la necesidad de recuperar una p\u00e1gina web borrada por error? Yo si y te cuento como lo solucion\u00e9.","og_url":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/","og_site_name":"Jonathan Solis","article_published_time":"2021-04-11T16:19:40+00:00","article_modified_time":"2021-04-14T17:07:04+00:00","og_image":[{"width":640,"height":427,"url":"https:\/\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/backup.jpg","type":"image\/jpeg"}],"author":"Jonathan Solis","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Jonathan Solis","Tiempo de lectura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/#article","isPartOf":{"@id":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/"},"author":{"name":"Jonathan Solis","@id":"https:\/\/jonathansolis.com\/blog\/#\/schema\/person\/52bb11fb134af2f77ffb651a0d972c20"},"headline":"Recuperar una p\u00e1gina web borrada","datePublished":"2021-04-11T16:19:40+00:00","dateModified":"2021-04-14T17:07:04+00:00","mainEntityOfPage":{"@id":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/"},"wordCount":1587,"commentCount":0,"publisher":{"@id":"https:\/\/jonathansolis.com\/blog\/#\/schema\/person\/52bb11fb134af2f77ffb651a0d972c20"},"image":{"@id":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/backup.jpg?fit=640%2C427&ssl=1","keywords":["Wordpress"],"articleSection":["Tecnolog\u00eda"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/","url":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/","name":"Recuperar una p\u00e1gina web borrada - Jonathan Solis","isPartOf":{"@id":"https:\/\/jonathansolis.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/#primaryimage"},"image":{"@id":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/backup.jpg?fit=640%2C427&ssl=1","datePublished":"2021-04-11T16:19:40+00:00","dateModified":"2021-04-14T17:07:04+00:00","description":"\u00bfHaz tenido la necesidad de recuperar una p\u00e1gina web borrada por error? Yo si y te cuento como lo solucion\u00e9.","breadcrumb":{"@id":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/#primaryimage","url":"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/backup.jpg?fit=640%2C427&ssl=1","contentUrl":"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/backup.jpg?fit=640%2C427&ssl=1","width":640,"height":427,"caption":"Disco duro ejemplificando los respaldos"},{"@type":"BreadcrumbList","@id":"https:\/\/jonathansolis.com\/blog\/recuperar-pagina-borrada\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/jonathansolis.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Recuperar una p\u00e1gina web borrada"}]},{"@type":"WebSite","@id":"https:\/\/jonathansolis.com\/blog\/#website","url":"https:\/\/jonathansolis.com\/blog\/","name":"Jonathan Solis","description":"Mis aventuras, aciertos y aprendizajes las encontrar\u00e1s aqu\u00ed.","publisher":{"@id":"https:\/\/jonathansolis.com\/blog\/#\/schema\/person\/52bb11fb134af2f77ffb651a0d972c20"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jonathansolis.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":["Person","Organization"],"@id":"https:\/\/jonathansolis.com\/blog\/#\/schema\/person\/52bb11fb134af2f77ffb651a0d972c20","name":"Jonathan Solis","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2024\/03\/jhnsolis-avatar-cartoon-square.png?fit=638%2C602&ssl=1","url":"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2024\/03\/jhnsolis-avatar-cartoon-square.png?fit=638%2C602&ssl=1","contentUrl":"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2024\/03\/jhnsolis-avatar-cartoon-square.png?fit=638%2C602&ssl=1","width":638,"height":602,"caption":"Jonathan Solis"},"logo":{"@id":"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2024\/03\/jhnsolis-avatar-cartoon-square.png?fit=638%2C602&ssl=1"},"sameAs":["https:\/\/jonathansolis.com"],"url":"https:\/\/jonathansolis.com\/blog\/author\/jonathan\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/jonathansolis.com\/blog\/wp-content\/uploads\/2021\/04\/backup.jpg?fit=640%2C427&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/jonathansolis.com\/blog\/wp-json\/wp\/v2\/posts\/350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jonathansolis.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jonathansolis.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jonathansolis.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jonathansolis.com\/blog\/wp-json\/wp\/v2\/comments?post=350"}],"version-history":[{"count":3,"href":"https:\/\/jonathansolis.com\/blog\/wp-json\/wp\/v2\/posts\/350\/revisions"}],"predecessor-version":[{"id":375,"href":"https:\/\/jonathansolis.com\/blog\/wp-json\/wp\/v2\/posts\/350\/revisions\/375"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jonathansolis.com\/blog\/wp-json\/wp\/v2\/media\/373"}],"wp:attachment":[{"href":"https:\/\/jonathansolis.com\/blog\/wp-json\/wp\/v2\/media?parent=350"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jonathansolis.com\/blog\/wp-json\/wp\/v2\/categories?post=350"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jonathansolis.com\/blog\/wp-json\/wp\/v2\/tags?post=350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}