Skip to content

Content Editing Workflows

“I lost my WordPress admin / Divi editor. How do I update my site now?”

This is the number one concern when moving from WordPress to Cloudflare Pages. The answer: you have 4 options, ranging from zero-tools-needed to full developer workflow. Pick the one that fits your team — or mix and match.

4 content editing tiers: Browser Editor, CMS Panel, AI-Assisted, and Local Development, arranged from easiest to most powerful

Tier 1: Browser-Based Editing

No tools needed

Skill Level: Basic computer skills

Tools: Web browser only

Best For: Quick text and image changes

Edit files directly in GitHub.com — no software to install, no command line, no Git knowledge. Just log in, find the file, change the text, and save.

Tier 2: Astro + CMS Panel

No tools needed

Skill Level: Non-technical

Tools: Web browser only

Best For: Regular content updates

A WordPress-like admin panel for your static site. Non-technical staff log in, see a familiar editor, make changes, and publish — just like WordPress.

Tier 3: AI-Assisted Editing

Fastest at scale

Skill Level: Can describe changes in English

Tools: AI tool (Claude Code, Cursor, etc.)

Best For: Any change, any scale

Tell an AI what you want changed. It reads the code, makes the edit, tests it, and deploys. You never touch HTML or Git.

Tier 4: Local Development

Maximum control

Skill Level: Developer

Tools: Code editor, Git, CLI

Best For: Major redesigns, new features

The full developer workflow: clone the repo, edit locally, test, commit, push, deploy.


How long does each approach take for common tasks?

ScenarioWordPress/DiviTier 1: BrowserTier 2: CMSTier 3: AITier 4: Local Dev
Change phone number2 min5 min3 min2 min15 min
Update hero image5 min8 min5 min3 min15 min
Edit service description3 min5 min3 min2 min15 min
Add new page15 min20 min10 min5 min20 min
Redesign a section1-2 hrs1-2 hrs1 hr30-60 min1-2 hrs
Update across 10 sites20 min50 min30 min5 min2.5 hrs
Update across 100 sites3.3 hrs8.3 hrs5 hrs15 min25 hrs

Edit files directly in GitHub.com or the Cloudflare Dashboard — no software to install, no command line, no Git knowledge needed. Just a web browser.

  • Office managers updating a phone number
  • Marketing staff updating text content
  • Anyone with a web browser and account access
  • Can log into a website
  • Can find text in a file (Ctrl/Cmd+F)
  • Can type
  1. Navigate to the file Go to https://github.com/your-org/your-repo and click into the folder structure: public/ > page-name/ > index.html

  2. Edit the file Click the pencil icon (Edit this file) in the top-right. Use Ctrl+F (or Cmd+F on Mac) to search for the text you want to change. Make your edit. Example: Find 408-865-1777, replace with 408-123-4567

  3. Save (commit) Scroll down to “Commit changes.” Write a short description like “Updated phone number.” Select “Commit directly to the main branch” and click Commit changes.

  4. Auto-deploy Cloudflare Pages detects the commit and automatically builds and deploys (1-2 minutes). Your change is live.

That is it. No terminal, no downloads, no Git commands.

Pros:

  • Zero tools to install
  • Works from any computer or tablet
  • Full version history (every edit saved)
  • Can revert any change

Cons:

  • Editing raw HTML (need to know not to break tags)
  • No visual preview before deploying
  • Must know which file to edit
  • Not ideal for large changes

Option B: Cloudflare Dashboard Direct Edit

Section titled “Option B: Cloudflare Dashboard Direct Edit”
  1. Go to dash.cloudflare.com
  2. Navigate to Pages > Your Project
  3. Use the deployment preview to verify changes
  4. For direct edits, use the Functions editor (for form/API changes)
  1. Go to any file in your GitHub repository
  2. Press the . key (period) on your keyboard
  3. A full VS Code editor opens in your browser
  4. Edit files with syntax highlighting, search/replace, multi-file editing
  5. Commit changes from the Source Control panel (left sidebar)
  6. Changes auto-deploy to Cloudflare Pages

This gives you:

  • Full code editor experience
  • Multi-file editing (change header across all pages)
  • Search and replace across the project
  • File tree navigation
  • Syntax highlighting
  • No downloads needed
flowchart TD
    A["Open GitHub.com<br/>(or press '.' for VS Code editor)"] --> B["Navigate to file, click Edit"]
    B --> C["Find text with Ctrl+F, make change"]
    C --> D["Commit: 'Updated phone number'"]
    D --> E["Cloudflare auto-deploys (1-2 min)"]
    E --> F["Change is live"]
  • Only change text between > and < tags
  • Use Ctrl+F to find exactly what you are changing
  • Write a clear commit message
  • Make one change per commit (easier to revert if something breaks)

Example safe edits:

<!-- SAFE: Changing text content -->
<h1>Old Phone Number: 408-865-1777</h1>
<!-- Change to: -->
<h1>New Phone Number: 408-123-4567</h1>
<!-- SAFE: Changing an image URL -->
<img src="/images/old-photo.jpg" alt="Dr. Smith">
<!-- Change to: -->
<img src="/images/new-photo.jpg" alt="Dr. Smith">
<!-- SAFE: Changing business hours -->
<p>Monday - Friday: 9am - 5pm</p>
<!-- Change to: -->
<p>Monday - Friday: 8am - 6pm</p>

A WordPress-like admin panel for your Cloudflare Pages site. Non-technical staff log in, see a familiar editor, make changes, and publish — just like WordPress, but without WordPress.

  • Content editors who update sites regularly
  • Marketing teams managing multiple pages
  • Anyone who needs a visual interface
  • Teams transitioning from WordPress
  • Can use a web browser
  • Can fill out forms
  • Can upload images
  • Same skills as using WordPress
flowchart TD
    A["Content Editor logs into CMS panel<br/>(yoursite.com/admin/)"] --> B["Sees list of pages/posts in familiar UI<br/>Clicks 'Edit' on a page"]
    B --> C["Rich text editor (like WordPress)<br/>Change text, upload images, modify metadata"]
    C --> D["Clicks 'Publish'<br/>CMS commits to GitHub automatically"]
    D --> E["Cloudflare Pages auto-deploys (1-2 min)"]
    E --> F["Change is live"]
Free Open Source

Why Decap CMS:

  • Free and open source
  • Git-based (changes stored in GitHub, not a separate database)
  • Simple admin panel at yoursite.com/admin/
  • Works with Astro out of the box
  • No external service dependency
  • No monthly cost

What it looks like:

  • Login page at /admin/
  • Dashboard showing pages and blog posts
  • Rich text editor for each page
  • Image upload and media library
  • Publish button that triggers deploy
  1. Install the package:

    Terminal window
    npm install @astrojs/decap-cms
  2. Add the admin page. Create public/admin/index.html:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Content Manager</title>
    <script src="https://unpkg.com/decap-cms@^3.0.0/dist/decap-cms.js"></script>
    </head>
    <body></body>
    </html>
  3. Configure content types. Create public/admin/config.yml:

    backend:
    name: github
    repo: your-org/your-repo
    branch: main
    media_folder: "public/images"
    public_folder: "/images"
    collections:
    - name: "pages"
    label: "Pages"
    folder: "src/content/pages"
    create: true
    fields:
    - { label: "Title", name: "title", widget: "string" }
    - { label: "Description", name: "description", widget: "text" }
    - { label: "Hero Image", name: "heroImage", widget: "image" }
    - { label: "Body", name: "body", widget: "markdown" }
    - { label: "Phone", name: "phone", widget: "string" }
    - { label: "Address", name: "address", widget: "text" }
    - name: "services"
    label: "Services"
    folder: "src/content/services"
    create: true
    fields:
    - { label: "Service Name", name: "title", widget: "string" }
    - { label: "Description", name: "description", widget: "text" }
    - { label: "Image", name: "image", widget: "image" }
    - { label: "Price", name: "price", widget: "string", required: false }
    - { label: "Body", name: "body", widget: "markdown" }
    - name: "blog"
    label: "Blog Posts"
    folder: "src/content/blog"
    create: true
    fields:
    - { label: "Title", name: "title", widget: "string" }
    - { label: "Date", name: "date", widget: "datetime" }
    - { label: "Author", name: "author", widget: "string" }
    - { label: "Featured Image", name: "image", widget: "image" }
    - { label: "Body", name: "body", widget: "markdown" }
  4. Content editors visit /admin/ — log in with GitHub account, see pages, services, and blog posts, click to edit any content, and publish when ready.

CMSTypeFree TierVisual EditingSetup Effort
Decap CMSGit-basedUnlimited (open source)Basic rich textLow
Tina CMSGit-based3 users freeVisual inline editingMedium
ContentfulAPI-based5 users, 25k recordsStructured contentMedium
SanityAPI-based3 users, 100k API callsFlexible, customizableMedium
StoryblokAPI-based1 userVisual drag-and-dropMedium

Tell an AI tool what you want changed. The AI reads the code, makes the edit, tests it, and deploys. You never touch HTML or Git.

  • Site managers overseeing multiple sites
  • Anyone who can describe changes in plain English
  • Teams managing 10-300+ sites at scale
  • People who want the fastest workflow
  • Can describe what you want in words
  • Can review a change to confirm it looks right

You say:

“Change the phone number on the Body Intimacy landing page from 408-865-1777 to 408-999-0000”

AI does:

  1. Opens the correct HTML file
  2. Finds the phone number
  3. Changes it in all locations
  4. Tests the page locally
  5. Deploys to Cloudflare Pages
  6. Confirms the change is live

Total time: 2 minutes. Zero HTML knowledge required.

ToolCostHow It WorksBest For
Claude Code (CLI)$20/mo (Pro) or $100/mo (Max)Terminal-based, reads/edits files directlyDevelopers, power users
Cursor$20/monthVS Code fork with AI built inDevelopers
GitHub Copilot$10-19/monthAI in VS Code/GitHubDevelopers
ChatGPT + copy/paste$20/monthGive it the HTML, get back edited HTMLNon-developers
Claude.ai + copy/paste$20/monthGive it the HTML, get back edited HTMLNon-developers

You tell Claude Code:

Change the phone number on our Riverside landing page
from 951-555-1234 to 951-555-5678.
The file is at public/laser-treatment-riverside/index.html

Claude Code:

  1. Reads the file
  2. Finds 3 occurrences of the phone number
  3. Replaces all 3
  4. Shows you the diff
  5. You approve
  6. Deploys: npm run deploy
OperationManual (per site)AI (per site)100 Sites Manual100 Sites AI
Phone number change5 min30 sec8.3 hrs50 min
Image swap10 min1 min16.6 hrs1.6 hrs
Add tracking script15 min1 min25 hrs1.6 hrs
Hours update5 min30 sec8.3 hrs50 min
New page30 min5 min50 hrs8.3 hrs
Terminal window
# Install Claude Code CLI
npm install -g @anthropic-ai/claude-code
# Navigate to project
cd /path/to/your/cloudflare-project
# Start Claude Code
claude
# Tell it what you want
> "Change the hero heading to 'Welcome to Our Practice'"
  • Review changes before deploying
  • Test on staging/preview first for big changes
  • Keep the AI focused on one change at a time
  • Describe changes clearly and specifically

The full developer workflow: clone the repo, edit in a code editor, test locally, commit, push, deploy. Maximum control and flexibility.

  • Developers making significant changes
  • Major redesigns or new feature development
  • Custom Cloudflare Functions development
  • Performance optimization work
  • HTML/CSS/JavaScript
  • Git (commit, push, pull)
  • Command line basics
  • Node.js/npm
flowchart TD
    A["Clone/pull latest code<br/>git pull origin main"] --> B["Start local dev server<br/>npm run serve (port 8788)"]
    B --> C["Edit files in code editor (VS Code)<br/>HTML, CSS, JavaScript, Functions, Config"]
    C --> D["Test locally<br/>Browse http://localhost:8788/<br/>Test forms, test on mobile (DevTools)"]
    D --> E["Commit and push<br/>git add . && git commit && git push"]
    E --> F{"GitHub connected?"}
    F -->|Yes| G["Auto-deploy"]
    F -->|No| H["Manual deploy: npm run deploy"]
    G --> I["Verify on staging/production"]
    H --> I
Terminal window
# Clone repository
git clone https://github.com/your-org/your-repo.git
cd your-repo
# Install dependencies
npm install
# Start local dev server
npm run serve
# Browse to http://localhost:8788/
# Make changes in VS Code
code .
# After changes, deploy
npm run deploy
ScenarioUse Tier 4?
Change a phone numberNo — use Tier 1 or 3
Add a new landing pageMaybe — Tier 3 or 4
Redesign the homepageYes
Add a new form with custom fieldsYes
Implement a new Cloudflare FunctionYes
Performance optimizationYes
Fix a broken pageYes (or Tier 3)
Batch template changesNo — use Tier 3 (AI)

flowchart TD
    Start["Who is making the change?"] --> A["Office Manager /<br/>Non-technical Staff"]
    Start --> B["Marketing Team"]
    Start --> C["Site Manager<br/>(multiple sites)"]
    Start --> D["Developer"]

    A --> A1{"CMS panel set up?"}
    A1 -->|Yes| A2["Tier 2: CMS"]
    A1 -->|No| A3["Tier 1: Browser<br/>or Tier 3: AI via copy/paste"]
    A --> A4{"What kind of change?"}
    A4 -->|"Text / phone / hours"| A5["Tier 1 or 2"]
    A4 -->|"New page"| A6["Tier 2"]
    A4 -->|"Complex change"| A7["Escalate to developer"]

    B -->|"Quick content update"| B1["Tier 1 or 2"]
    B -->|"Add tracking script"| B2["Tier 3 (AI) or Tier 4"]
    B -->|"New campaign page"| B3["Tier 2 (CMS) or Tier 4"]

    C -->|"Update across sites"| C1["Tier 3: AI"]
    C -->|"Single site update"| C2["Tier 1 or 2"]
    C -->|"Batch operations"| C3["Tier 3: AI"]

    D -->|"Quick fix"| D1["Tier 1 or Tier 3"]
    D -->|"New feature"| D2["Tier 4"]
    D -->|"Performance work"| D3["Tier 4"]
    D -->|"Code refactoring"| D4["Tier 4"]
RolePrimary TierBackup Tier
Office ManagerTier 2 (CMS)Tier 1 (Browser)
Marketing StaffTier 2 (CMS)Tier 1 (Browser)
Content WriterTier 2 (CMS)Tier 1 (Browser)
Site Manager (multi-site)Tier 3 (AI)Tier 1 (Browser)
DesignerTier 4 (Local Dev)Tier 3 (AI)
DeveloperTier 4 (Local Dev)Tier 3 (AI)
Agency OwnerTier 3 (AI)Tier 2 (CMS)

  1. Go to yoursite.com/wp-admin
  2. Log in
  3. Open page in Divi Builder (wait for it to load…)
  4. Find the phone number text module
  5. Click it, change the number
  6. Click Save
  7. Clear cache (WP Rocket, etc.)
  8. Verify on frontend

1-5 Sites

  • Tier 1 (Browser) for quick edits
  • Tier 4 (Local Dev) for bigger changes
  • No CMS needed

5-20 Sites

  • Tier 2 (CMS) for content editors
  • Tier 3 (AI) for batch operations
  • Tier 4 (Local Dev) for development

20-100 Sites

  • Tier 3 (AI) as primary workflow
  • Tier 2 (CMS) for individual content editors
  • Tier 4 (Local Dev) for new features

100-300+ Sites

  • Tier 3 (AI) is essential — nothing else scales
  • Tier 2 (CMS) for sites with dedicated content editors
  • Tier 4 (Local Dev) only for new development
TierTraining TimeMaterials Needed
Tier 1 (Browser)30 minutesThis document + 10-min demo
Tier 2 (CMS)1 hourThis document + CMS walkthrough
Tier 3 (AI)1-2 hoursThis document + AI tool setup
Tier 4 (Local Dev)1-2 daysFull prerequisites + dev workflow

“What if I break something?”

Every change is version-controlled. Go to Cloudflare Pages > Deployments > Rollback to previous deployment. Takes 30 seconds.

“Can I use multiple tiers?”

Absolutely. Most teams use Tier 1 or 2 for daily content, Tier 3 for batch operations, and Tier 4 for development. Mix and match.

“What if GitHub goes down?”

GitHub has 99.9%+ uptime. If it is briefly unavailable, use Tier 4 (local + npm run deploy) to push directly to Cloudflare.