How to Backup a Microsoft Power Pages (Power Apps Portals) Website

Back Up a Microsoft Power Pages
Back Up a Microsoft Power Pages

Microsoft Power Pages (formerly known as Power Apps Portals) is a low-code platform for building secure, external-facing websites that integrate with Microsoft Dataverse.

Whether you’re a developer, administrator, or beginner, taking regular backups of your Power Pages website is essential before:

  • Making configuration changes
  • Deploying new features
  • Applying updates
  • Migrating between environments
  • Performing disaster recovery

Many users believe that Export Solution provides a complete backup of a Power Pages website. However, this is not always true. The correct backup approach depends on the type of website and how it was created.

Understanding What Needs to Be Backed up

A Power Pages website consists of multiple components stored in Dataverse.

ComponentStored InBackup Method
Website ConfigurationDataversePower Platform CLI
Web PagesDataverseCLI
Page TemplatesDataverseCLI
Web TemplatesDataverseCLI
Content SnippetsDataverseCLI
Site SettingsDataverseCLI
CSS / JavaScriptDataverseCLI
Images (Web Files)DataverseCLI
Dataverse TablesDataverse DatabaseEnvironment Backup
Power AppsDataverseSolution Export
Power Automate FlowsDataverseSolution Export

A complete backup should include both the portal configuration and the Dataverse environment.

Method 1 – Backup Using Power Platform CLI (Recommended)

The Power Platform CLI (PAC CLI) is Microsoft’s recommended way to back up a Power Pages website.

Advantages

  • Complete website download
  • Version control friendly
  • Supports Git
  • Easy to automate
  • Best for DevOps and ALM

Step 1 – Install Power Platform CLI

Install the latest Power Platform CLI.

Verify installation:

pac --version

Example:

1.35.6

Step 2 – Authenticate

pac auth create

A browser window opens.

Sign in using your Microsoft account.

Verify authentication:

pac auth list

Step 3 – Create Backup Folder

Example:

D:\PowerPagesBackup

Navigate to it:

cd D:\PowerPagesBackup

Step 4 – Download the Website

Download the website:

pac pages download

or

pac pages download --path D:\PowerPagesBackup

If multiple websites exist:

pac pages list

Download a specific website:

pac pages download --webSiteId <WebsiteID> --path D:\PortalBackup

What Gets Downloaded?

Example structure:

PortalBackup
│
├── website.yml
├── web-pages
├── web-templates
├── page-templates
├── content-snippets
├── web-files
├── site-settings
├── page-markers
├── publishing-state
├── languages
└── lists

Everything is stored as YAML files, making it easy to track changes using Git.

Restore the Website

Upload the backup:

pac pages upload --path D:\PortalBackup

Method 2 – Store the Backup in Git

After downloading the portal, commit the files into a Git repository.

Example:

git add .
git commit -m "Portal Backup July 2026"

Benefits:

  • Version history
  • Rollback capability
  • Team collaboration
  • Change tracking

Method 3 – Environment Backup

An Environment Backup creates a backup of the entire Dataverse environment, including:

  • Dataverse Tables
  • Power Pages configuration
  • Power Apps
  • Power Automate Flows
  • Business Rules
  • Plugins
  • Security Roles

Navigate to:

Power Platform Admin Center → Environment → Backups

This method is best for disaster recovery because it captures the complete environment.

Method 4 – Export Solution (Not a Complete Backup)

This is the most misunderstood backup method.

Many users believe exporting a solution backs up the entire website.

It does not.

What Does Solution Export Include?

Export Solution works well for solution-aware components, such as:

  • Custom Dataverse Tables
  • Power Apps
  • Power Automate Flows
  • Business Rules
  • Plugins
  • Security Roles
  • Custom Components

These components are intended for deployment between environments.

Why Doesn’t It Work for Every Portal?

Power Pages websites can be created using different data models.

Microsoft introduced the Enhanced Data Model, which makes websites more compatible with Application Lifecycle Management (ALM).

According to Microsoft documentation:

If the Site command doesn’t appear on the Add Existing menu, your environment doesn’t include any websites that were created by using the Enhanced Data Model.

This statement is very important.

When you open a solution and select:

Add Existing

you should see:

Add Existing
    ├── Table
    ├── App
    ├── Flow
    ├── Site

If Site is missing, your environment does not contain an Enhanced Data Model website.

This usually means your website is:

  • A legacy Power Apps Portal (Classic Portal), or
  • A website created before the Enhanced Data Model was introduced.

In this case, you cannot add the website itself to a solution.

As a result, exporting the solution does not back up the portal configuration.

Example

Imagine two environments.

Environment A – Legacy Portal

Created in 2021.

Characteristics:

  • Site option is not available
  • Portal cannot be added to a solution
  • Export Solution only exports:
    • Custom Tables
    • Apps
    • Flows
    • Plugins

The website pages, templates, snippets, and web files are not backed up.

Environment B – Enhanced Data Model Website

Created recently using the Enhanced Data Model.

Characteristics:

  • Site option appears under Add Existing
  • Website can be added to a solution
  • More website metadata becomes solution-aware

However, Solution Export should still not be considered a complete backup strategy.

It is primarily intended for Application Lifecycle Management (ALM) rather than disaster recovery.

What If My Website Uses the Enhanced Data Model?

Even if the website supports the Site component, Microsoft still recommends using the Power Platform CLI for website backup.

The CLI exports:

  • Web Pages
  • Web Templates
  • Page Templates
  • Site Settings
  • Content Snippets
  • Web Files
  • Lists
  • Basic Forms
  • Website Metadata

This provides a much more complete backup of the website configuration.

Method 5 – Manual Backup

For very small portals, you can manually save:

  • HTML
  • CSS
  • JavaScript
  • Images
  • Configuration

However, this method is time-consuming, error-prone, and not recommended for production environments.

Comparison of Backup Methods

MethodWebsite ConfigurationDataverse DataBest For
Power Platform CLI✅ Yes❌ NoWebsite backup
Environment Backup✅ Yes✅ YesDisaster recovery
Solution Export⚠️ Partial⚠️ Solution-aware onlyALM and deployments
Git Repository✅ Yes (CLI files)❌ NoVersion control
Manual Copy⚠️ Partial❌ NoSmall demo websites

Example Backup Strategy

Suppose your Customer Portal contains:

  • 120 Web Pages
  • 35 Web Templates
  • 50 Content Snippets
  • 200 Images
  • 10 Site Settings
  • 5 Custom Dataverse Tables

A recommended backup process would be:

  1. Download the website using:pac pages download --path D:\PortalBackup
  2. Commit the downloaded files to Git.
  3. Export your solution to capture custom tables, flows, and other solution-aware components.
  4. Create an Environment Backup from the Power Platform Admin Center.

This approach protects both your website configuration and your Dataverse environment.

Best Practices

  • Always take a backup before making production changes.
  • Use the latest version of the Power Platform CLI.
  • Store CLI backups in Git.
  • Schedule regular Environment Backups.
  • Export Solutions for deployment and ALM.
  • Periodically test your restore process.
  • Store backup copies in multiple secure locations.

Common Mistakes

  • Assuming Solution Export is a complete website backup.
  • Ignoring Dataverse data during backup.
  • Not checking whether the Site option exists under Add Existing.
  • Using an outdated CLI version.
  • Making production changes without a backup.

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *