Skip to content

Guide

21 minute read

Updated for Drupal 11

How to write an RFP for Drupal projects

A Drupal RFP is not a description of a website. It is a decision procedure: it decides who builds the platform, who hosts it, what it is allowed to cost in year three, and how easily you can leave. Written badly, it produces comparable-looking proposals and an uncomparable decision. Written well, it makes the choice almost arithmetic.

This guide sets out the eight steps, in order, with the artefact each step should produce. It assumes you are buying Drupal 10 or 11 development plus ongoing hosting and support — the most common shape — and that procurement rules apply, even if nobody has called them that yet.

01

Define the decision before the document

An RFP is not a document, it is a decision mechanism. Decide what you are choosing between, who chooses, and what would make you walk away.

Most Drupal RFPs fail before the first paragraph is written, because nobody agreed what the document is for. Is it a competitive tender to select a build partner? A market-scanning exercise to establish a budget? A procurement formality required by a grant? Each one needs a different document, a different timeline and a different level of specification.

Write three sentences before you write anything else: the decision (award a build-and-support contract for the platform), the decider (a named panel with a named chair), and the walk-away condition (no proposal below the security gate, or no proposal that cannot meet the hosting ownership requirement). Those three sentences will stop the RFP drifting into a wish list, because every requirement you add has to earn its place against them.

This is also the point to choose your procurement route. A competitive RFP suits a well-defined scope with several credible bidders. A two-stage process (request for information, then a short RFP to three vendors) suits a scope you cannot yet specify. A direct award with a single vendor is defensible when the work is small, urgent or genuinely sole-source — but say so openly rather than dressing it up as competition.

Owner
Digital or web lead, with procurement
Time
1 week
Output
A one-page decision statement: decision, deciders, criteria for walking away, procurement route
02

Inventory what you already have

You cannot scope a migration you have not counted. The inventory is the single most useful document in the whole process.

Crawl the current site and count: nodes by content type, media assets and total file size, languages, user accounts by role, taxonomy vocabularies, redirects currently in place, and forms or webforms that receive submissions. Then count the things that are not content: integrations, cron jobs, custom modules, and the three scripts somebody wrote in 2019 that nothing can replace.

Next, build the URL inventory. Pull twelve months of analytics and rank pages by sessions, by conversions if you have them, and by inbound links. The top thousand URLs are the ones you cannot afford to break; they become the redirect coverage requirement in the RFP. This is the difference between a migration that preserves search visibility and one that quietly loses a third of it.

Finally, inventory the constraints: supported PHP and database versions, hosting contract end dates, the security review your IT team will insist on, the accessibility obligation in your funding agreement, and the date by which a grant or board decision expires. Constraints discovered at contract stage become delays; constraints written into the RFP become acceptance criteria.

Owner
Content lead plus analytics, with IT for the technical inventory
Time
1–2 weeks
Output
A content inventory spreadsheet, a URL inventory with traffic and inbound links, and a constraints register
03

Write scope that a vendor can price

If two vendors cannot quote the same scope, you are not comparing prices, you are comparing guesses.

Break the work into eight to twelve work packages, each with a deliverable that exists at the end: a design system in Figma, a content model in configuration, a migrated content set with a reconciliation report, a redirect map covering the top thousand URLs, a launch runbook. A work package with a deliverable can be priced, scheduled and accepted. A work package described as 'design and build' cannot.

Then write the out-of-scope list. This feels negative and it is the most commercially valuable page in the document. Out of scope: ongoing content entry beyond the agreed migration volume, photography, copywriting beyond the agreed page count, third-party licence costs, translations, and any integration not listed in section six. When a vendor later says 'that was not included', you want a page that says it was.

State buyer responsibilities with equal precision. Who supplies brand assets, who approves designs, how many review rounds, who provides API credentials, who is available for user testing, how quickly approvals arrive. Vendors price risk, and an unnamed approval process is priced as risk.

Owner
Web lead with finance
Time
2 weeks
Output
8–12 priced work packages, an out-of-scope list, and a buyer responsibilities table
04

State requirements as testable clauses

Every requirement should be something a vendor can only answer with evidence, not with the word 'yes'.

Write requirements as numbered clauses: actor, obligation, standard, evidence. 'R4.3 The platform must support editorial workflows with at least three states (draft, review, published) and at least four roles with configurable transitions. Evidence: a demonstration of a page moving through all states in a staging environment.' A clause like that can be scored. 'User-friendly editorial experience' cannot.

Describe the content model explicitly, because this is where Drupal projects are won and lost. Content types, fields and their types, references between entities, taxonomies and their hierarchy, and the listing behaviour of each. You do not need to design the model — that is the vendor's job — but you do need to describe the editorial outcomes it must produce.

Separate the mandatory from the desirable. Mandatory requirements become pass/fail; desirable ones earn points. Mixing them in one list guarantees arguments at evaluation, because every vendor will claim to meet everything and the panel will have no way to differentiate.

Owner
Web lead with content and IT
Time
2 weeks
Output
A numbered requirements section with evidence standards, split into mandatory and scored
05

Specify hosting, security and exit terms

This is the section that decides your recurring cost for the next five years. It is also the section most often left to the vendor's standard offering.

Decide who owns the infrastructure before you ask anyone to price it. Hosting inside the vendor's platform is simpler to start and harder to leave; hosting inside your own cloud account is more work to set up and gives you the billing relationship, the data residency and the exit route. Both are legitimate. What is not legitimate is leaving the question open and inheriting whichever the vendor prefers.

Write the operational requirements as evidence requests. Backup retention with a restore test report. Recovery point and recovery time objectives, with the last three actual incident recoveries. A patching commitment expressed in hours after a Drupal security advisory, with the date of the last critical patch. Availability measured, not promised. Each of these is a document that either exists or does not, which makes evaluation fast and honest.

Then write the exit clauses while everyone is still being polite. A complete export in structured formats, no extraction fee, documented runbooks, a named transition period, and a contractual statement that you can keep operating the platform without the vendor. If a vendor refuses these clauses at award stage, you have learned something more valuable than any reference call.

Owner
IT or security lead, with procurement
Time
1–2 weeks, in parallel with step 4
Output
A hosting and security annex with evidence requirements, and exit terms accepted as contract conditions
06

Set the evaluation model and the weights

Publish how you will decide, with weights and score definitions, so proposals are written to be scored.

Choose seven to nine criteria and weight them to total 100. For Drupal work a workable starting point is technical approach 18, hosting and operations 15, total cost of ownership 15, comparable experience 13, named team 12, security and compliance 10, delivery and support model 9, accessibility and QA 8. Change these to match your priorities, but change them deliberately and write down why.

Define what each point on the scale means, in terms of evidence. A five names the approach, the people and the proof. A three is plausible but unsupported. A one is asserted only. Without definitions, three evaluators will score three different proposals, and the vendor with the best written English will win.

Set the gates separately. Legal standing, insurance, three comparable Drupal builds, a named architect, security assurance, and the ability to meet your hosting model. Gates are checked before scoring and are not negotiable; everything arguable belongs in the weighted score.

Owner
Procurement, with the panel chair
Time
1 week
Output
A published rubric with weights, score definitions and pass/fail gates
07

Publish, answer in writing, and hold the line

A fair process is a fast process. Every private answer you give a vendor lengthens the evaluation and weakens the award.

Issue the RFP to three to five qualified bidders with a single submission channel, a question deadline, and a commitment to publish every question and answer to all bidders. This is not bureaucracy; it is what stops one vendor from having a materially better brief than another, which is the most common grounds for a procurement challenge.

Hold a bidders' conference if the scope is complex. Thirty minutes of architecture explanation saves three weeks of clarification emails, and it tells you which vendors ask good questions — a useful signal in itself.

Do not extend the deadline for a vendor who asks. Extend it for everyone, or not at all, and publish the reason. Late submissions from well-liked vendors are how procurement processes acquire a reputation that follows the project for years.

Owner
Procurement
Time
3–4 weeks including the response window
Output
A published Q&A log, a submissions register, and complete proposals from every bidder
08

Score, demonstrate, reference-check, award

Score independently, demonstrate live, and call the references. Then decide, and tell everyone why.

Score independently and in writing before the panel meets, then discuss only the criteria where scores diverge by more than two points. Average the rest. Require a citation from the proposal for every score of four or above; it is remarkable how many high scores lose their justification when someone asks where in the document it came from.

Run the demonstration against the same three tasks for every finalist, in the vendor's own environment, with real content. Ask them to publish a page, roll back a deployment, and prove the requirement the panel finds hardest to believe. Score the demonstration separately and include it in the published criteria so it is not a surprise.

Call the references yourself, with a script. Ask what the project originally cost against the final cost, what changed, how a missed deadline was handled, who did the work versus who sold it, and how the handover went. Then award, notify all bidders with their own scores, and publish the outcome internally — including the parts of the process that did not work, so the next procurement starts further ahead.

Owner
Panel chair, with procurement
Time
2 weeks
Output
A scored evaluation record, a signed contract, and notifications to every bidder

Shortcut

Let the generator write the first draft

Thirteen questions produce all fifteen sections, tailored to your project type, hosting expectation and compliance obligations. The parts only you can answer stay as bracketed placeholders, which is exactly what should happen.

Questions

Before you publish

Who should own the Drupal RFP internally?

One accountable owner, usually a digital or web lead, with three named reviewers: someone from IT or security who can veto infrastructure choices, someone from the business side who owns the content and the outcomes, and someone from procurement or finance who owns the contracting route. RFPs with four equal authors produce contradictions; RFPs with one author and three reviewers produce decisions.

How many vendors should receive the RFP?

Three to five credible bidders. Fewer than three gives you no comparison and no negotiating position; more than six multiplies your evaluation work and pushes good vendors to decline. Do a short pre-qualification round first so every recipient has a realistic chance.

How long does the procurement take end to end?

A typical cycle is eight to fourteen weeks: two to four weeks of internal scoping and drafting, three to four weeks for vendors to respond, two weeks to score and run demonstrations, one to two weeks for references and negotiation. Public-sector rules, board approval or grant conditions can add four to eight weeks. Start from the date you need the site live and work backwards.

Should we ask for a fixed price or time and materials?

Ask for both, priced against the same work packages. Fixed price suits well-defined deliverables and transfers cost risk to the vendor, at a premium. Time and materials with a capped budget and a rate card suits discovery-heavy work. Comparing both against one scope tells you where each vendor sees uncertainty, which is more useful than the number alone.

What should the demonstration actually show?

A working site the vendor built, edited live in front of you: create a content type, move a block, publish through an approval workflow, show the deploy pipeline and roll back. Scripted slide decks prove nothing. Give vendors the same three tasks and score how they handle a request they did not prepare for.