> For the complete documentation index, see [llms.txt](https://madeindonesia.gitbook.io/mi-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://madeindonesia.gitbook.io/mi-guide/project-deployment-v1.2.1.md).

# Project Deployment v1.2.1

Follow these steps to do deployment from the Development Stage to the Production Stage (Please Pay Attention to this section)

### <mark style="background-color:red;">**#Phase : Staging**</mark>&#x20;

\
1\. Setup staging on MI server or Client’s Server. \
2\. Clean Wordpress installation (no plugins from server provider) \
3\. Set WP Memory Limit to 512M within wp-config. if the website is going to build using Elementor.\
4\. Adjust the PHP module(s) on the server as same as on Local (Laragon) \
5\. Disable any kind of Cache for staging site. \
6\. Activate debug options on frontend and generate the file on root path. \
7\. change the WP prefix database to the shorten of the project name. \
&#x20;    for example : Project name Test Project 1, the prefix is TPro1\_. \
&#x20;    don’t forget to change other config that related to WP prefix. \
8\. Setup reCaptcha for Staging on Login, Register Form, Contact Form, Pop up Form, and any other forms. should use different key than the Local and Live site. \
9\. Close the comment section if not needed. \
10\. Close Wordpress REST API and XMLRPC. (open it only for Elementor and CF7 so far) \
11\. Always backup staging to MI server if the current staging is in Client server. \
12\. For starter always use MI Development Gmail as any kind of contact form, Admin Email, Woocommerce Email and User Admin Email. \
13\. Setup Staging Domain with SSL (if going to place the staging on Client server)<br>

### <mark style="background-color:red;">**#Phase : Pre-Deployment**</mark>

1\. Backup database from staging. \
2\. Backup Website files from staging. \
3\. [Prepare GIT environmen](https://madeindonesia.gitbook.io/mi-guide/project-deployment-v1.2.1/deployment-via-git)t (if possible). \
4\. Prepare FTP/SFTP for upload website files (Alternative solution) \
5\. Deploy files in ZIP. then extract on server. \
6\. Prepare mySQL Client for upload Database \
7\. Check for upload size file on server meet the size of database.<br>

### <mark style="background-color:red;">**#Phase : Deployment Live site**</mark>&#x20;

1\. Setup Live site \
2\. Adjust the server environment to as same as Staging Server. avoid missing any type of missing functionality and or display of the website. \
3\. Check PHP Modules that might be missing compare to staging server. \
4\. Activate debug by generate the file on root path only. not display on the frontend. \
5\. MUST - USE Plugins should be installed to the live site. (Simple History, & GDPR). \
6\. Check for reCaptcha key should be added to the live site. (differentiate the keys from local, staging, and live) \
7\. Check for dummy contents. \
8\. Check for dummy accounts. \
9\. Check for Admin Email, User Admin Email, Woocommerce Email, and any other Forms that need Email. \
10\. Setup Live Site Domain with SSL (both www domain and non-www domain).<br>

### <mark style="background-color:red;">**#Phase : Release 1.0**</mark>&#x20;

1\. Performance Test \
2\. Compare Local, Staging, and current Live Site functionality and frontend. \
3\. User Acceptance Test \
4\. Monitoring
