Most website RFPs arrive as a page count and leave as incomparable quotes. This twelve-section template makes quotes comparable line by line.
You send one website request to three companies and receive three quotes that cannot be compared. One prices by the page, another by the hour, and a third gives a single total with no breakdown. You cannot rank any of them, because each answers a different question from the one you asked.
The problem sits in the request document, not with the vendors. If the problem, audience, conversion, scope, and acceptance rules are missing, each proposal will guess. This twelve-section template fills those gaps before vendors start, so replies arrive against the same lines.
Why most website RFPs produce incomparable quotes
The first cause is the unit of measurement. “Ten pages” bundles an about page with a service page that needs a form, a pricing table, and FAQs. Priced by the page, the buyer overpays for the simple and underpays for the complex. The functional template is the more precise unit: service, article, case study, and contact. Each template has states, fields, and rules, and template count drives design and build while page count drives content only.
The second cause is missing acceptance criteria. If you do not say how you will recognise a finished site, each proposal defines “finished” differently. One delivers designs, another delivers a site without analytics, a third delivers a site that mirrors to Arabic but was never tested in it. Write the numbers you want: speed, accessibility, two languages, and security. The quote then becomes measurable.
The third cause is missing ownership of the decision and the handover. If you do not name who decides, who owns content, code, and the domain after launch, and who answers in the first ninety days, the price gap will return a year later as operating cost. To compare the types, read our guide on corporate website cost in Saudi Arabia before you ask for a quote, because it explains what belongs inside the scope and what sits outside.
The twelve-section RFP outline
This is the structure we require from clients before any quote, because it makes comparison mechanical. Copy it in order and write a line or two under each. If you cannot fill a section, that section is the one that would have cost you after launch.
1. Problem. One sentence: what can you not do today? Example: “We cannot convince government buyers.” Without a problem, there are no criteria.
2. Audience. Who uses it, on which devices, in which language? A government user on an Arabic phone differs from an institutional partner on an English desktop. Both audiences in one section require a design for both.
3. Conversion. What is the one action the journey must end in? A contact form, a quote request, or a call booking. A site with no clear conversion is a brochure.
4. Scope in templates. Name the functional templates and their count, and what will and will not be built. “Three service templates and three content templates” is comparable. “Ten pages” is not.
5. Content ownership. Who writes the Arabic and English copy, who reviews it, and who owns it after handover? If the content stays with the vendor, every later change passes through them.
6. Languages and direction. Is delivery fully bilingual? State the typeface, RTL direction, field order, and testing instead of automatic mirroring after the build. Write “Arabic is a primary language, not a later translation”.
7. Integrations. Name each integration: CRM form, payment gateway, notifications, ticketing. For each, state what happens when the connection fails: retry, alert, and log. The connection alone is not enough.
8. Security and compliance. Where is personal data stored, who can reach it, and how long is it kept? Those are regulatory questions in Saudi Arabia with PDPL enforceable since September 2024. Put the answer in the brief, not in the proposal.
9. Timeline. State the target launch window, review dates, and your content delivery dates. If delivery runs 8 to 14 weeks as in our published web band, write what moves if content slips by a week.
10. Acceptance criteria. Numbers measured at handover: LCP, INP, and CLS within Web Vitals limits, accessibility per WCAG 2.2, both languages working in Arabic and English, and security tests. Without numbers, there is no acceptance.
11. Payment milestones. Tie each payment to an inspectable output: discovery, design, build, testing, and launch. “40% on signing” without an output funds delay, not work.
12. Handover and ownership. Name what you receive on handover day: the repository, the database, deployment settings, documentation, and domain and hosting access. If any item stays vendor property, you are renting.
Copy this structure as it stands. If you want help filling it, start from technical consulting, whose published band is SAR 20,000 to 30,000 over 6 to 10 weeks, because that is the stage before a serious RFP. The rest of this article explains how to score replies after you send the structure.
How to score proposals on five identical lines
When proposals arrive, do not compare the final number. Compare them on five identical lines and ask each vendor to answer every line in the same format. A vendor who refuses a line format tells you something about their work. The table below is the scoring sheet.
| Line | What to request | How to compare |
|---|---|---|
| Scope in templates | A list of unique templates and what will not be built | Matching template count, not page count |
| Languages and content | Confirmation of Arabic and English delivery, RTL direction, and content ownership | Who writes, reviews, and owns, and when both versions land |
| Integrations and security | Each integration name, failure behaviour, storage location, and access path | A data and permissions map, not a confidentiality promise |
| Acceptance and timeline | Acceptance numbers, review dates, and launch week | Same numbers for every offer, and flag what is missing |
| Price, handover, and support | Price breakdown, payments, handover contents, and 90-day support | Price legible beside handover, not a separate number |
Use our published bands to check the shape before negotiation: web from SAR 10,000 to 25,000 over 8 to 14 weeks, and consulting from SAR 20,000 to 30,000 over 6 to 10 weeks. Those are our figures, not a market range. Any offer outside them should name the line it breaks and why.
From reading to shipping
Want this built, not just explained?
Bring us the problem behind the article. We will tell you what it takes, what it costs, and whether we are the right team.
Common traps that break the comparison
The first trap is price by the page. It quotes one flat fee per extra page while the about page needs a photo and text, and the service page needs a form, a table, and testing. Ask for the price of the functional template and its states, and make any extra content priced by template, not by page.
The second trap is comparing a fixed price with an hourly rate. A fixed price before discovery looks safe and hides changes in “extra” lines. An hourly rate without a cap looks flexible and hides estimating responsibility. The fix is one: a short paid discovery that ends in a fixed price or a failed-discovery review. If discovery runs 20,000 to 30,000 SAR over 6 to 10 weeks as in our published consulting band, it must say what it contains, not present that as a promise.
The third trap is missing support terms after launch. Many proposals end at launch, and after that each fix is billed at unknown rates. Write in the brief: the included support window, how small changes are priced, and who updates the stack. A proposal without those lines is a project without maintenance.
A worked mini-example you can copy
Below is a ready example for a bilingual corporate site. Edit the brackets and keep the structure. The Arabic and English below are literal translations, so one works for whichever language the buyer awards in.
- Problem: Government buyers cannot find proof of prior work or licensing, so deals stall before the meeting.
- Audience: A government procurement officer on an Arabic phone, and a contractor or institutional partner on an English desktop.
- Conversion: One quote-request form completed within a minute, with a confirmation email.
- Scope: Six templates: home, service, case study, article, contact, and quote request. No store, client portal, or mobile app in this release.
- Content: The buyer supplies Arabic copy, the vendor writes or translates English, and the buyer owns both versions.
- Languages: Arabic first, then English, with an open-licensed Arabic typeface and RTL testing on every template before handover.
- Integrations: CRM form and email notifications. If a notification fails, retry three times, then alert the subscriber.
- Acceptance: Speed within Web Vitals, AA accessibility in WCAG 2.2, both-language form behaviour, and data-loss tests.
- Payment: 25% on design approval, 40% on build completion, 35% after acceptance passes. A payment is not due without a later output.
- Handover: Full repository, database, deployment settings, documentation, and 30 days of support. Domain and hosting under the buyer.
This example describes a contract, not a market. If replies arrive on this structure, you will see within minutes who means acceptance and who is selling it. That is why the investment in this section matters before a single line is sent.
Pre-send checklist
Run eight checks before you send the document. Each is yes or no, with no “maybe.” Any “no” means the reply will come back thin on that line.
The problem in one line. Can someone who has never seen the project repeat a line you added?
The conversion is named. Is there one written action, a named form, and an expected time for it?
The scope is written in templates. Does each template have a count and a purpose, and is what will not be built stated plainly?
Content and ownership are defined. Who writes, reviews, and owns, and who supplies copy by which date?
Both languages and RTL sit in acceptance. Did you name typeface, direction, and testing in words that leave no reading open?
Integrations and security are written. Does each integration have a failure behaviour and each data type a storage place?
Payment is tied to outputs. Does each payment have an inspectable output, and is acceptance numbers rather than impressions?
Handover and support are written. Did you name what you receive on handover day, the support window, and how changes are priced?
Frequently asked questions
What is the difference between an RFP and a scope document? The RFP asks vendors questions. The scope document answers them about your project. Send the scope first, and the RFP is only the answer format.
Is fifteen pages enough? No. Page count does not set the cost. State template count and pages per template, because that is what can be compared.
Do we need paid discovery before the RFP? If the project is your first, yes. Discovery ends in a fixed price or a failed-discovery review, and it keeps assumptions out of the quotes.
How do we compare a fixed price with an hourly rate? We do not compare them on the number. We ask the hourly bidder for a cap and an estimate per template, and the fixed bidder for complete extra lines.
What happens after proposals arrive? Score them on the five identical lines, then talk for ten minutes with the top scorer about handover and support, not about pictures.
Sources
- McKinsey: The Business Value of Design — 300 listed companies tracked, with top-quartile MDI performers growing revenue 32 percentage points faster over five years.
- web.dev: Web Vitals — the LCP, INP, and CLS thresholds we use as acceptance criteria.
- WCAG 2.2 — published as a W3C Recommendation on 5 October 2023, adding 9 success criteria.
- PDPL Implementing Regulation — the reference for processing and breach obligations.
