BirdPress For Developers
This page is for team developers who are using BirdPress and maintaining their own sites.
Hosting and FTP
Our websites are hosted in WP Engine (WPE). If you need access to the admin, contact the Tech Team.
If you need to access your site via SFTP, see How To Access WordPress Files With SFTP.
Site Environments
A production and optional development site will be set up for your team. We recommend working on the production site initially, then duplicating it to the development site before launch.
The development sites are set up as a “development” environment on WP Engine. We usually name them with the prefix of dev. For example, devbirdpress is the development site for birdpress. Both can be accessed in your WP Engine admin.

BirdPress comes with the plugin WP Migrate that allows you to migrate content, media and plugins from one site to the other.
BirdPress Code Repository
If you do not have access to the Birdpress repo, contact the Tech Team. Only the Advancement Tech Team is permitted to merge code to the main branches of this repo.
Our repo has three main branches: development, staging and live. We merge code to them in that order.
- Development is our developer playground for testing updates.
- Staging is for the select websites that have a content playground. Code merged to staging is ready to go live.
- Live is connected to all of our BirdPress sites.
BirdPress Updates
The Tech Team is regularly adding fixes and new features to BirdPress. Most of the hosted websites will receive these updates as we merge them to the live repo. We do not recommend that websites with custom child themes or custom plugins to be part of our main pipeline. There is a chance that a change we make will break your own code. It would be ideal to update the BirdPress code when you do WordPress upgrades so that you can test everything all at once, plus any issues a WP upgrade had in it should already be resolved.
When we merge code, all files in the repo will be replaced. The wp-content/themes folder will also be wiped out an replaced. If you have a custom child theme and rely on the Tech Team’s pipeline to get the latest code, please let us know so we can add it to our .gitignore file and to be re-added as part of our pipeline process once your site is merged.
Releases: BirdPress developer updates spreadsheet (started in 2026)
WordPress and Plugin Updates
For major WordPress upgrades, we test our main websites in our dev environments before upgrading to the next version of WordPress. This includes the BirdPress documentation site, BCE, AAB and Cams. Any issues we see will be fixed before we update live websites.
We have automatic updates disabled in WPE and will typically run our upgrades one to two months after its release.
For keeping our plugins up to date, we use Smart Plugin Manager, which is an add-on to WPE. Smart Plugin Manager will check that the updates are working as expected, and that the update did not cause any visual problems on the site. In the event that a plugin or theme update causes an issue, Smart Plugin Manager will automatically revert the updates and restore the site to its previous state. You can be notified for successful updates and failures.
Additional Plugins
You can add additional plugins to your site via the WordPress admin or SFTP. We do ask that you vet the plugin for possible accessibility concerns before adding it. Anything in the plugins folder will not be overwritten when we do code merges.
Running your BirdPress site locally
The Tech Team uses Local WP for our local development. See the Local Help Docs if you would like to set up the same. You can run your local website however you feel comfortable.
The BirdPress repository should be cloned at the WordPress install level. In Local WP, that is in app/public. We recommend that you clone the live branch since that code will be most stable.
You can use WP Migrate to migrate content from your live site to your local site.
Working with a BirdPress Child Theme
For websites that need specialized functionality and customization to the theme, we recommend creating a child theme based off of BirdPress. Find out more on Creating a BirdPress Child Theme.
This is an example of a global CTA
Supporting Text for the global CTA