Drupal 12 dự kiến ra trong tuần 7 tháng 12 năm 2026, còn Drupal 10 hết vòng đời ngày 9 tháng 12 năm 2026. Hai mốc cách nhau hai dòng trên cùng một trang lịch phát hành nhân Drupal, và phần lớn chủ site Drupal 10 chưa để ý. Bản alpha đầu tiên của nhánh lớn mới được gắn thẻ ngày 2 tháng 9 năm 2026, nên hình hài bản phát hành giờ là chuyện đã ghi nhận, không phải phỏng đoán.

Cú va chạm đó là toàn bộ câu chuyện. Một nhánh lớn ra mắt thường không gấp với chủ site, vì bạn có thể ngồi trên nhánh cũ một hai năm chờ hệ sinh thái theo kịp. Lần này nhánh cũ ngừng nhận khuyến cáo bảo mật đúng tuần nhánh mới xuất xưởng, biến sự kiện kỹ thuật thành hạn chót có lưỡi tuân thủ.

Bài này trình bày lịch drupal.org công bố, những gì thực sự đổi trong mã nguồn, ngưỡng nền tảng mới ép gì lên hosting, ba lộ trình nâng cấp thực tế kèm chi phí, và kế hoạch tính ngược từ tháng 12. Phần yên tâm đến sớm: đa phần một bước nhảy nhánh lớn Drupal là xóa bỏ chứ không phải sáng tạo lại.

Drupal 12 ra mắt khi nào và tôi có buộc phải chuyển không? Drupal 12.0.0 dự kiến ra trong tuần 7 tháng 12 năm 2026, cùng lúc với Drupal 11.5.0. Drupal 10 hết vòng đời hai ngày sau, ngày 9 tháng 12 năm 2026, và từ đó không còn khuyến cáo bảo mật nào cho nó. Site Drupal 11 chỉ phải nâng cấp nhẹ. Site Drupal 10 phải qua Drupal 11.4 trở lên trước, nên công việc là hai chặng chứ không phải một.


Hai mốc quyết định sáu tháng tới của bạn

Nhóm quản lý phát hành công bố cả chu kỳ từ trước, và chu kỳ lần này gọn gàng khác thường. Drupal 11.4.0 ra trong tuần 29 tháng 6 năm 2026, và bản đó chấm dứt hỗ trợ bảo mật cho cả Drupal 11.2.x lẫn Drupal 10.5.x. Thẻ 12.0.0-alpha1 được gắn ngày 2 tháng 9 năm 2026. Các yêu cầu beta phải hoàn tất trước ngày 11 tháng 9 năm 2026, với 12.0.0-beta1 và 11.5.0-beta1 trong tuần 14 tháng 9, còn bản ứng viên phát hành trong tuần 9 tháng 11.

Rồi tuần 7 tháng 12 làm ba việc cùng lúc. Drupal 12.0.0 xuất xưởng, Drupal 11.5.0 ra cùng nó, và hỗ trợ bảo mật kết thúc cho cả Drupal 11.3.x lẫn Drupal 10.6.x. Hai ngày sau, ngày 9 tháng 12 năm 2026, Drupal 10 hết vòng đời trọn vẹn và sẽ không còn bản phát hành nào nữa.

Mốc thời gianĐiều xảy ra
Tuần 29 tháng 6 năm 2026Drupal 11.4.0 ra mắt, hết hỗ trợ bảo mật cho 11.2.x và 10.5.x
Ngày 2 tháng 9 năm 2026Gắn thẻ Drupal 12.0.0-alpha1
Tuần 14 tháng 9 năm 2026Drupal 12.0.0-beta1 và 11.5.0-beta1
Tuần 9 tháng 11 năm 2026Drupal 12.0.0-rc1 và 11.5.0-rc1
Tuần 7 tháng 12 năm 2026Drupal 12.0.0 và 11.5.0 ra mắt, hết hỗ trợ bảo mật cho 11.3.x và 10.6.x
Ngày 9 tháng 12 năm 2026Drupal 10 hết vòng đời

Vì sao Drupal 10 và Drupal 12 rơi vào cùng một tuần

Đây là chính sách, không phải trùng hợp. Tổng quan quy trình phát hành nêu rõ nhánh lớn ra hai năm một lần vào các năm chẵn, và mỗi nhánh lớn được hỗ trợ tối thiểu bốn năm, cho tới khi có thêm hai nhánh lớn nữa ra đời. Drupal 10.0.0 ra ngày 15 tháng 12 năm 2022. Drupal 11 đến vào tháng 8 năm 2024 và Drupal 12 đến vào tháng 12 năm 2026, tức nhánh lớn thứ hai sau đó, và bốn năm cũng đã trôi qua. Đồng hồ chạy hết giờ đúng như dự kiến.

Cùng chính sách ấy chi phối các nhánh nhỏ. Mỗi nhánh nhỏ được hỗ trợ một năm, sáu tháng đầu có cả sửa lỗi lẫn vá bảo mật, sáu tháng sau chỉ còn vá bảo mật. Đó là lý do hôm nay chỉ 10.6.x còn nhận khuyến cáo, và là lý do 11.3.x mất bảo vệ ngay khi 11.5.0 xuất xưởng.

Drupal 11 không dừng lại khi Drupal 12 bắt đầu. Việc phát hành 11.5.0 trong cùng tuần mở ra thứ mà chính sách gọi là giai đoạn hỗ trợ dài hạn: nhánh lớn cũ giữ một nhánh nhỏ khớp API, chuyển sang bản LTS của Symfony, và nhận một bản bảo trì mỗi sáu tháng với phạm vi thu hẹp dần. Drupal.org không công bố ngày hết vòng đời chắc chắn cho Drupal 11, dù tài liệu về phần mở rộng đã lỗi thời của chính họ nói Drupal 11 sẽ được hỗ trợ tới khoảng giữa hoặc cuối năm 2028.

Còn bao nhiêu site vẫn nằm trên Drupal 10

Các con số là công khai và chúng không dễ chịu. Thống kê sử dụng nhân của drupal.org cho tuần bắt đầu ngày 23 tháng 8 năm 2026 ghi nhận 468.877 site báo cáo phiên bản nhân. Trong đó 205.568 site nằm trên một nhánh nào đó của Drupal 10 và 168.857 site nằm trên Drupal 11. Khoảng 44% lượng cài đặt có báo cáo đang chạy phiên bản sẽ ngừng nhận khuyến cáo vào tháng 12.

Con số sắc hơn nằm bên trong con số đó. Chỉ 10.6.x còn được bảo vệ, và 10.6.x chiếm 139.911 site trong số ấy. Còn lại 65.657 site nằm từ 10.0 đến 10.5, nghĩa là chúng đang chạy một nhánh nhỏ hết hỗ trợ ngay hôm nay, trong tháng 9 này, không cần chờ tới tháng 12.

Các số đếm này đến từ những site tự nguyện báo cáo qua mô đun Update Status, nên tổng thể thực tế còn lớn hơn và lệch theo cùng một hướng. Đọc theo hướng thực dụng: rất nhiều tổ chức sẽ cùng muốn đặt lịch một khối lượng nâng cấp giống nhau trong cùng một quý, và nút thắt của tháng 10 và tháng 11 sẽ là năng lực của agency chứ không phải mã nguồn.

Hết vòng đời thực sự nghĩa là gì với một site Drupal

Hết vòng đời không phải cái công tắc làm hỏng site. Bản cài Drupal 10 của bạn vẫn trả trang ngày 10 tháng 12 y như ngày 8 tháng 12. Thứ thay đổi là Đội bảo mật Drupal ngừng công bố khuyến cáo và bản vá cho mã đó, nên từ ngày ấy mọi lỗ hổng mới phát hiện trong nhân Drupal 10 đều mở vĩnh viễn.

Hiệu ứng thứ hai chậm hơn và gây hại nhiều hơn. Phạm vi bảo mật của mô đun đóng góp phụ thuộc vào việc mô đun có bản ổn định trên một nhánh nhân còn được hỗ trợ, nên khi các nhà bảo trì lần lượt bỏ tương thích Drupal 10, những mô đun trên site bạn cũng lặng lẽ rời khỏi quy trình khuyến cáo. Bạn không nhận được thông báo nào khi việc đó xảy ra. Mô đun chỉ đơn giản thôi xuất hiện trong các bản vá bảo mật, còn báo cáo cập nhật trên site bạn vẫn xanh.

Hiệu ứng thứ ba là càng chờ thì lối ra càng đắt. Một site Drupal 10 nâng cấp trong tháng 11 được làm trên một nhánh nhân còn bảo trì với đường cập nhật hoạt động. Cũng site đó nâng cấp vào tháng 6 năm sau thì thành dự án cứu hộ, vì các mô đun đóng góp mà nó phụ thuộc đã đi tiếp thêm sáu tháng mà không mang nó theo.

Cyber Essentials, bảo hiểm và điều khoản hợp đồng

Đây là chỗ một CMS hết hỗ trợ thôi còn là chuyện kỹ thuật. Yêu cầu Cyber Essentials cho hạ tầng CNTT v3.3 của NCSC, đề tháng 4 năm 2026, nêu rằng mọi phần mềm trên thiết bị trong phạm vi đều phải có bản quyền và còn được hỗ trợ, và phải gỡ khỏi thiết bị khi hết hỗ trợ, hoặc đưa ra ngoài phạm vi bằng một tập con đã định nghĩa chặn toàn bộ lưu lượng ra vào internet. Kiểm soát này áp dụng cho máy chủ, IaaS, PaaS và SaaS, nên một bản Drupal trên máy chủ trong phạm vi là bị bao trọn.

Một site Drupal 10 phục vụ công chúng thì không thể chặn khỏi internet, nên sau ngày 9 tháng 12 năm 2026 chỉ còn hai câu trả lời: nâng cấp nó, hoặc chấp nhận rằng nó không đạt kiểm soát đó. Nếu tổ chức của bạn giữ chứng nhận Cyber Essentials hay Cyber Essentials Plus và gia hạn hằng năm, đó là câu hỏi bạn sẽ nhận bằng văn bản ở kỳ đánh giá kế tiếp.

Hãy thận trọng với những gì khẳng định thêm. Việc một hợp đồng bảo hiểm mạng hay hợp đồng khách hàng cụ thể có bị ảnh hưởng hay không phụ thuộc hoàn toàn vào câu chữ, và các điều khoản đáng lo thường là loại đòi phần mềm còn được hỗ trợ chứ không phải loại gọi tên Drupal. Hãy đọc hợp đồng bảo hiểm và thỏa thuận dịch vụ khung của chính bạn trước tháng 12 thay vì sau một sự cố, vì đó mới là lúc rẻ.

Drupal 12 thực sự khác ở chỗ nào

Rất ít, và đó là câu trả lời trung thực lẫn hữu ích. Ghi chú phát hành 12.0.0-alpha1 nói thẳng: 12.0.x gần như giống hệt 11.5.x, chỉ khác ở chỗ mã lỗi thời bị gỡ bỏ, kể cả nguyên các mô đun lỗi thời, các thư viện phụ thuộc được nâng lên nhánh lớn mới, và yêu cầu hệ thống được nâng lên. Với mọi thay đổi khác, ghi chú bảo bạn đọc nhánh 11.5.x.

Vẫn có vài thay đổi hành vi thật sự đáng biết. Thuật toán băm mật khẩu mặc định chuyển sang argon2id, với bcrypt dùng được qua tham số kernel ở nơi không có argon2. Tệp robots.txt trong nhân nay chặn các trang kết quả tìm kiếm mang tham số truy vấn, nhờ đó công cụ tìm kiếm không bò qua vô số tổ hợp bộ lọc, còn site đã tùy biến robots.txt phải tự thêm các dòng disallow đó. HTMX, thứ nhân vốn đã kèm sẵn, chuyển từ phiên bản 2 lên phiên bản 4 ở beta1.

Còn một điểm dễ bỏ sót. Việc chạy Drupal trực tiếp trên Windows trong môi trường sản xuất bị đánh dấu lỗi thời ở Drupal 12, với lý do không có môi trường kiểm thử Windows tự động và rất ít lập trình viên kiểm thử trên đó. Windows vẫn được hỗ trợ cho phát triển cục bộ. Nếu bạn chạy sản xuất trên Windows, đây là quyết định hosting phải ra trong vài tháng tới chứ không phải một thay đổi mã nguồn.

Những phần mở rộng rời khỏi nhân

Drupal đã nhiều năm chuyển các mô đun hẹp ra khỏi nhân thành dự án đóng góp, và Drupal 12 tiếp tục việc đó. Ghi chú alpha1 liệt kê Ban, Contact, Field Layout, History, Settings Tray, Shortcut và Telephone bị gỡ, cùng với giao diện Stable 9. Trình cắm trường Text with Summary cũng đã chuyển thành mô đun đóng góp riêng. Ban bị đánh dấu lỗi thời từ 11.3, Contact, Field Layout, History và Telephone ở 11.4, còn Settings Tray, Shortcut và Text with Summary ở 11.5.

Hai cái trong số đó sẽ làm nhiều người ngạc nhiên. Shortcut và Settings Tray là tính năng quản trị mà rất nhiều đội biên tập dùng hằng ngày mà chưa từng nghĩ chúng là tùy chọn, và riêng Settings Tray đỡ phía dưới phần cấu hình khối tại chỗ mà biên tập viên nội dung dựa vào.

Cách xử lý quan trọng hơn bản danh sách. Nước đi đúng là thêm bản đóng góp vào yêu cầu Composer trước khi nâng cấp, chứ không phải gỡ cài mô đun. Gỡ cài sẽ hủy cấu hình của phần mở rộng đó, và cơ chế dò mô đun của Drupal xét nhân sau cùng, nên hễ dự án đóng góp có mặt thì Drupal dùng luôn nó. Cũng lưu ý Drush có thể bỏ qua cảnh báo trên update.php về phần mở rộng thiếu, nên sự cố nổi lên sau đó dưới dạng lỗi trong báo cáo trạng thái.

Mất Migrate Drupal mới là thay đổi cắn đau nhất

Hai mô đun Migrate Drupal và Migrate Drupal UI bị gỡ khỏi Drupal 12 và, khác với phần còn lại, chúng không được chuyển sang dự án đóng góp. Drupal 12 giữ Migrate API và các trình cắm đích cho Drupal hiện đại, nhưng không giữ các trình cắm nguồn cho Drupal 6 và Drupal 7.

Hãy đọc lại câu trên nếu bạn sở hữu một site Drupal 7. Bộ công cụ đọc cơ sở dữ liệu Drupal cũ rồi ghi vào một bản Drupal hiện đại tồn tại trong Drupal 11 và không tồn tại trong Drupal 12. Hướng dẫn của drupal.org rất rõ: site trên Drupal 6 hoặc Drupal 7 có ý định dùng API di chuyển nên tiếp tục di chuyển sang Drupal 11, rồi dùng quy trình cập nhật thông thường để đi từ Drupal 11 lên Drupal 12.

Điều đó biến một ý định mơ hồ thành ràng buộc trình tự cứng. Một dự án dựng lại Drupal 7 hạ cánh sau khi Drupal 11 hết hỗ trợ sẽ phải tự viết trình cắm nguồn, hoặc dựng lại một nhân cũ trong môi trường dùng một lần để chạy di chuyển, hoặc xuất rồi nhập nội dung bằng cách khác. Cả ba đều đắt hơn việc làm di chuyển vào Drupal 11 khi Drupal 11 còn là đích hiện hành và còn được bảo trì. Bài chi phí, lựa chọn và hạn chót khi di chuyển Drupal của chúng tôi mô tả hình dạng công việc đó chi tiết hơn.

Các ngưỡng phụ thuộc mới

Nhánh lớn là nơi Drupal được phép nâng yêu cầu nền tảng, và Drupal 12 dùng quyền đó trên toàn tuyến. Đây là phần bạn không mặc cả được, vì chúng bị ép ngay lúc cài đặt.

PHP 8.5, và không gì cũ hơn

Drupal 12 đòi PHP 8.5. Bảng yêu cầu PHP cho thấy Drupal 12.0 hỗ trợ PHP 8.5 và từ chối mọi bản thấp hơn, trong khi Drupal 11.3 và 11.4 chấp nhận 8.3, 8.4 và 8.5. Phần chồng lấn đó chính là lối đi của bạn: chuyển site sang PHP 8.5 khi còn ở Drupal 11.4, xác nhận nó chạy đúng, rồi mới đổi Drupal.

Ngưỡng này rộng rãi chứ không khắc nghiệt. PHP 8.5 ra ngày 20 tháng 11 năm 2025, và trang các phiên bản được hỗ trợ của php.net đặt hỗ trợ chủ động tới ngày 31 tháng 12 năm 2027 và hỗ trợ bảo mật tới ngày 31 tháng 12 năm 2029. Hạ cánh lên đó mua cho bạn ba năm trước khi phải bàn lại chuyện này.

Cơ sở dữ liệu và Symfony

Yêu cầu máy chủ cơ sở dữ liệu của Drupal 12 là MySQL 8.0 trở lên, MariaDB 10.11 trở lên, PostgreSQL 18 trở lên, và SQLite 3.45 kèm phần mở rộng json1. Site dùng PostgreSQL nên coi ngưỡng này là thứ cần kiểm tra kỹ nhất, vì ghi chú phát hành alpha1 viết PostgreSQL 19 trong khi trang yêu cầu lẫn mã trình cài đặt đều viết 18. Hãy kiểm lại ở beta1 trước khi đặt lịch công việc cơ sở dữ liệu.

Bên dưới, Symfony đi từ 7.4 lên 8.1 và Guzzle từ 7 lên 8. Hỗ trợ bị bỏ cho vài nhánh lớn thư viện cũ, gồm doctrine/lexer 2, egulias/email-validator 3 và guzzlehttp/psr7 2. Mã tùy chỉnh khai báo kiểu trực tiếp cho lớp Symfony là chỗ chuyện này lộ ra.

Các ngưỡng ép gì lên hosting của bạn

Cú nhảy MariaDB mới là thứ làm khó hosting chia sẻ và hosting quản trị. Drupal 11 chấp nhận MariaDB 10.6, mà theo chính sách bảo trì của MariaDB thì bảo trì cộng đồng cho bản đó đã kết thúc ngày 6 tháng 7 năm 2026, nên một site Drupal 11 hiện hoàn toàn có thể ngồi hợp lệ trên một engine cơ sở dữ liệu hết hỗ trợ. Drupal 12 nâng ngưỡng lên 10.11, bản được bảo trì tới ngày 16 tháng 2 năm 2028. Nếu nhà cung cấp hosting hôm nay chưa có PHP 8.5 và MariaDB 10.11 thì việc chuyển hosting phải xảy ra trước việc chuyển Drupal, và chính sự đảo thứ tự đó biến việc hai tuần thành việc hai tháng. Bài của chúng tôi về thứ thực sự chạy tốt Drupal bàn phía nền tảng.

Vì sao mô hình lỗi thời khiến Drupal 12 dễ trị

Đây là cơ chế mà hầu hết chủ site chưa từng được giải thích, và nó là lý do các nhánh lớn Drupal không còn đáng sợ. Chính sách nâng cấp liên tục giữa các nhánh lớn buộc nhân giữ một lời hứa đơn giản: nhánh lớn kế tiếp có cùng API công khai với bản nhỏ cuối cùng của nhánh lớn trước. API mới được thêm ở các bản nhỏ, API cũ bị đánh dấu lỗi thời ở các bản nhỏ, và việc xóa chỉ xảy ra ở ranh giới nhánh lớn.

Hệ quả thực dụng đáng nói bằng lời phẳng. Nếu mã tùy chỉnh và mô đun đóng góp của bạn chạy trên Drupal 11.5 mà không có cảnh báo lỗi thời, chúng chạy trên Drupal 12. Nâng cấp thôi là viết lại và trở thành một lần nâng phụ thuộc cộng một lần cập nhật cơ sở dữ liệu, vì mọi thứ lẽ ra sẽ vỡ đều đã được báo cho bạn từ nhiều tháng trước dưới dạng cảnh báo có thể sửa thong thả.

Đây cũng là lý do ghi chú phát hành bảo bạn lên 11.4 trở lên trước, và khuyến nghị mạnh 11.5. Đường cập nhật cơ sở dữ liệu từ các bản trước 11.4.0 đã bị gỡ hẳn khỏi Drupal 12, nên một site trên 11.3 hoặc cũ hơn không có lối vào 12 cho tới khi nó đi lên trong nhánh 11 trước. Đó không phải lời khuyên, đó là một đường mã không tồn tại.

Những công cụ báo cáo mã lỗi thời

Có hai dự án làm việc này và cả hai đều đang được bảo trì. Upgrade Status là trình quét toàn site. Bạn cài nó trên site sắp nâng cấp đi, chứ không phải site nâng cấp đến, vì các API lỗi thời phải còn tồn tại thì nó mới tìm được lời gọi tới chúng. Nó kiểm tra môi trường của bạn có đạt yêu cầu hệ thống của nhánh lớn kế tiếp không, đối chiếu các dự án đóng góp với bản cập nhật sẵn có, chạy PHPStan để tìm chỗ dùng API PHP lỗi thời, và đọc các mẫu Twig, tệp info.yml, composer.json cùng những khóa cấu hình lỗi thời. Bản 5.0.0-alpha3 ra ngày 2 tháng 7 năm 2026 khai báo tương thích Drupal 10.4, 11 và 12.

Nó còn phân loại thứ tìm được, và đó là phần tiết kiệm tiền. Các vấn đề được xếp thành nhóm máy sửa được và nhóm người phải sửa, nên bạn định giá được nửa thủ công trước khi cam kết một ngày cụ thể. Nó chạy dưới Drush bằng lệnh upgrade_status:analyze, và đầu ra JSON theo định dạng Code Climate cắm được vào GitLab CI.

Drupal Rector là nửa còn lại. Nó viết lại những chỗ lỗi thời sửa được bằng máy trong mô đun và giao diện tùy chỉnh của bạn, với cờ --dry-run để xem trước khác biệt. Phiên bản 1.1.2 ra ngày 7 tháng 8 năm 2026. Kết hợp hai thứ, một lập trình viên có nghề dựng được báo cáo sẵn sàng thuyết phục cho một site cỡ vừa trong hai tới ba ngày.

Lộ trình một, từ Drupal 11 lên Drupal 12

Nếu bạn đang ở Drupal 11.4 hoặc 11.5 với các mô đun đóng góp còn mới, đây là việc nhỏ. Hướng dẫn nâng cấp chính thức hầu như chỉ là lệnh Composer: khai báo các gói meta phiên bản 12 với --no-update, bỏ mọi yêu cầu drupal/core viết tường minh, chạy composer update --dry-run, rồi chạy thật và áp cập nhật cơ sở dữ liệu bằng drush updatedb.

Việc thật nằm ở hai đầu. Trước đó, hãy chạy Upgrade Status, thêm bản đóng góp thay thế cho mọi phần mở rộng nhân bị gỡ mà bạn thực sự dùng, và xác nhận hosting có PHP 8.5. Sau đó, hãy lường trước rằng mọi tệp scaffold của nhân đều đổi, kể cả .htaccess, nên mọi tùy biến bạn từng làm phải được áp lại một cách có ý thức chứ không phải hợp nhất mù.

Khi một phụ thuộc từ chối giải, lệnh composer why-not drupal/core ^12 sẽ gọi tên thứ đang chặn. Cho phép hai nhánh lớn của một mô đun trong composer.json, ví dụ "^6.1 || ^7.0", là cách chuẩn để bắc cầu cho một dự án đang chuyển tiếp. Nếu bạn cần một mô đun có bản vá chạy được nhưng chưa có bản gắn thẻ, điểm cuối Drupal Lenient Composer tồn tại đúng cho việc đó và vẫn đang được bảo trì.

Lộ trình hai, từ Drupal 10 lên Drupal 12 là hai chặng

Không có đường nâng cấp thẳng từ Drupal 10 lên Drupal 12. Tài liệu Upgrade Status nói rõ như vậy, và việc gỡ đường cập nhật cơ sở dữ liệu trước 11.4 là thứ ép điều đó. Bạn đi từ Drupal 10.6 lên Drupal 11.4 hoặc 11.5, kiểm chứng site, rồi từ đó đi lên Drupal 12.

Lên kế hoạch tử tế thì đây không phải gấp đôi công việc. Chặng Drupal 10 lên Drupal 11 gánh gần như toàn bộ rủi ro, vì đó là nơi các vấn đề tương thích mô đun đóng góp trú ngụ và là nơi mã tùy chỉnh gặp những API đã bị gỡ. Chặng thứ hai là việc nhỏ mô tả ở trên. Đội nào cố nén cả hai vào một cửa sổ thay đổi thường kết thúc bằng việc không phân biệt nổi chặng nào làm hỏng cái gì.

Trình tự chạy được là làm chặng Drupal 11 ngay bây giờ, để site chạy trên 11.4 hoặc 11.5 vài tuần cho hành vi biên tập và lưu lượng thật lộ ra những chỗ lạ, rồi lấy Drupal 12 sang năm mới khi các mô đun đóng góp đã gắn thẻ bản ổn định cho nó. Làm xong chặng đầu trước tháng 12 mới là điều quan trọng, vì đó là chặng đưa bạn ra khỏi mã hết hỗ trợ.

Lộ trình ba, Drupal 7 hoặc 8 là dựng lại chứ không phải nâng cấp

Mọi thứ cũ hơn Drupal 9 là bài toán khác. Drupal 7 hết vòng đời ngày 5 tháng 1 năm 2025 và Drupal 6 vào tháng 2 năm 2016. Không bản nào nâng cấp tại chỗ được, vì chúng có trước kiến trúc hiện đại. Chúng được di chuyển, tức dựng một site mới trên Drupal hiện hành rồi chuyển nội dung vào bằng Migrate API. Site Drupal 8 về kỹ thuật có đường tại chỗ, nhưng đường đó chạy qua bốn nhánh lớn liên tiếp và mọi mô đun đóng góp phải sống sót qua từng nhánh, nên thường rẻ hơn nếu coi nó cũng là dựng lại.

Chi phí bị chi phối bởi mọi thứ không phải nội dung. Giao diện được dựng lại, mô đun tùy chỉnh được viết lại trên một API hoàn toàn khác, các tích hợp được nối lại. Theo kinh nghiệm của chúng tôi, bản thân việc di chuyển nội dung thường là nửa nhỏ hơn của ngân sách, ngược hẳn với hình dung của phần lớn chủ site khi hỏi báo giá, và đó là lý do chúng tôi định phạm vi các dự án này là phát triển website chứ không phải nâng cấp.

Với những site này, hạn chót tháng 12 tác động theo cách khác nhưng vẫn cắn, vì Migrate Drupal bị gỡ. Đích của bạn phải là Drupal 11 chứ không phải Drupal 12, và theo chính tài liệu drupal.org thì Drupal 11 được hỗ trợ tới khoảng giữa hoặc cuối năm 2028. Điều đó cho chủ site Drupal 7 một cửa sổ thật, nhưng là cửa sổ có điểm kết cứng, và khởi động một dự án dựng lại sáu tháng vào năm 2028 để kịp mốc năm 2028 thì không phải kế hoạch.

Mỗi lộ trình tốn bao nhiêu tại Anh

Đây là ước lượng nội bộ từ công việc chúng tôi giao, không phải bảng giá công bố, và độ rộng mỗi khoảng gần như do sức khỏe mô đun đóng góp quyết định chứ không phải quy mô site. Agency tại Anh tính khoảng 600 đến 900 bảng mỗi ngày cho việc này. Nâng cấp Drupal 11 lên 12 trên site được chăm sóc mất ba đến tám ngày kể cả kiểm thử, rơi vào khoảng 2.000 đến 6.000 bảng. Cũng site đó nhưng mô đun đóng góp đã cũ thì tính hai đến bốn tuần và 6.000 đến 12.000 bảng.

Site Drupal 10 trả tiền cho cả hai chặng. Chăm sóc tốt thì chặng Drupal 10 lên 11 là 6.000 đến 15.000 bảng, chặng Drupal 12 thêm 2.000 đến 6.000 bảng, tức tổng 8.000 đến 21.000 bảng trong bốn đến tám tuần. Bị bỏ bê thì riêng chặng đầu đã 15.000 đến 35.000 bảng, tổng rơi vào 17.000 đến 41.000 bảng. Dựng lại site Drupal 7 mất ba đến sáu tháng và thường là 40.000 đến 120.000 bảng, cao hơn với site lớn hoặc tùy biến nhiều.

Điểm xuất phátCông sức thực tếKhoảng giá nội bộ
Drupal 11.4 hoặc 11.5, được chăm sóc3 đến 8 ngày2.000 đến 6.000 bảng
Drupal 11.x, mô đun đóng góp cũ2 đến 4 tuần6.000 đến 12.000 bảng
Drupal 10, chăm sóc tốt4 đến 8 tuần, hai chặng8.000 đến 21.000 bảng
Drupal 10, bỏ bê8 đến 14 tuần, hai chặng17.000 đến 41.000 bảng
Drupal 7 hoặc 83 đến 6 tháng40.000 đến 120.000 bảng

Bản kiểm kê mô đun đóng góp quyết định ngày của bạn

Dự án nâng cấp hiếm khi chết vì nhân. Chúng chết ở mô đun thứ mười bốn trong danh sách, cái mà không ai nhớ đã cài, không có bản nào tương thích nhánh lớn kế tiếp, và người bảo trì bình luận lần cuối vào năm 2023. Hãy làm bản kiểm kê này trước khi bạn cam kết một ngày, vì chính nó sinh ra cái ngày đó.

Chạy Upgrade Status và xuất báo cáo, rồi xếp các mô đun vào bốn giỏ. Giỏ một là dự án đã có bản ổn định hỗ trợ nhánh lớn đích, chúng không tốn gì. Giỏ hai là dự án có bản vá hoặc bản phát triển trong hàng đợi vấn đề, tốn ít công tích hợp và mang rủi ro bản vá không bao giờ được nhận. Giỏ ba là dự án có vấn đề đang mở mà chưa có bản vá, cần ai đó viết. Giỏ bốn là dự án không có hoạt động nào.

Giỏ bốn định ra tiến độ của bạn, và kích thước của nó biết được ngay hôm nay chứ không phải vào tháng 11. Một site có ba mươi mô đun đóng góp mà giỏ bốn rỗng là một việc suôn sẻ. Cũng site đó với bốn mô đun trong giỏ bốn là một hợp đồng khác với ngân sách khác, và khoảng cách giữa hai báo giá ấy chỉ đáng một ngày quét.

Làm gì với một mô đun đã bị bỏ rơi

Có bốn lựa chọn trung thực và lựa chọn đúng tùy thuộc mô đun đó làm gì. Gỡ bỏ, nếu tính năng nó cung cấp không còn được dùng, điều này đúng thường xuyên hơn các đội nghĩ sau vài năm nội dung trôi hướng. Thay bằng một dự án còn được bảo trì làm cùng việc, chấp nhận phần di chuyển cấu hình đi kèm.

Nhận bảo trì, đây là lựa chọn thật trong Drupal và không đáng ngại như nghe qua. Drupal.org có quy trình thành văn để trở thành người bảo trì một dự án không còn ai hỗ trợ, và với một mô đun nhỏ mà doanh nghiệp bạn phụ thuộc vào, nhận nuôi có thể rẻ hơn thay thế. Chi phí là liên tục chứ không phải một lần, nên hãy tính nó cho sòng phẳng.

Hoặc viết lại hành vi đó trong một mô đun tùy chỉnh gói gọn đúng phần bạn thực sự dùng. Một mô đun đóng góp giải bài toán tổng quát cho tất cả mọi người, trong khi bạn thường chỉ cần một lát hẹp của nó. Dựng lại lát đó trên API hiện hành hay là việc hai ngày so với hai tuần chuyển đổi, và nó gỡ bỏ phụ thuộc vĩnh viễn. Hướng dẫn của chúng tôi về thuê lập trình viên Drupal bàn cách thẩm định đúng loại phán đoán này.

Tiến độ tính ngược từ ngày 9 tháng 12 năm 2026

Bắt đầu từ ngày cuối thì kế hoạch tự viết ra. Tới cuối tháng 9, hãy chạy Upgrade Status nhắm Drupal 12 trên một bản sao của môi trường sản xuất và đưa bốn cái giỏ lên giấy. Đó là việc hai tới ba ngày và là hiện vật duy nhất cho phép bạn định giá mọi thứ còn lại một cách trung thực.

Tới giữa tháng 10, hãy xác nhận hosting đáp ứng được PHP 8.5 và các ngưỡng cơ sở dữ liệu, và bắt đầu chuyển nếu không. Cũng hãy chốt các câu hỏi về mô đun đóng góp, vì cái nào cũng có thời gian chờ. Tới đầu tháng 11, một site Drupal 10 cần hoàn tất nâng cấp lên Drupal 11.4 hoặc 11.5, với site chạy nhánh mới trên môi trường sản xuất.

Tới đầu tháng 12, bạn đang quan sát bản 12.0.0 chứ không phải phản ứng với nó. Nếu lúc đó bạn ở Drupal 11, hãy lấy Drupal 12 vào tháng 1 hoặc tháng 2 năm 2027, sau khi các dự án đóng góp đã gắn thẻ bản ổn định cho nó. Không có giải thưởng nào cho việc nâng cấp ngay tuần phát hành, và Drupal 11.5 khi ấy vẫn được hỗ trợ. Giải thưởng dành cho việc không còn ở trên Drupal 10 khi khuyến cáo dừng lại.

Không làm gì thì tốn bao nhiêu

Chi phí trực tiếp là mọi lỗ hổng nhân Drupal công bố sau ngày 9 tháng 12 năm 2026 sẽ nằm mở vĩnh viễn trên site bạn. Lịch sử khuyến cáo của Drupal có những lỗi thực thi mã từ xa nghiêm trọng tới mức bị khai thác trong vài giờ sau khi công bố, và một CMS chưa vá trên IP công cộng bị tìm thấy bởi máy quét tự động, không phải bởi một kẻ tấn công chọn đích danh bạn.

Chi phí gián tiếp đến sớm hơn và thường lớn hơn. Trượt kiểm soát phần mềm được hỗ trợ trong một kỳ đánh giá Cyber Essentials có thể ảnh hưởng tới tư cách tham gia những hợp đồng đòi chứng nhận đó, điều rất phổ biến trong mua sắm công tại Anh. Các mô đun đóng góp ngừng phát hành bản sửa cho nhánh của bạn. Và bản thân việc nâng cấp mỗi tháng lại đắt thêm, vì khoảng cách giữa mã của bạn và hệ sinh thái còn bảo trì cứ rộng ra dù không ai động vào gì.

Còn một chi phí lặng lẽ hơn. Một site không ai được phép nâng cấp thường trở thành một site không ai được phép thay đổi, và việc phát triển tính năng dừng lại, vì mọi thay đổi đều phải dựng trên một API sắp biến mất. Đó là cách một site Drupal năm tuổi biến thành một dự án dựng lại thay vì một lần nâng cấp. Nếu bạn đang cân nhắc quyết định đó, hướng dẫn phát triển Drupal của chúng tôi là điểm khởi đầu tốt hơn một bản báo giá.

Hai lý do chính đáng để chờ

Chờ là có lý trong hai tình huống, và chỉ khi bạn chờ một cách chủ ý. Thứ nhất là bạn đã ở Drupal 11.4 hoặc 11.5. Những nhánh đó còn được hỗ trợ, chúng là bệ phóng được chỉ định cho Drupal 12, và không có lợi thế nào khi lấy một nhánh lớn mới toanh trong vài tuần đầu lúc các dự án đóng góp còn đang gắn thẻ. Chờ tới quý một năm 2027 là lựa chọn chuyên nghiệp chứ không phải lười biếng.

Thứ hai là một site Drupal 7 đã có dự án dựng lại được cấp ngân sách và lên lịch. Di chuyển Drupal 7 vào Drupal 11 rồi ngay lập tức vào Drupal 12 là động tác thừa. Hãy hạ cánh lên Drupal 11, chạy nó, và lấy Drupal 12 sau như một việc bảo trì thông thường.

Thứ không bào chữa được là ngồi trên Drupal 10 mà chưa có kế hoạch đã đặt. Nếu đó là bạn, vị thế tối thiểu chấp nhận được vào cuối tháng 9 gồm một báo cáo quét, một nhánh đích có tên, và một ngày trên lịch. Mọi thứ khác đều xê dịch được. Nếu bạn muốn bản đánh giá đó do người từng làm thực hiện, đội phát triển phần mềm của chúng tôi nhận kiểm toán phiên bản như một gói việc phạm vi cố định.

Bắt đầu từ đâu

Hãy quét trước đã. Gần như mọi báo giá nâng cấp Drupal tồi trên đời đều được lập mà không có bản quét, và đó là lý do rất nhiều báo giá sai ở cả hai chiều. Hai tới ba ngày đọc kết quả của Upgrade Status và Drupal Rector cho bạn biết mình thực sự nằm ở khoảng nào trong năm khoảng chi phí phía trên, và riêng con số đó thay đổi cuộc trò chuyện với ban lãnh đạo nhiều hơn mọi lời khuyên chung chung về nhánh lớn.

Mecanik làm các cuộc kiểm toán đó và làm cả phần nâng cấp theo sau, trên site Drupal 10 đang đối mặt tháng 12 lẫn site Drupal 11 muốn chuyển thong thả trong năm 2027. Công việc mô đun tùy chỉnh, tích hợp và dọn dẹp mã lỗi thời thuộc về đội phát triển phần mềm, còn dựng lại hoặc chuyển hosting thuộc về phát triển website. Nếu chuyện này rơi lên bàn bạn vì thế trận bảo mật, hãy bắt đầu với bài về khuyến cáo bảo mật Drupal và rủi ro thật, còn nếu lưu lượng tự nhiên mới là nỗi lo trong lúc đổi phiên bản thì bài thiết lập SEO cho Drupal nói rõ cần bảo vệ những gì.



Câu hỏi thường gặp

Drupal 12 phát hành khi nào và Drupal 10 hết vòng đời khi nào? Drupal 12.0.0 dự kiến ra trong tuần 7 tháng 12 năm 2026, phát hành cùng Drupal 11.5.0, còn Drupal 10 hết vòng đời ngày 9 tháng 12 năm 2026. Cả hai mốc đều được công bố trên lịch phát hành nhân Drupal. Cùng tuần đó, hỗ trợ bảo mật kết thúc cho hai nhánh nhỏ 11.3.x và 10.6.x. Drupal 12.0.0-alpha1 được gắn thẻ ngày 2 tháng 9 năm 2026.

Tôi có thể nâng cấp thẳng từ Drupal 10 lên Drupal 12 không? Không. Đường cập nhật cơ sở dữ liệu từ các bản trước Drupal 11.4.0 đã bị gỡ khỏi Drupal 12, nên một site Drupal 10 phải lên Drupal 11.4 trở lên trước rồi mới lên Drupal 12. Drupal.org khuyến nghị 11.5.0 trở lên trước khi chuyển nhánh lớn. Hãy lên kế hoạch hai chặng, trong đó chặng Drupal 10 lên 11 gánh gần như toàn bộ rủi ro và chi phí.

Yêu cầu hệ thống của Drupal 12 là gì? Drupal 12 đòi PHP 8.5 và bỏ hỗ trợ PHP 8.4 trở về trước. Ngưỡng cơ sở dữ liệu là MySQL 8.0, MariaDB 10.11, PostgreSQL 18 và SQLite 3.45 kèm phần mở rộng json1. Symfony lên 8.1 và Guzzle lên 8.0. Việc chạy Drupal trực tiếp trên Windows trong môi trường sản xuất bị đánh dấu lỗi thời, dù Windows vẫn được hỗ trợ cho phát triển cục bộ.

So với Drupal 11.5 thì Drupal 12 thực sự có gì mới? Gần như không có gì, và đó là chủ ý thiết kế. Ghi chú phát hành alpha1 nêu rằng 12.0.x gần như giống hệt 11.5.x ngoài việc gỡ mã lỗi thời, nâng nhánh lớn của các thư viện phụ thuộc và nâng yêu cầu hệ thống. Các thay đổi hành vi đáng chú ý là argon2id làm thuật toán băm mật khẩu mặc định, HTMX lên phiên bản 4, và robots.txt trong nhân chặn trang kết quả tìm kiếm có tham số truy vấn.

Nâng cấp lên Drupal 12 tốn bao nhiêu tại Anh? Trên một site Drupal 11 được chăm sóc, mất ba đến tám ngày với đơn giá agency Anh thường thấy là 600 đến 900 bảng mỗi ngày, tức khoảng 2.000 đến 6.000 bảng. Site Drupal 10 trả tiền cho cả hai chặng, rơi vào 8.000 đến 21.000 bảng khi được chăm sóc tốt và 17.000 đến 41.000 bảng khi bị bỏ bê. Dựng lại một site Drupal 7 mất ba đến sáu tháng và thường là 40.000 đến 120.000 bảng. Đây là ước lượng nội bộ, không phải bảng giá công bố.