WordPress to Astro and Cloudflare migration

No CMS, no database, no plugin updates: static HTML, content in Git, delivery from the edge.
Two separate services, two fixed prices: 800 PLN and 500 PLN net.

Migration pipeline from WordPress content to an Astro build deployed on Cloudflare

WordPress vs Astro on Cloudflare

For a blog, company site, or landing page most content is static. A PHP runtime and a database are then a cost, not a feature.

  • WordPress

    • ✗ PHP, a database, and plugins to keep patched
    • ✗ Recurring hosting and backup cost
    • ✗ A login panel and constant bot scanning
    • ✗ Content locked in a database, hard to edit automatically
    • ✗ Performance depends on cache and plugin quality
  • Astro + Cloudflare Workers

    • ✓ HTML, CSS, and images produced at build time
    • ✓ No database and no admin panel to break into
    • ✓ Content as Markdown in Git, with history and review
    • ✓ CDN, TLS, cache, and DDoS protection in one place
    • ✓ AI agents work on files instead of a CMS panel

The reasoning behind the stack is in choosing technology for a blog and company website in 2026, and the edge architecture in Cloudflare Workers and DNS.

Pricing

Net prices, invoiced on acceptance. Each service can be ordered separately.

  • 1. WordPress → Astro — 800 PLN

    Up to 30 pages and posts, no shop and no user accounts.

    • ✓ Content and media exported to Markdown and WebP
    • ✓ Astro template built on semantic HTML and Pico CSS
    • ✓ Identical URL structure, 301 redirects for everything else
    • ✓ Title, description, canonical, sitemap, RSS, Open Graph
    • ✓ Contact form and a Git repository handed over to you
  • 2. Migration to Cloudflare — 500 PLN

    One domain, Workers deployment, and configuration kept as Infrastructure as Code.

    • ✓ DNS zone transfer with existing records imported first
    • ✓ Worker with static assets, Custom Domain, and www redirect
    • ✓ Universal SSL, cache rules, and a WAF rule blocking /wp-, .php, .env probes
    • ✓ MX, SPF, DKIM, and DMARC stay DNS-only and are verified after the switch
    • ✓ OpenTofu configuration and wrangler.jsonc in your repository

Both services: 1200 PLN. A second site in the same order: −20%. Each page above the limit: 15 PLN. Rush delivery within 48 h: +50%.

Cloudflare account and the agent token

We work inside your account, so everything stays with you after handover. Two things are needed before we start.

  1. Create a Cloudflare account on your own company address and enable 2FA. The Free plan is enough for a typical static site.
  2. Create an API token in the Cloudflare dashboard and send it over a secure channel, not by email. The deployment agent uses it: Wrangler publishes the Worker, OpenTofu manages DNS and edge policy.
TokenPermissionPurpose
Wrangler deploymentAccount Workers Scripts: Editupload and update the Worker
OpenTofu baseZone DNS: Editmanage DNS records
Custom DomainAccount Workers Scripts: Editbind the hostname to the Worker
optional WAFZone WAF: Editrules blocking probes and bots
optional cache and TLSZone Cache Settings: Edit, Zone Settings: Editcache and HTTPS policy

Cloudflare defines Edit as CRUDL, so a separate Read permission adds nothing. We scope the token to a single zone, and after handover you can rotate or delete it in one click. Secrets never go into Git, tfvars, or shell history — they are passed as the CLOUDFLARE_API_TOKEN and TF_VAR_cloudflare_api_token environment variables.

You also keep registrar access for the nameserver change, and provide a WordPress export or a read-only WP account.

How the work runs

Typically five working days per site. The old site keeps serving traffic until the DNS switch.

  1. Inventory. URLs, metadata, media, and DNS records, together with the redirect map.
  2. Content conversion. Posts and pages become Markdown, images become WebP, the layout becomes Astro components.
  3. Staging. A review build on a separate hostname with a separate token.
  4. Verification. URLs, titles, descriptions, sitemap, and redirects compared against the pre-migration state.
  5. Cutover. wrangler deploy, then an approved tofu plan and tofu apply for DNS and the Custom Domain.
  6. Handover. Repository, publishing instructions, and a short walkthrough of editing Markdown.

Exclusions and running costs

We prefer to agree on boundaries up front rather than renegotiate mid-project.

  • Out of scope

    WooCommerce, user accounts, payments, booking systems, and redesign. The migration reproduces the existing layout or uses a simple template. Those items are quoted separately.

  • Running costs

    The domain and any mailbox hosting. On the Workers Free plan static assets are unmetered, while the Worker has 100,000 requests per day and 10 ms CPU per invocation.

  • Optional care

    Dependency updates, monitoring, content changes, and further development, hourly or on a retainer, once the scope is agreed.

Let us price your migration

Send the address of your site. You get the page count, a redirect map, and a delivery date, usually within one working day.

Request a quote

info@pceuropa.net