Maintenance retainers for converted Framer sites

How agencies and freelancers scope, price and run a monthly maintenance retainer for a Framer site converted to code, with a task list and a sample scope.

Published
Reading time
6 min
Deframer cover: “Converted. Kept healthy.” Beside it, four tiles, Updates, Edits, Form checks and Report, with Updates selected
On this page7 sections

A maintenance retainer for a converted Framer site is a monthly agreement to keep the site's code healthy and to make small changes: dependency and security updates, content edits in code, small design changes, form and uptime checks, and a monthly report. It exists because a site moved off Framer no longer updates itself, and most clients who wanted their code still don't want to run it. Price it from the hours the work takes plus a buffer, not from a list price, and write down what's out of scope.

This guide is for agencies and freelancers who have moved, or will move, a client's Framer site to code. It assumes the client owns the site and gave permission for the conversion; the agency workflow covers that part, and selling a migration covers the pitch. Deframer is an independent tool and is not affiliated with, endorsed or sponsored by Framer.

Why do converted sites need a retainer?

On Framer, the platform runs the site. After converting, the client has a standard project, such as a Next.js 16 App Router app or an Astro site in TypeScript, and with it the jobs Framer used to do invisibly:

  • Dependencies (Next.js, React, motion and whatever the site's own code uses) get updates, some of them security fixes.
  • Content that was edited in Framer's CMS now lives in JSON files in src/cms/, so each change is a commit and a deploy, unless a headless CMS was added.
  • Forms post to the project's own API routes and deliver to a webhook set in environment variables. If the receiving service changes, someone updates the variable.
  • Hosting has its own dashboard, usage limits and occasional platform changes.

None of this is much work for a developer. It's a lot for a marketing manager who has never opened a terminal. That gap is the retainer.

What goes in the scope?

Write the scope as a list of recurring tasks with a frequency, then a bank of hours for requests. A typical scope:

Task

Frequency

Notes

Dependency updates

Monthly

Patch and minor versions; major versions quoted separately

Security advisories

As they appear

npm audit, the host's alerts, framework advisories

Build and type check

Each change

npm run build, npx tsc --noEmit

Content edits

On request, within hours

CMS JSON, copy, images

Small design changes

On request, within hours

Spacing, sections, new pages from existing components

Form delivery check

Monthly

Send a test submission end to end

Uptime and error check

Monthly, or monitoring

Host logs, an uptime monitor

Core Web Vitals check

Quarterly

PageSpeed Insights on key pages

Backup of the repository

Continuous

The Git host, plus the client's own copy

Monthly report

Monthly

What changed, what's next, hours used

Out of scope (write it down)

  • Major redesigns and new features (quote them as projects).
  • Major framework upgrades, such as a new Next.js major version.
  • Third-party service costs: hosting, form services, analytics, a headless CMS.
  • Content creation (writing, photography) unless you offer it.

Clear exclusions prevent most retainer disputes.

How to price it

Price from hours. Estimate the recurring tasks for a typical month, add the request bank, add a buffer for surprises, and multiply by your rate. Don't copy someone else's number: rates vary by country, seniority and client size, and nothing in this post should be read as a market rate.

A worksheet:

Line

Hours a month (your estimate)

Updates, build, type check

Monitoring, form test, report

Request bank (content and small changes)

Buffer (10–25%)

Total × your hourly rate

Three ways to structure it:

  1. Fixed monthly fee, fixed hours. Unused hours expire or roll over one month. Simple for both sides.
  2. Tiered. A basic tier (updates and checks only) and a tier with a request bank. Lets the client choose.
  3. Pay-as-you-go with a minimum. A small monthly minimum for updates, requests billed hourly.

Include conversion refreshes if the client keeps designing in Framer

Some clients keep designing in Framer and want the code copy refreshed after a redesign. Each refresh is a new conversion, merged into the repository on a branch. Converting is free; downloading a new project uses 1 credit with site verification, or nothing with the lifetime deal. Pass the credit cost through or include it, and count the merge time; maintaining a converted site with Git explains the merge. For how credits work across many clients, see Deframer pricing explained.

Running the retainer month to month

A routine that keeps it predictable:

  1. First week: update dependencies on a branch, run the build and type check, open a preview deployment, check key pages at desktop, tablet and phone widths, merge.
  2. During the month: handle requests from the bank. Each change gets a branch and a preview link for the client to approve. See preview deployments.
  3. Monthly check: send a test form submission, look at the host's error logs, confirm the sitemap and robots.txt are served.
  4. Report: what was updated, what changed, hours used, anything to plan.

Automated visual checks make step 1 safer on sites with many pages; visual regression tests with Playwright shows a setup.

Make the project easy to hand over

A good retainer doesn't hold the client hostage. Keep the repository in the client's own Git organization (or transfer it on request), keep environment variables documented, and keep the project's README current. The converted project starts with a README listing every route and a "Where to edit" table; add a section for the host and environment. Clients renew retainers they could cancel more readily than ones they feel trapped in.

Who should own what?

Item

Recommended owner

Domain and registrar account

Client

Hosting account

Client (you as a team member)

Git repository

Client's organization, you as a collaborator

Form webhook destination

Client

Framer account (if kept)

Client

Deframer credits for refreshes

Either; agree in writing

A sample scope paragraph

Each month we update the site's dependencies (patch and minor versions), check the production build, test the contact form end to end and review error logs. Up to [N] hours of content edits and small design changes are included; requests are made by email and delivered as a preview link for approval before going live. Major version upgrades, new features and redesigns are quoted separately. Hosting, form and analytics services are billed to the client directly. Unused hours roll over for one month. Either side can end the agreement with 30 days' notice, and the repository and all credentials stay with the client.

Adapt the numbers and terms to your own contracts.

FAQ

How many hours a month does a converted Framer site need?

It depends on the site's size, how often content changes and whether a headless CMS was added. Updates and checks for a small marketing site are a modest monthly job for a developer; content requests are the variable part. Track your first three months and price from real numbers.

Should the retainer include the hosting cost?

Usually not. Have the client pay the host directly so the site keeps running if the retainer ends. If you resell hosting, say so clearly and itemize it.

Can a non-developer client avoid a retainer?

Yes, by adding a headless CMS for content edits and accepting that layout changes need a developer when they come up. Some clients prefer to pay per change instead of monthly.

What if the client wants to go back to Framer?

They can: converting doesn't change their Framer project, so it's still there if they kept their plan. Changes made in code since the conversion don't flow back to Framer, so agree on which version is the source of truth.

Can I earn a referral commission as well?

If the client buys credits or the lifetime deal through your affiliate link, yes: 50% of the lifetime deal and 40% of credit packs, through the affiliate program. Disclose it to the client. Earning twice from client migrations covers the details.

Keep reading

All posts
  • Deframer cover: “Paid twice per migration.” Beside it, two cards, Service fee or Commission, with Service fee selected

    Affiliates6 min read

    Earn twice from Framer client migrations

    How Framer freelancers and designers earn from client migrations: charge for the service, and earn a referral commission when the client buys the download.

  • Deframer cover: “Headers you now control.” Beside it, four tiles, CSP, HSTS, Frames and Referrer, with CSP selected

    Security6 min read

    Security headers for a self-hosted Framer site

    Which security headers to add once a Framer site is self-hosted as code, how to write a Content Security Policy that allows Custom Code, and where to set them.