Skip to content
Sample

SAMPLE: Drupal Upgrade Readiness Assessment

This is a sample. "City of Pinecrest Valley" is fictional. The findings, hours and prices are illustrative, but they reflect what we typically find on a small-government Drupal 7 site. Your report covers your site, with your real numbers.

Prepared for: City of Pinecrest Valley (fictional) · Site: www.pinecrestvalley-example.gov · Prepared by: Op Logic · Delivered: 10 business days after kickoff

1. Summary for decision-makers

  • What you have: a Drupal 7 site (no community security updates since January 5, 2025) with 31 add-on modules, 2 custom modules and 1 custom theme.
  • Biggest risks: unsupported core software; 4 add-on modules with known security advisories; a forms module that collects residents' contact details.
  • Recommendation: migrate to Drupal 11. The content, URLs and forms move over cleanly, and most features map to modern equivalents.
  • Fixed upgrade quote: $34,800 (low $29,500 · likely $34,800 · high $41,000), 12 weeks, in 3 phases. Phase 1 can fit under a typical small-purchase limit if you need to split it.
  • Do now, at no cost: turn on the hosting provider's web application firewall, and remove 3 unused admin accounts (listed in section 5).

2. What's on the site

Item

Pages and news items

Count

1,240

Notes

6 content types (page, news, event, department, alert, meeting)

Item

Files (PDFs, images)

Count

2,385

Notes

410 MB; agendas and minutes are 70% of it

Item

Online forms

Count

9

Notes

Contact, records request, permits inquiry, volunteer sign-up, others

Item

Editor accounts

Count

14

Notes

3 not used in over a year (see section 5)

Item

URL aliases

Count

1,180

Notes

All preserved in the upgrade (no broken links or lost search rankings)

Item

Integrations

Count

3

Notes

Google Analytics (old version), a weather widget, the county GIS map embed

3. Module-by-module scan

Legend: ✅ Update: a Drupal 11 version exists. 🔁 Replace: use a different module or a core feature. ✏️ Rewrite: custom code. 🗑️ Remove: no longer needed.

Module

Views

What it does on your site

Lists of news, events, meetings

Drupal 11 path

Built into Drupal 11 core

Action

🔁 Replace (rebuild 14 views)

Est. hours

21

Module

Webform

What it does on your site

9 resident forms

Drupal 11 path

Webform 6.x for Drupal 11

Action

✅ Update + migrate submissions

Est. hours

12

Module

Pathauto + Token

What it does on your site

Clean URLs

Drupal 11 path

Pathauto + Token for Drupal 11

Action

✅ Update

Est. hours

3

Module

Panels + Page Manager

What it does on your site

Home and department layouts

Drupal 11 path

Layout Builder (core)

Action

🔁 Replace

Est. hours

18

Module

Field Collection

What it does on your site

Staff directory entries

Drupal 11 path

Paragraphs

Action

🔁 Replace + content migration

Est. hours

14

Module

Date

What it does on your site

Event and meeting dates

Drupal 11 path

Built into core

Action

🔁 Replace

Est. hours

4

Module

WYSIWYG + CKEditor 4

What it does on your site

Editing toolbar

Drupal 11 path

CKEditor 5 (core)

Action

🔁 Replace + clean up old HTML

Est. hours

8

Module

IMCE

What it does on your site

File browser for editors

Drupal 11 path

Core Media Library

Action

🔁 Replace + editor training

Est. hours

6

Module

Metatag

What it does on your site

Search and social previews

Drupal 11 path

Metatag 2.x

Action

✅ Update

Est. hours

2

Module

XML Sitemap

What it does on your site

Sitemap for search engines

Drupal 11 path

Simple XML Sitemap

Action

🔁 Replace

Est. hours

2

Module

Google Analytics (old)

What it does on your site

Visitor stats

Drupal 11 path

Google Tag (GA4)

Action

🔁 Replace

Est. hours

2

Module

Features

What it does on your site

Config packaging

Drupal 11 path

Core configuration management

Action

🗑️ Remove

Est. hours

1

Module

jQuery Update

What it does on your site

Old JavaScript library

Drupal 11 path

Not needed

Action

🗑️ Remove

Est. hours

0

Module

Admin Menu

What it does on your site

Admin toolbar

Drupal 11 path

Admin Toolbar

Action

🔁 Replace

Est. hours

1

Module

(17 more small modules)

What it does on your site

Various

Drupal 11 path

11 update, 4 replace, 2 remove

Action

Mixed

Est. hours

14

Module

pinecrest_alerts (custom)

What it does on your site

Emergency alert banner

Drupal 11 path

Rebuild as a small custom module

Action

✏️ Rewrite

Est. hours

16

Module

pinecrest_meetings (custom)

What it does on your site

Agenda and minutes import

Drupal 11 path

Rebuild on the Migrate API

Action

✏️ Rewrite

Est. hours

24

Module

pinecrest theme (custom)

What it does on your site

Site design

Drupal 11 path

New Drupal 11 theme on the same brand

Action

✏️ Rewrite

Est. hours

48

Module

What it does on your site

Drupal 11 path

Action

Module and theme subtotal

Est. hours

196

4. Custom code review (excerpt)

File

pinecrest_alerts.module

Issue

Uses Drupal 7 hooks and db_query(), which don't exist in Drupal 11

Fix

Port to a service plus a block plugin

Hours

8

File

pinecrest_alerts.module

Issue

Database query built from unchecked input

Fix

Use the parameterized query API (also fixes a security weakness)

Hours

2

File

pinecrest_meetings.module

Issue

Imports agendas by scraping a vendor page

Fix

Use a Migrate API source with scheduled runs

Hours

16

File

template.php (theme)

Issue

600 lines of preprocess logic

Fix

Move into Twig templates and small preprocess functions

Hours

12

The full report lists every file and function that needs to change.

5. Security and accessibility snapshot

Security

  • Drupal 7 core: unsupported since January 5, 2025.
  • 4 add-on modules have published security advisories, with fixes available only in paid extended support or by upgrading.
  • 3 admin accounts unused for over a year: remove them now.
  • No web application firewall at the hosting level: turn it on now (free with most hosts).

Accessibility (WCAG 2.1 AA, automated scan of the top 25 pages)

Issue

Images missing alt text

Pages affected

18

Fixed by the upgrade?

Partly: the new editor requires alt text going forward; older images need a content pass (included)

Issue

Low color contrast (gray text)

Pages affected

25

Fixed by the upgrade?

Yes: the new theme

Issue

Form fields without labels

Pages affected

6

Fixed by the upgrade?

Yes: Webform 6 plus the theme

Issue

Tables without headers (agendas)

Pages affected

9

Fixed by the upgrade?

Yes: the new meetings template

Issue

PDFs not tagged for screen readers

Pages affected

~300

Fixed by the upgrade?

No: separate remediation, quoted as an option

Deadline note: under the DOJ's ADA Title II rule, cities under 50,000 people must meet WCAG 2.1 AA by April 26, 2028.

6. Upgrade or switch?

Option

Upgrade to Drupal 11 (recommended)

One-time cost

$34,800

Yearly cost

Hosting about $1,200/yr, paid to the host you choose (we recommend one and migrate you onto it), plus optional maintenance from us

Fit

Keeps your content, URLs, forms and flexibility; no license fees

Option

Switch to a government website subscription service

One-time cost

Lower setup

Yearly cost

Ongoing subscription, often several thousand a year

Fit

Simpler editing, less flexibility; a content migration is still needed

Option

Do nothing

One-time cost

$0 now

Yearly cost

Rising risk

Fit

Not recommended: unsupported software on a public site

7. Fixed quote and timeline

Phase

1. Foundation

What happens

Drupal 11 build, new theme, content model, accessibility fixes

Weeks

1–5

Price

$13,900

Phase

2. Migration

What happens

Content, files, URLs, forms and custom modules move over; editor training

Weeks

6–10

Price

$15,300

Phase

3. Launch

What happens

Testing, accessibility check, launch, 30 days of support

Weeks

11–12

Price

$5,600

Phase

What happens

Weeks

12 weeks

Price

$34,800

Phase 1 alone fits under many small-purchase limits, so it can start without a formal bid.

Optional: monthly support plan (security updates, small fixes, 4 hours a month).

8. Next steps

  1. Choose: build it with Op Logic, or take this report to any developer. It saves them the discovery work you'd otherwise pay them for.

SAMPLE REPORT. City of Pinecrest Valley is fictional; findings and prices are illustrative.