{"id":1865,"date":"2019-04-05T20:00:58","date_gmt":"2019-04-05T18:00:58","guid":{"rendered":"https:\/\/davidperezgar.com\/?p=1865"},"modified":"2020-10-11T19:32:16","modified_gmt":"2020-10-11T17:32:16","slug":"olvidate-ftp","status":"publish","type":"post","link":"https:\/\/davidperezgar.com\/es\/olvidate-ftp\/","title":{"rendered":"Ponencia WordCamp Madrid Olv\u00eddate del FTP: Mejora tu flujo de trabajo con Control de versiones y Git Push"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Este art\u00edculo es el detalle de mi ponencia en la <a href=\"https:\/\/2019.madrid.wordcamp.org\/\" target=\"_blank\" rel=\"noopener\">WordCamp Madrid 2019<\/a>. A continuaci\u00f3n os compartir\u00e9 una gu\u00eda sencilla para realizar despliegue de tus archivos de WordPress en un servidor directamente, sin necesidad de FTP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">V\u00eddeo de la ponencia en WordPress.TV<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-wordpress-tv wp-block-embed-wordpress-tv wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"VideoPress Video Player\" aria-label=\"VideoPress Video Player\" width=\"500\" height=\"281\" src=\"https:\/\/video.wordpress.com\/embed\/2bhEgjZ8?hd=1&amp;cover=1\" frameborder=\"0\" allowfullscreen allow=\"clipboard-write; presentation\"><\/iframe><script src='https:\/\/v0.wordpress.com\/js\/next\/videopress-iframe.js?m=1790791280'><\/script>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Diapositivas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.icloud.com\/keynote\/0o_5IJKL93-qRPj0svAzinS2g\" target=\"_blank\" rel=\"noopener\">Presentaci\u00f3n en Keynote<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Despliegue con Plesk Onyx y BitBucket<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El proceso lo describir\u00eda en 10 pasos, para poder establecer <strong>un flujo de despliegue en servidores Plesk<\/strong> con un repositorio BitBucket (es parecido en GitHub).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Crear repositorio<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1232\" height=\"1072\" src=\"\/wp-content\/uploads\/2026\/10\/paso-1-crear-repositorio-bitbucket.png\" alt=\"\" class=\"wp-image-2056\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-1-crear-repositorio-bitbucket.png 1232w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-1-crear-repositorio-bitbucket-575x500.png 575w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-1-crear-repositorio-bitbucket-768x668.png 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-1-crear-repositorio-bitbucket-1082x941.png 1082w\" sizes=\"auto, (max-width: 1232px) 100vw, 1232px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">2. Clonar en Local<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1194\" height=\"822\" src=\"\/wp-content\/uploads\/2026\/10\/paso-2-clonar.png\" alt=\"\" class=\"wp-image-2057\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-2-clonar.png 1194w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-2-clonar-596x410.png 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-2-clonar-768x529.png 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-2-clonar-1082x745.png 1082w\" sizes=\"auto, (max-width: 1194px) 100vw, 1194px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">3. Crear Gitignore y primer push<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si vas a crear un repositorio para tu Web, te recomiendo que utilices este <strong>.gitignore<\/strong>, que est\u00e1 pensado para s\u00f3lo tener en el repositorio la carpeta <strong>\/wp-content\/mu-plugins<\/strong> y la carpeta <strong>\/wp-content\/themes\/tu-tema-hijo\/<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que tratamos es ignorar programaciones de terceros y s\u00f3lo incluir las que realizamos para una web en WordPress. <\/p>\n\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\"><code class=\"\">#Wordpress\nhtaccess.txt\nindex.php\nlicencia.txt\nlicense.txt\nreadme.html\nrobots.txt\nwp-activate.php\nwp-blog-header.php\nwp-comments-post.php\nwp-cron.php\nwp-links-opml.php\nwp-load.php\nwp-login.php\nwp-mail.php\nwp-settings.php\nwp-signup.php\nwp-trackback.php\nxmlrpc.php\n.htaccess\ncache\/\nwp-cache-config.php\nadvanced-cache.php\ndump.sql\ndump.zip\nwp-config-sample.php\nwp-config.php\n\nwp-admin\/\nwp-includes\/\nwp-content\/uploads\/\nwp-content\/themesBAK\/\nwp-content\/languages\/\nwp-content\/themes\/genesis\/\n\n# Ignore docs files\n_gh_pages\n_site\n.ruby-version\n\n# Numerous always-ignore extensions\n*.diff\n*.err\n*.log\n*.orig\n*.rej\n*.swo\n*.swp\n*.vi\n*.zip\n*~\n\n# OS or Editor folders\n._*\n.cache\n.DS_Store\n.idea\n.project\n.settings\n.tmproj\n*.esproj\n*.sublime-project\n*.sublime-workspace\nnbproject\nThumbs.db<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">4. Configuraci\u00f3n Git<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"2048\" height=\"1298\" src=\"\/wp-content\/uploads\/2026\/10\/paso_4_configurar_git.jpg\" alt=\"paso 4 configurar git\" class=\"wp-image-2064\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_4_configurar_git.jpg 2048w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_4_configurar_git-596x378.jpg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_4_configurar_git-768x487.jpg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_4_configurar_git-1082x686.jpg 1082w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_4_configurar_git-1536x973.jpg 1536w\" sizes=\"auto, (max-width: 2048px) 100vw, 2048px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">5. Clave SSH Plesk<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1786\" height=\"1162\" src=\"\/wp-content\/uploads\/2026\/10\/paso_5_clave-plesk.jpg\" alt=\"paso 5 clave plesk\" class=\"wp-image-2065\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_5_clave-plesk.jpg 1786w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_5_clave-plesk-596x388.jpg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_5_clave-plesk-768x500.jpg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_5_clave-plesk-1082x704.jpg 1082w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_5_clave-plesk-1536x999.jpg 1536w\" sizes=\"auto, (max-width: 1786px) 100vw, 1786px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">6. A\u00f1adir Clave SSH a Bitbucket<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1544\" height=\"828\" src=\"\/wp-content\/uploads\/2026\/10\/paso_6_ssh.jpg\" alt=\"paso 6 ssh\" class=\"wp-image-2066\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_6_ssh.jpg 1544w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_6_ssh-596x320.jpg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_6_ssh-768x412.jpg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_6_ssh-1082x580.jpg 1082w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_6_ssh-1536x824.jpg 1536w\" sizes=\"auto, (max-width: 1544px) 100vw, 1544px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1542\" height=\"1032\" src=\"\/wp-content\/uploads\/2026\/10\/paso_6_-_clave.jpg\" alt=\"paso 6 clave\" class=\"wp-image-2067\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_6_-_clave.jpg 1542w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_6_-_clave-596x399.jpg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_6_-_clave-768x514.jpg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_6_-_clave-1082x724.jpg 1082w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_6_-_clave-1536x1028.jpg 1536w\" sizes=\"auto, (max-width: 1542px) 100vw, 1542px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">7. Desplegando repositorio<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1510\" height=\"430\" src=\"\/wp-content\/uploads\/2026\/10\/paso-7-desplegando-repositorio.png\" alt=\"paso 7 desplegando repositorio\" class=\"wp-image-2068\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-7-desplegando-repositorio.png 1510w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-7-desplegando-repositorio-596x170.png 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-7-desplegando-repositorio-768x219.png 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-7-desplegando-repositorio-1082x308.png 1082w\" sizes=\"auto, (max-width: 1510px) 100vw, 1510px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">8. Configuraci\u00f3n Webhook del repositorio<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1224\" height=\"792\" src=\"\/wp-content\/uploads\/2026\/10\/paso_8_webhook.jpg\" alt=\"paso 8 webhook\" class=\"wp-image-2069\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_8_webhook.jpg 1224w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_8_webhook-596x386.jpg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_8_webhook-768x497.jpg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_8_webhook-1082x700.jpg 1082w\" sizes=\"auto, (max-width: 1224px) 100vw, 1224px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">9. Webhook de Plesk<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1698\" height=\"1110\" src=\"\/wp-content\/uploads\/2026\/10\/paso_9_webhook.jpg\" alt=\"paso 9 webhook\" class=\"wp-image-2070\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_9_webhook.jpg 1698w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_9_webhook-596x390.jpg 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_9_webhook-768x502.jpg 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_9_webhook-1082x707.jpg 1082w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso_9_webhook-1536x1004.jpg 1536w\" sizes=\"auto, (max-width: 1698px) 100vw, 1698px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">10. Configuraci\u00f3n Webhook en Bitbucket<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1580\" height=\"1052\" src=\"\/wp-content\/uploads\/2026\/10\/paso-10-webhook.png\" alt=\"paso 10 webhook\" class=\"wp-image-2071\" title=\"\" srcset=\"https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-10-webhook.png 1580w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-10-webhook-596x397.png 596w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-10-webhook-768x511.png 768w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-10-webhook-1082x720.png 1082w, https:\/\/davidperezgar.com\/wp-content\/uploads\/paso-10-webhook-1536x1023.png 1536w\" sizes=\"auto, (max-width: 1580px) 100vw, 1580px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Despliegue con GIT FTP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Puedes usar el servicio de GIT FTP en tu ordenador para poder realizar el despliegue de tus archivos una vez hayas hecho el subido (Push) los cambios al repositorio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para configurar este flujo de trabajo, tendr\u00edas que seguir los siguientes pasos:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Instalar GIT FTP en tu ordenador<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para instalar GIT FTP, <a href=\"https:\/\/github.com\/git-ftp\/git-ftp\/blob\/master\/INSTALL.md\" target=\"_blank\" rel=\"noopener\">te recomiendo este tutorial<\/a>, que est\u00e1 bastante bien.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Configurar el repositorio con los datos de acceso al FTP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Utiliza los siguientes comandos para configurar GIT:<\/p>\n\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\"><code class=\"\">git config git-ftp.url \"ftp:\/\/ftp.example.net:21\/public_html\"\ngit config git-ftp.user \"ftp-user\"\ngit config git-ftp.password \"secr3t\"<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Esto permitir\u00e1 vincular el acceso FTP para subir los archivos <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si quieres ciertos archivos no se suban, puedes poner en el ra\u00edz del repositorio<\/p>\n\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\"><code class=\"\">.ftpquota\n.gitignore<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>.git-ftp-ignore<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y con la orden<strong> git ftp init<\/strong> , y despu\u00e9s cada vez <strong>git ftp push<\/strong>, podr\u00e1s subir los cambios realizados en tu repositorio de WordPress<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Despliegue en SiteGround y Git<\/h2>\n\n\n\n<div class=\"cbc-code-wrapper\"><div class=\"cbc-code-bar\"><button class=\"cbc-copy-button\">Copy<\/button><\/div><pre class=\"wp-block-code\"><code class=\"\">ssh-keyscan -t rsa itm20.siteground.biz &gt;&gt; ~\/.ssh\/known_hosts\ncd ~\/.ssh\/\nnano [your-private-key]\nchmod 600 [your-private-key]\nssh-add -K ~\/.ssh\/[your-private-key]\n\n# Poner la frase privada que da SG-Git\ngit clone ssh:\/\/[url]<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Algunas reacciones en la <a href=\"https:\/\/2019.madrid.wordcamp.org\/\" target=\"_blank\" rel=\"noopener\">WordCamp Madrid 2019<\/a><\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">Ayer no te lo llegu\u00e9 a decir, pero estoy enamorado de las diapositivas de tu presentaci\u00f3n<\/p>&mdash; Nilo V\u00e9lez (@NiloVelez) <a href=\"https:\/\/x.com\/NiloVelez\/status\/1114802102889480193?ref_src=twsrc%5Etfw\">April 7, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">\ud83c\udfae Control de versiones con GitHub <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a> <a href=\"https:\/\/t.co\/D036U5CPJy\">pic.twitter.com\/D036U5CPJy<\/a><\/p>&mdash; \u2756 Javier Salinas (@lavideoteca) <a href=\"https:\/\/x.com\/lavideoteca\/status\/1114459803051540480?ref_src=twsrc%5Etfw\">April 6, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">En Track B comienza Indiana Jones... ah no! Que es <a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a> y Olv\u00eddate del FTP \ud83d\ude02 <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a> <a href=\"https:\/\/t.co\/lk2TVYP6Oz\">pic.twitter.com\/lk2TVYP6Oz<\/a><\/p>&mdash; WordCamp Madrid (@WordCampMad) <a href=\"https:\/\/x.com\/WordCampMad\/status\/1114457549833687047?ref_src=twsrc%5Etfw\">April 6, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">\u00bfPor qu\u00e9 trabajar en local? \u00bfPor qu\u00e9 usar el Control de Versiones? <a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a> <a href=\"https:\/\/x.com\/hashtag\/versioncontrol?src=hash&amp;ref_src=twsrc%5Etfw\">#versioncontrol<\/a> <a href=\"https:\/\/x.com\/hashtag\/Git?src=hash&amp;ref_src=twsrc%5Etfw\">#Git<\/a> <a href=\"https:\/\/x.com\/hashtag\/WordPress?src=hash&amp;ref_src=twsrc%5Etfw\">#WordPress<\/a> <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a> <a href=\"https:\/\/t.co\/sWWQRfaIEB\">pic.twitter.com\/sWWQRfaIEB<\/a><\/p>&mdash; WordCamp Madrid (@WordCampMad) <a href=\"https:\/\/x.com\/WordCampMad\/status\/1114458438921330688?ref_src=twsrc%5Etfw\">April 6, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-gestor-del-servicio wp-block-embed-gestor-del-servicio\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">Me lo pones muy duro Deivid!!! \ud83d\ude02<\/p>&mdash; Pablo Moratinos \ud83e\udd8a (@pablomoratinos) <a href=\"https:\/\/x.com\/pablomoratinos\/status\/1114454480752467969?ref_src=twsrc%5Etfw\">April 6, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">\u2066<a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a>\u2069 d\u00e1ndolo todo con <a href=\"https:\/\/x.com\/hashtag\/IndianaJones?src=hash&amp;ref_src=twsrc%5Etfw\">#IndianaJones<\/a> !! \u2066<a href=\"https:\/\/x.com\/WPGranada?ref_src=twsrc%5Etfw\">@WPGranada<\/a>\u2069 <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a> <a href=\"https:\/\/t.co\/dxWJ5zoL9s\">pic.twitter.com\/dxWJ5zoL9s<\/a><\/p>&mdash; Miguel \u00c1ngel P\u00e9rez - Organizing #WCMLG25 (@CEOfamiliar) <a href=\"https:\/\/x.com\/CEOfamiliar\/status\/1114457285257043973?ref_src=twsrc%5Etfw\">April 6, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">De control de versiones y git con <a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a> <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a><\/p>&mdash; Dar\u00edo BF \u00af(\u30c4)\/\u00af (@DarioBF) <a href=\"https:\/\/x.com\/DarioBF\/status\/1114457316764659712?ref_src=twsrc%5Etfw\">April 6, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\"><a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a> nos cuenta c\u00f3mo trabajar con git y WordPress <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a> <a href=\"https:\/\/t.co\/WzbZcGV9gM\">pic.twitter.com\/WzbZcGV9gM<\/a><\/p>&mdash; Jes\u00fas Yesares Garc\u00eda (@jesusyesares) <a href=\"https:\/\/x.com\/jesusyesares\/status\/1114457424591839232?ref_src=twsrc%5Etfw\">April 6, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">Olv\u00eddate del fpt <a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a> <a href=\"https:\/\/x.com\/WPCartagena?ref_src=twsrc%5Etfw\">@WPCartagena<\/a> <a href=\"https:\/\/x.com\/maausk_?ref_src=twsrc%5Etfw\">@maausk_<\/a> <a href=\"https:\/\/x.com\/hashtag\/wcmad?src=hash&amp;ref_src=twsrc%5Etfw\">#wcmad<\/a> <a href=\"https:\/\/t.co\/TjpBbM59Cv\">pic.twitter.com\/TjpBbM59Cv<\/a><\/p>&mdash; Miriam Olivares (@Miriamb_olivare) <a href=\"https:\/\/x.com\/Miriamb_olivare\/status\/1114457712434253824?ref_src=twsrc%5Etfw\">April 6, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\"><a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a> nos est\u00e1 hablando de las ventajas de trabajar en local con git \ud83d\udc4f\ud83d\udc4f <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a> <a href=\"https:\/\/t.co\/IYRK5zMneC\">pic.twitter.com\/IYRK5zMneC<\/a><\/p>&mdash; Fernando Garc\u00eda Rebolledo (@fgrwebes) <a href=\"https:\/\/x.com\/fgrwebes\/status\/1114458467199258625?ref_src=twsrc%5Etfw\">April 6, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">Mejora tu flujo de trabajo en <a href=\"https:\/\/x.com\/hashtag\/WordPress?src=hash&amp;ref_src=twsrc%5Etfw\">#WordPress<\/a> usando el control de versiones con <a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a> en <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a> <a href=\"https:\/\/t.co\/sN5Qg6t4yD\">pic.twitter.com\/sN5Qg6t4yD<\/a><\/p>&mdash; Antonio MSP \ud83e\udd8e (@baron_dla_birra) <a href=\"https:\/\/x.com\/baron_dla_birra\/status\/1114458517002440704?ref_src=twsrc%5Etfw\">April 6, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">Indiana Jones en acci\u00f3n! <a href=\"https:\/\/x.com\/hashtag\/gitpush?src=hash&amp;ref_src=twsrc%5Etfw\">#gitpush<\/a> <a href=\"https:\/\/x.com\/hashtag\/versioncontrol?src=hash&amp;ref_src=twsrc%5Etfw\">#versioncontrol<\/a> <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a> <a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a> <a href=\"https:\/\/t.co\/hazxUSDcN9\">https:\/\/t.co\/hazxUSDcN9<\/a><\/p>&mdash; Sacra J\u00e1imez (@SacJaiRom) <a href=\"https:\/\/x.com\/SacJaiRom\/status\/1114459409260982273?ref_src=twsrc%5Etfw\">April 6, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\"><p lang=\"es\" dir=\"ltr\">gracias por tu charla , muy util <a href=\"https:\/\/x.com\/davidperezmk?ref_src=twsrc%5Etfw\">@davidperezmk<\/a> <a href=\"https:\/\/x.com\/hashtag\/WCMAD?src=hash&amp;ref_src=twsrc%5Etfw\">#WCMAD<\/a><\/p>&mdash; VSdesigns (@VSondesign) <a href=\"https:\/\/x.com\/VSondesign\/status\/1114462196015169537?ref_src=twsrc%5Etfw\">April 6, 2019<\/a><\/blockquote><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Este art\u00edculo es el detalle de mi ponencia en la WordCamp Madrid 2019. A continuaci\u00f3n os compartir\u00e9 una gu\u00eda sencilla para realizar despliegue de tus archivos de WordPress en un servidor directamente, sin necesidad de FTP. V\u00eddeo de la ponencia en WordPress.TV Diapositivas Presentaci\u00f3n en Keynote Despliegue con Plesk Onyx y BitBucket El proceso lo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2072,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":6,"footnotes":""},"categories":[169],"tags":[],"class_list":["post-1865","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-charlas"],"_links":{"self":[{"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/posts\/1865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/comments?post=1865"}],"version-history":[{"count":1,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/posts\/1865\/revisions"}],"predecessor-version":[{"id":5825,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/posts\/1865\/revisions\/5825"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/media\/2072"}],"wp:attachment":[{"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/media?parent=1865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/categories?post=1865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/davidperezgar.com\/es\/wp-json\/wp\/v2\/tags?post=1865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}