{"id":93391,"date":"2026-04-02T11:21:52","date_gmt":"2026-04-02T16:21:52","guid":{"rendered":"https:\/\/www.bricktowntom.com\/blog\/?p=93391"},"modified":"2026-04-02T11:21:52","modified_gmt":"2026-04-02T16:21:52","slug":"a-close-look-at-deployment-automation-for-wordpress","status":"publish","type":"post","link":"https:\/\/www.bricktowntom.com\/blog\/04\/a-close-look-at-deployment-automation-for-wordpress.html","title":{"rendered":"A close look at deployment automation for WordPress"},"content":{"rendered":"<p>One of the greatest things about <a href=\"https:\/\/www.godaddy.com\/pro\/hosting\/wordpress-plans\" data-eid=\"procontent.garage.deployment-automation.product.link.click\" data-wpel-link=\"internal\" target=\"_self\" rel=\"follow noopener\">WordPress<\/a> is how easy to use it is. On the other hand, because of this simplicity, many users don\u2019t feel the urge to step outside of their comfort zone and learn new things. Deployment automation is very often one of those omitted things.<\/p>\n<p>In this article, I will explain why it\u2019s worth investing some time in it to make your life simpler (in the long run). We&#8217;ll be using the <a href=\"https:\/\/buddy.works\/\" data-wpel-link=\"external\" rel=\"nofollow external noopener\">Buddy<\/a> CI\/CD application as we move through this process.<\/p>\n<h2>Why you should automate your deployments<\/h2>\n<p>We are only humans and this means that we make mistakes. Also, every time we are doing the same thing over and over, there is a bigger chance that we\u2019ll miss something.<\/p>\n<p>On the other hand, machines love repeating things and, if programmed correctly, will be able to run your deployment automation perfectly every time.<\/p>\n<p>Thanks to automation, not only you will be able to get rid of a monotonous and repetitive task, but you\u2019ll also be sure that it works the same each time.<\/p>\n<h2>Before you start<\/h2>\n<p>First of all, you need to use git for storing all your code. Why? That\u2019s simple \u2014 git lets you easily manage all your code changes. It\u2019s also the foundation of teamwork.<\/p>\n<blockquote>\n<p>I can\u2019t imagine a team that isn\u2019t using any Version Control System.<\/p>\n<\/blockquote>\n<p>It also helps you work on multiple features at once (thanks to branches) and enables you to solve conflicts in your code (when two developers worked on the same file).<\/p>\n<p>Don\u2019t worry if you don\u2019t like working with a CLI &#8211; there are many great GUI git tools, like <strong>GitKraken<\/strong> or <strong>Git Tower<\/strong>.<\/p>\n<\/p>\n<p>Also, you will need a CI\/CD application. In this article, I will use <a href=\"https:\/\/buddy.works\" data-wpel-link=\"external\" rel=\"nofollow external noopener\">Buddy CI\/CD<\/a>. Why? There are two main reasons:<\/p>\n<ul>\n<li>It\u2019s very easy to use, because of its UI.<\/li>\n<li>There are more than 150 pre-configured actions.<\/li>\n<\/ul>\n<p>It has a free tier, so you won\u2019t have to invest any extra money at the beginning. Of course, <strong>Buddy<\/strong> isn\u2019t the only application like this. You can also use GitHub Actions, GitLab CI, Branch CI, or one of many others.<\/p>\n<h2>Storing code in Git<\/h2>\n<p>Now, you have to decide the right strategy for storing your code.<\/p>\n<p>In general, you have to decide what you want to store in your repository. If you store all the custom code in your theme, the theme should be the only thing in your repository.<\/p>\n<blockquote>\n<p>If you work with code in theme, plugins, and even mu-plugins, it would be a good idea to store the wp-content folder (without the uploads folder).<\/p>\n<\/blockquote>\n<p>Go <a href=\"https:\/\/gist.github.com\/lukecav\/bc2a0c368ca55185cbcf5d5687d717b4\" data-wpel-link=\"external\" rel=\"nofollow external noopener\">here<\/a> to find on of the best .gitignore files you should use. If you are a more advanced user, you can think about using Composer-based management, similar to the one used in <a href=\"https:\/\/roots.io\/bedrock\/\" data-wpel-link=\"external\" rel=\"nofollow external noopener\">Bedrock.<\/a><\/p>\n<p>In this article, I will just concentrate on the first case, but I recommend diving deeper into all approaches. At some point, you\u2019ll be using all of them.<\/p>\n<h2>Setting up Buddy<\/h2>\n<p>After pushing our code to our Git repository you\u2019ll have to either create an account on Buddy\u2019s website or sign in if have it already.<\/p>\n<p>First, click the <strong>Create project<\/strong> button.<\/p>\n<\/p>\n<p>Next, select your Git repository.<\/p>\n<\/p>\n<p>So, at this point, your repository is connected. Now it\u2019s time to create your first pipeline. A pipeline is nothing else than a set of actions that will run every time a trigger condition is met.<\/p>\n<\/p>\n<p>Apart from setting a name, we also have to select a trigger. On event, we can set a pipeline to run every time we\u2019ll push something a selected branch. Manually, the pipeline will only run after clicking the button. On schedule, the pipeline will run for example once per day or once per week<\/p>\n<p>Right now, pick <strong>Manually<\/strong>.<\/p>\n<p>And that\u2019s it \u2014 you have everything set up. Time to start deploying.<\/p>\n<h2>The simplest case<\/h2>\n<p>Let\u2019s create the simplest case in which you\u2019ll just copy all the changes on your server.<\/p>\n<p>On the actions list, you\u2019ll see more than 150 actions, but you\u2019ll need only the ones from the <strong>Transfer<\/strong> tab right now:<\/p>\n<\/p>\n<p>The best way to transfer files on your <strong>GoDaddy hosting<\/strong> is to use SFTP.<\/p>\n<p>You must fill in all the credentials and pass the correct <strong>Remote path<\/strong> to your wp-content\/themes folder (because we are only deploying the theme).<\/p>\n<p>Don\u2019t forget to exclude files you don\u2019t want to deploy in the <strong>Ignore paths<\/strong> tab.<\/p>\n<\/p>\n<p>So, now every time you press the <strong>Run<\/strong> button, all the changes you made will be deployed.<\/p>\n<blockquote>\n<p>Cool, right? Well, not quite.<\/p>\n<\/blockquote>\n<p>I mean, the part when all the changes are pushed to production with one click is really cool. Much better than doing it using Filezilla.<\/p>\n<p>But there are some drawbacks: You have to wait inside of Buddy panel to see when the deployment is complete, and you have to manually check if your site is still working<\/p>\n<blockquote>\n<p>Let\u2019s fix it by adding two extra actions.<\/p>\n<\/blockquote>\n<p>First, let\u2019s add the <strong>Website monitoring<\/strong>. It will check if our website is still working after the deployment. The configuration is very straightforward and it only requires passing the URL of the website.<\/p>\n<\/p>\n<p>Right now your pipeline should look like this:<\/p>\n<\/p>\n<p>The next step is to add a notification in the <strong>On Failure<\/strong> tab (this means that those actions will only run when something failed). You can pick one of many ways to send a notification, including email, Slack, Telegram, Discord, Microsoft Teams and SMS.<\/p>\n<p>In this example, I will add an <strong>email<\/strong> action. Go to the <strong>On Failure<\/strong> tab, click <strong>Add action<\/strong>, and select <strong>Email<\/strong> from the list. The configuration is pretty straightforward. Just enter the title, content, and the list of recipients:<\/p>\n<\/p>\n<p>Now, your deployment flow is a bit better. You don\u2019t have to wait and manually check if your website is still working and if something will go wrong, you\u2019ll get an email about it (or any other notification).<\/p>\n<p>But we can do better.<\/p>\n<h2>Taking advantage of a staging server<\/h2>\n<p>While the process works and it even checks if your website is still alive it has one big flaw \u2014 we are deploying to production first and checking later if everything is OK. If it isn\u2019t, well, your website still won\u2019t work until you will fix the problem.<\/p>\n<p>That\u2019s why you should use a staging server. It\u2019s very simple to use one on <strong>GoDaddy<\/strong>, just follow <a href=\"https:\/\/www.godaddy.com\/help\/create-a-staging-site-16466\" data-wpel-link=\"internal\" target=\"_self\" rel=\"follow noopener\">this tutorial<\/a>.<\/p>\n<p>Thanks to the staging server, you will deploy the changes there first, check if your website is still working and if it is, deploy to production.<\/p>\n<blockquote>\n<p>This small change will make sure that if you have a fatal error, it won\u2019t be released on your production.<\/p>\n<\/blockquote>\n<p>Neat, right? Also, this is the moment when you will see how deployment automation saves time. If you would be doing this manually, you would have to deploy changes to two servers.<\/p>\n<p>After adding the extra deployment step your pipeline should look like this:<\/p>\n<\/p>\n<p>I added the extra step to also check if the production website is still working. While it should, there is always a chance that we changed the PHP version only on production or we modified something outside of git.<\/p>\n<h2>Making deployment automation better<\/h2>\n<p>I just showed you the most basic deployment automation scenario with the simplest test, but based on this you can make it better.<\/p>\n<p>There are three main ways to get your deployments better:<\/p>\n<ul>\n<li>Use the pipeline to manage and build your assets using <a href=\"https:\/\/buddy.works\/actions\/node-js\" data-wpel-link=\"external\" rel=\"nofollow external noopener\"><strong>npm<\/strong><\/a> and <a href=\"https:\/\/buddy.works\/actions\/php\" data-wpel-link=\"external\" rel=\"nofollow external noopener\"><strong>Composer<\/strong><\/a>.<\/li>\n<li>Add more tests, starting with linters and finishing with a full-blown testing stack containing unit, integration, and end-to-end tests.<\/li>\n<li>Use more sophisticated deployment methods, so you can achieve zero-downtime deployments.<\/li>\n<\/ul>\n<p>Once you get the hang of deployment automation, continuing to improve will only free up more of your time and resources.<\/p>\n<p>The post A close look at deployment automation for WordPress appeared first on <a rel=\"follow noopener\" href=\"https:\/\/www.godaddy.com\/garage\" data-wpel-link=\"internal\" target=\"_self\">GoDaddy Blog<\/a>.<\/p>\n<p>Source: Go Daddy Garage<\/p>\n<p id=\"kc_opp\"><small>Republished by  <a href=\"http:\/\/www.blogtrafficexchange.com\/\">Blog Post Promoter<\/a><\/small><\/p>","protected":false},"excerpt":{"rendered":"<p>One of the greatest things about WordPress is how easy to use it is. On the other hand, because of this simplicity, many &hellip;<\/p>\n","protected":false},"author":1,"featured_media":93392,"comment_status":"false","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[23511],"tags":[126],"class_list":["post-93391","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ebusiness-emarketing","tag-information"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.bricktowntom.com\/blog\/wp-content\/uploads\/2022\/07\/wordpress-552924_12801-300x169-1.jpg?fit=300%2C169&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p3k0YU-oij","jetpack-related-posts":[{"id":92880,"url":"https:\/\/www.bricktowntom.com\/blog\/04\/woocommerce-wednesdays-how-to-set-up-email-automation-for-woocommerce.html","url_meta":{"origin":93391,"position":0},"title":"WooCommerce Wednesdays: How to set up email automation for WooCommerce","author":"admin","date":"April 16, 2026","format":false,"excerpt":"Email is the most direct way to communicate with your ecommerce customers. Whether you\u2019re updating them on the status of their order, or reaching out to inform them of a new product, a well-timed email message is a great way to get your customer\u2019s attention. In this post, we\u2019ll look\u2026","rel":"","context":"In &quot;E-business &amp; E-marketing&quot;","block_context":{"text":"E-business &amp; E-marketing","link":"https:\/\/www.bricktowntom.com\/blog\/category\/ebusiness-emarketing"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":92756,"url":"https:\/\/www.bricktowntom.com\/blog\/04\/zapier-automation-inspiration-for-entrepreneurs.html","url_meta":{"origin":93391,"position":1},"title":"Zapier Automation Inspiration for Entrepreneurs","author":"admin","date":"April 2, 2026","format":false,"excerpt":"Are you an entrepreneur looking to automate your business? Get some Zapier automation inspiration with these practical starter workflows. Continue reading Zapier Automation Inspiration for Entrepreneurs on SitePoint. Source: Site Point","rel":"","context":"In &quot;E-business &amp; E-marketing&quot;","block_context":{"text":"E-business &amp; E-marketing","link":"https:\/\/www.bricktowntom.com\/blog\/category\/ebusiness-emarketing"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.bricktowntom.com\/blog\/wp-content\/uploads\/2022\/04\/1651023717zapier.jpg?fit=1200%2C630&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.bricktowntom.com\/blog\/wp-content\/uploads\/2022\/04\/1651023717zapier.jpg?fit=1200%2C630&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.bricktowntom.com\/blog\/wp-content\/uploads\/2022\/04\/1651023717zapier.jpg?fit=1200%2C630&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.bricktowntom.com\/blog\/wp-content\/uploads\/2022\/04\/1651023717zapier.jpg?fit=1200%2C630&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.bricktowntom.com\/blog\/wp-content\/uploads\/2022\/04\/1651023717zapier.jpg?fit=1200%2C630&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":93430,"url":"https:\/\/www.bricktowntom.com\/blog\/04\/6-automation-tools-entrepreneurs-should-use-for-vacation-prep.html","url_meta":{"origin":93391,"position":2},"title":"6 automation tools entrepreneurs should use for vacation prep","author":"admin","date":"April 16, 2026","format":false,"excerpt":"Why add automation tools for vacation readiness to your to-do list? Well, when you\u2019re an entrepreneur, planning for (and taking) a vacation can feel next to impossible. There\u2019s simply so much planning you have to do that it ends up feeling impossible and perhaps not even worth the trouble in\u2026","rel":"","context":"In &quot;E-business &amp; E-marketing&quot;","block_context":{"text":"E-business &amp; E-marketing","link":"https:\/\/www.bricktowntom.com\/blog\/category\/ebusiness-emarketing"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":93630,"url":"https:\/\/www.bricktowntom.com\/blog\/04\/10-things-every-small-business-should-automate.html","url_meta":{"origin":93391,"position":3},"title":"10 things every small business should automate","author":"admin","date":"April 25, 2026","format":false,"excerpt":"What are the things every small business should automate? We asked successful entrepreneurs and small business owners to share their best insights on how they best automate their business-related repetitive tasks From automating appointment schedulers to email marketing, you\u2019ll find several suggestions that may help you decide on ways small\u2026","rel":"","context":"In &quot;E-business &amp; E-marketing&quot;","block_context":{"text":"E-business &amp; E-marketing","link":"https:\/\/www.bricktowntom.com\/blog\/category\/ebusiness-emarketing"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":93754,"url":"https:\/\/www.bricktowntom.com\/blog\/04\/setting-up-mailchimp-on-woocommerce.html","url_meta":{"origin":93391,"position":4},"title":"Setting up Mailchimp on WooCommerce","author":"admin","date":"April 7, 2026","format":false,"excerpt":"If you operate a small business, you\u2019ve likely heard about Intuit and its reputation for gobbling up other financial tech companies. In 2009 Intuit acquired Mint for $170 million, and in 2020 they bought Credit Karma for $8.1 billion. \u201cWhat\u2019s that have to do with setting up Mailchimp on WooCommerce?,\u201d\u2026","rel":"","context":"In &quot;E-business &amp; E-marketing&quot;","block_context":{"text":"E-business &amp; E-marketing","link":"https:\/\/www.bricktowntom.com\/blog\/category\/ebusiness-emarketing"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":93440,"url":"https:\/\/www.bricktowntom.com\/blog\/04\/greetings-that-boost-engagement-on-chatbots.html","url_meta":{"origin":93391,"position":5},"title":"Greetings that boost engagement on chatbots","author":"admin","date":"April 29, 2026","format":false,"excerpt":"Who doesn\u2019t want to keep website visitors happy and engaged? Keeping your audience satisfied by answering their questions promptly and with some personality helps encourage a positive experience on your site. For a growing number of business owners, learning how to boost engagement on chatbots is the key to leveling-up\u2026","rel":"","context":"In &quot;E-business &amp; E-marketing&quot;","block_context":{"text":"E-business &amp; E-marketing","link":"https:\/\/www.bricktowntom.com\/blog\/category\/ebusiness-emarketing"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bricktowntom.com\/blog\/wp-json\/wp\/v2\/posts\/93391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bricktowntom.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bricktowntom.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bricktowntom.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bricktowntom.com\/blog\/wp-json\/wp\/v2\/comments?post=93391"}],"version-history":[{"count":13,"href":"https:\/\/www.bricktowntom.com\/blog\/wp-json\/wp\/v2\/posts\/93391\/revisions"}],"predecessor-version":[{"id":102547,"href":"https:\/\/www.bricktowntom.com\/blog\/wp-json\/wp\/v2\/posts\/93391\/revisions\/102547"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bricktowntom.com\/blog\/wp-json\/wp\/v2\/media\/93392"}],"wp:attachment":[{"href":"https:\/\/www.bricktowntom.com\/blog\/wp-json\/wp\/v2\/media?parent=93391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bricktowntom.com\/blog\/wp-json\/wp\/v2\/categories?post=93391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bricktowntom.com\/blog\/wp-json\/wp\/v2\/tags?post=93391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}