NoEmStilOK CMS - hệ thống cho website không cần cơ sở dữ liệu

NoEmStilOK CMS

Những gì nơi khác phải giải quyết bằng plugin thì ở đây đã có sẵn

NoEmStilOK là hệ thống mà website sống trong đó — thứ bạn dùng để sửa nội dung, thêm trang và đăng ảnh. Nó không phải một website hoàn chỉnh: thiết kế, cấu trúc và nội dung được làm riêng. Tôi viết nó từ đầu: mỗi trang là một tệp bình thường trên máy chủ, nên sao lưu chỉ là chép một thư mục, hosting rẻ, và nội dung bạn có thể mang tới bất kỳ lập trình viên nào.

Không cần cơ sở dữ liệu Đa ngôn ngữ Bộ nhớ đệm tĩnh Ngoài tầm các đợt tấn công hàng loạt

Chính trang bạn đang đọc chạy trên NoEmStilOK, với ba ngôn ngữ và hai hệ chữ viết.

Bảng quản trị NoEmStilOK CMS — chỉnh sửa nội dung trang trong trình duyệt

Một quyết định quyết định mọi thứ còn lại

Gần như mọi CMS đều lưu nội dung của bạn trong cơ sở dữ liệu. NoEmStilOK lưu nó thành tệp, và ghi thông tin của trang — tiêu đề, mô tả, ngày tháng, thứ tự trong menu — vào chính tệp đó. Nghe như chuyện nhỏ, nhưng nó thay đổi tất cả.

Sao lưu là chép một thư mục

Không xuất, không nhập cơ sở dữ liệu, không có chuyện „trên máy chủ cũ thì chạy". Chuyển website sang nơi khác chỉ là chuyển tệp.

Không có bản cập nhật làm sập website

Không có hàng chục plugin tự cập nhật rồi kéo website đi theo. Cái gì chạy hôm nay thì sang năm vẫn chạy, cho tới khi có người cố ý thay đổi nó.

Hosting rẻ và thông thường

Chỉ cần hosting PHP bình thường. Không thuê cơ sở dữ liệu, không cần máy chủ riêng và không có dịch vụ nào chạy ngầm.

Nội dung đọc được cả khi không có CMS

Các trang là HTML thuần. Mở được trong bất kỳ trình soạn thảo nào và lập trình viên nào cũng hiểu — bạn không bị buộc vào CMS, cũng không bị buộc vào tôi.

Các đợt tấn công nhắm vào những gì ai cũng biết

Phần lớn các cuộc tấn công vào website nhỏ và vừa không nhắm riêng vào bạn. Đó là những chương trình tự động cả ngày gõ cửa cùng một chỗ: địa chỉ đăng nhập của các nền tảng phổ biến nhất, các plugin quen thuộc và những lỗ hổng đã được công bố của chúng. Website sập không phải vì ai đó chọn đúng bạn, mà vì nó dùng thứ đang bị tấn công hàng loạt.

Không có địa chỉ đăng nhập quen thuộc

Chương trình tự động tìm những địa chỉ tồn tại trên hàng triệu website. NoEmStilOK không có địa chỉ như vậy, nên các lượt truy cập đó rơi vào một trang không tồn tại.

Không có plugin của người khác

Mọi thứ website làm đều do tôi viết. Không có plugin nào bị bán lại, bị bỏ rơi hay bị chuyển cho chủ sở hữu lạ — mà đó chính là con đường vào bên trong phổ biến nhất hiện nay.

Không có danh sách lỗ hổng theo phiên bản

Với các nền tảng phổ biến có những danh sách công khai: phiên bản này của plugin kia có lỗ hổng này. Với NoEmStilOK không có danh sách như vậy, vì chỉ khách hàng của tôi dùng nó.

Không có cơ sở dữ liệu để nhắm vào

Cả một họ tấn công nhắm vào cơ sở dữ liệu. Ở đây không có cơ sở dữ liệu, nên cũng không có lối vào đó, và không có mật khẩu của nó để mà rò rỉ.

Nói cho công bằng: ít người biết đến không có nghĩa là không thể xâm nhập, và không website nào là bất khả xâm phạm. Nhưng những đợt tấn công đánh sập website hàng loạt đều nhắm vào cái đã biết trước — và ở đó NoEmStilOK đơn giản là không có trong danh sách. Thêm nữa, đăng nhập vào phần quản trị là một cửa duy nhất mà mọi thứ phải đi qua, và mỗi lần sửa đều để lại bản sao của phiên bản trước, nên ngay cả ngày tệ nhất vẫn có đường lùi.

Tốc độ không phải một tùy chọn, mà là hệ quả

Khi một trang đã được dựng xong, NoEmStilOK lưu nó lại thành tệp hoàn chỉnh. Người truy cập tiếp theo nhận trang đó thẳng từ máy chủ — không chạy chương trình, không tra cơ sở dữ liệu. Đó là tốc độ của trang tĩnh, còn bạn vẫn sửa nội dung bằng vài cú nhấp chuột.

Khi bạn sửa gì đó, bộ nhớ đệm không bị xóa toàn bộ: chỉ trang đó, trang cha của nó và trang chủ được làm mới. Phần còn lại của website vẫn nhanh.

  • Ảnh WebP được tạo tự động khi tải lên, và chỉ gửi tới những trình duyệt hỗ trợ chúng.
  • Nhiều kích thước cho mỗi ảnh — điện thoại nhận bản nhỏ, màn hình lớn nhận bản lớn, kèm kích thước ghi sẵn để nội dung không bị nhảy khi tải.
  • Ảnh đầu tiên trong bài được ưu tiên tải, vì chính nó quyết định lúc nào người đọc nhìn thấy trang.
  • Trang không thay đổi thì không gửi lại hai lần — trình duyệt nhận câu trả lời rằng bản nó đang có vẫn còn dùng được.

SEO nằm sẵn bên trong, không phải plugin phải mua

Ở phần lớn các CMS, đây là những plugin phải tìm, phải trả tiền và phải bảo trì. Ở đây chúng là một phần của chính hệ thống và chạy mà không cần bạn làm gì.

  • Sơ đồ website tự viết lại mỗi khi tạo, sửa, đổi tên hay xóa một trang — kèm đúng ngày sửa cuối cùng.
  • Trang chưa hoàn thành không được báo cho Google. Bản nháp nằm ngoài sơ đồ website cho tới khi bạn xuất bản nó.
  • Tiêu đề và mô tả cho kết quả tìm kiếm được nhập kèm bộ đếm ký tự, để không bị cắt trong kết quả.
  • Dữ liệu có cấu trúc cho công cụ tìm kiếm (schema.org) được tạo tự động, với loại trang do bạn chọn.
  • Đường dẫn tới trang hiển thị cho cả người đọc lẫn công cụ tìm kiếm, với đánh dấu mà Google hiểu.
  • Liên kết giữa các phiên bản ngôn ngữ được khai báo tự động, nên Google biết đó là cùng một trang ở các ngôn ngữ khác nhau.

Nhiều ngôn ngữ và cả hai hệ chữ, không cần plugin

Trong NoEmStilOK, ngôn ngữ không phải một tùy chọn mà là một thư mục riêng với nội dung của nó. Thêm ngôn ngữ nghĩa là thêm thư mục — không phải sửa lại gì trên website đang chạy.

Mỗi ngôn ngữ có địa chỉ riêng bằng chính ngôn ngữ đó, kể cả địa chỉ viết trọn bằng chữ Kirin. Khi người đọc đổi ngôn ngữ, họ ở lại đúng trang đang xem — chứ không bị đưa về trang chủ như trên phần lớn website đa ngôn ngữ.

Cùng một trang, bốn địa chỉ:

  • /usluga-programiranja/izrada-sajta
  • /услуга-програмирања/прављење-веб-сајтова
  • /programming-services/web-development
  • /dich-vu-lap-trinh

Bảng quản trị: bạn tự sửa mọi thứ, ngay trong trình duyệt

Toàn bộ phần quản trị là một màn hình duy nhất, chỉ mở ra sau khi đăng nhập. Không có chương trình riêng, không FTP, không cài gì lên máy của bạn.

Phần Bạn làm gì trong đó
Nội dung Chữ, ảnh, bảng và liên kết, như trong một trình soạn thảo văn bản thông thường. Nội dung dán từ nơi khác được tự dọn dẹp.
Trang Tạo trang mới, đổi tên, xóa, thứ tự trong menu và trang cha — menu cùng đường dẫn tự sắp xếp theo đó.
Xuất bản Bản nháp hay đã xuất bản, ngày xuất bản, loại trang khỏi tìm kiếm Google, bật bình luận.
Tệp Tải lên và xóa ảnh, tài liệu — kèm hiển thị tệp đang được dùng ở đâu trước khi bạn xóa nó.
Giao diện Băng ảnh trên trang chủ, màu sắc và kiểu dáng, giao diện sáng hoặc tối.
Bản dịch Mọi chữ nằm ngoài nội dung trang — nút bấm, thông báo, tên gọi — cho từng ngôn ngữ riêng.
Địa chỉ và cấu hình Địa chỉ các trang, tài khoản e-mail và cấu hình chung của website, không phải đụng tới máy chủ.

Một cấu hình sai không thể làm sập website: mỗi thay đổi được kiểm tra trước khi lưu, còn phiên bản trước vẫn được giữ, nên mọi bước đều có thể lùi lại.

Khi nào NoEmStilOK là lựa chọn đúng, và khi nào thì không

Tôi không bán nó cho tất cả mọi người. Trên trang về thiết kế website bạn chọn giữa NoEmStilOK và WordPress với giao diện của tôi — cả hai đều là của tôi và tôi hiểu cả hai tới tận mã nguồn, nên tôi không có lý do gì đẩy bạn sang phía sai.

Hãy chọn NoEmStilOK khi

  • bạn muốn một website nhanh, ít hỏng và rẻ khi bảo trì;
  • bạn đã chán cảnh website sập, bị xâm nhập hay phải dọn dẹp;
  • website có nhiều ngôn ngữ hoặc cần cả hai hệ chữ;
  • SEO quan trọng với bạn, nhưng bạn không muốn ngồi chỉnh plugin;
  • bạn muốn nội dung có thể mang đi bất cứ đâu;
  • bạn cần thứ được làm riêng cho mình, chứ không phải giao diện mua sẵn trên mạng.

WordPress hợp hơn khi

  • bạn đã có cộng sự hoặc đội chỉ làm việc trên WordPress;
  • bạn phụ thuộc vào một plugin có sẵn nhất định;
  • bạn muốn tự chọn và đổi giao diện từ thị trường;
  • dự án phải khớp với hệ sinh thái WordPress sẵn có của công ty.

Nó được làm từ gì

Không có lớp ẩn nào và không có hàng chục plugin không rõ nguồn gốc. Toàn bộ hệ thống là PHP do tôi viết, trên những nền tảng đã được kiểm chứng:

Nền tảng

CodeIgniter 3 và PHP 8, không cơ sở dữ liệu và không dịch vụ bên ngoài chạy ngầm.

Giao diện

Bootstrap 5.3, ưu tiên điện thoại trước, có cả giao diện sáng và tối.

Trình soạn thảo

TinyMCE cho văn bản và CodeMirror cho mã, cả hai chạy trên máy chủ của bạn — không có gì được gửi ra ngoài.

Máy chủ cần những gì

PHP 8 trở lên, Apache có mod_rewrite, GD hoặc Imagick để xử lý ảnh, và cURL. Không cần cơ sở dữ liệu. Nếu bạn không chắc hosting của mình có gì, hãy gửi cho tôi tên gói và tôi sẽ kiểm tra.

Mua mã nguồn

Nếu bạn có lập trình viên riêng hoặc bạn là một agency, bạn không cần đặt dịch vụ thiết kế website để dùng NoEmStilOK. Mã nguồn được bán riêng, giá cố định và không thuê bao. Thứ bạn mua là phần mềm, không phải website: sau khi mua, bạn có một CMS mà ai đó cần cài lên máy chủ, và website mới được dựng trong đó.

Khi mua, bạn nhận toàn bộ mã nguồn của CMS và quyền dùng nó trên một tên miền. Mã nguồn là của bạn để sửa và điều chỉnh tùy ý; thứ không đi kèm là quyền bán lại hay chuyển giao cho bên thứ ba.

Những gì không nằm trong giá mã nguồn

  • Cài đặt lên máy chủ, đưa vào vận hành và chuyển nội dung sẵn có.
  • Dựng chính website: thiết kế, cấu trúc trang và nhập nội dung.
  • Tùy chỉnh và tính năng mới theo yêu cầu.
  • Đào tạo sử dụng bảng quản trị và hỗ trợ sau khi mua.
  • Nâng cấp lên phiên bản CMS mới hơn.
  • Quyền bán lại, chuyển nhượng hay công bố mã nguồn.

Mọi việc trong danh sách tôi đều có thể làm, nhưng được thỏa thuận và tính phí riêng.

Toàn bộ mã nguồn của CMS, với giấy phép cho một tên miền.

$119 / 12.000 RSD

Tôi cam kết những gì

  • Bàn giao tệp nén chứa toàn bộ mã nguồn, chậm nhất vào ngày làm việc kế tiếp.
  • Quyền dùng trên một tên miền, không giới hạn thời gian và không thuê bao.
  • Bạn được sửa và điều chỉnh mã nguồn tùy ý.
  • Không có phần ẩn: không có cơ chế nào tắt website và không có thành phần chỉ mình tôi sửa được.
  • Bạn nhận danh sách yêu cầu máy chủ trước khi mua, để biết nó có chạy trên hosting của bạn hay không.

Bạn cần có gì

  • Hosting có PHP 8 trở lên và máy chủ Apache với mô-đun mod_rewrite.
  • GD hoặc Imagick để xử lý ảnh và cURL. Không cần cơ sở dữ liệu.
  • Tên miền mà CMS sẽ chạy trên đó, vì giấy phép áp dụng cho một tên miền.
  • Người biết triển khai ứng dụng PHP, vì cài đặt không nằm trong giá.

Bạn không muốn dính tới mã nguồn mà cần một website hoàn chỉnh? Vậy đường của bạn là thiết kế website — ở đó bạn chọn gói với giá cố định, còn NoEmStilOK đến tay bạn đã được cài đặt, cấu hình và chạy sẵn, với nội dung đã nằm trong đó.

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

Có. Bạn đăng nhập vào website và sửa chữ, ảnh, trang và menu ngay trong trình duyệt mà bạn đang xem website. Việc hướng dẫn rất ngắn, vì không có chương trình riêng nào phải học — bạn sửa trang ngay tại chỗ bạn nhìn thấy nó.

Một thay đổi có thể làm sập trang sẽ không được chấp nhận — hệ thống từ chối nó trước khi lưu. Còn khi thay đổi hợp lệ nhưng bạn không thích, mọi phiên bản trước của trang đều được lưu tự động và khôi phục bằng cách chọn từ danh sách.

Bạn tải thư mục website về và thế là xong — bên trong là nội dung của bạn dưới dạng HTML thuần, ảnh và mã nguồn. Không có cơ sở dữ liệu phải xuất, không có giấy phép phải chuyển và không có định dạng nào chỉ mình tôi đọc được. Lập trình viên PHP nào cũng xoay xở được với nó.

Gần như chắc chắn là có. Nó cần hosting PHP bình thường với máy chủ Apache, và không cần cơ sở dữ liệu — nghĩa là gói rẻ hơn phần lớn CMS khác cũng đủ. Gửi cho tôi tên gói hosting và tôi sẽ kiểm tra trước khi chúng ta thỏa thuận bất cứ điều gì.

Bản thân WordPress không phải được viết tệ — vấn đề là nó phổ biến đến mức bị tấn công tự động, với số lượng lớn, và người ta thường vào được website qua một trong hàng nghìn plugin mà không ai theo dõi kỹ. NoEmStilOK không có plugin của người khác, không có địa chỉ đăng nhập quen thuộc, không có danh sách lỗ hổng công bố theo phiên bản và không có cơ sở dữ liệu. Điều đó không có nghĩa là nó bất khả xâm phạm, mà là các đợt tấn công hàng loạt đơn giản đi vòng qua nó. Tôi vẫn làm cả website trên WordPress khi đó là giải pháp tốt hơn — chỉ cần biết mình đang chấp nhận điều gì.

Bao nhiêu tùy bạn cần. Mỗi ngôn ngữ là một thư mục riêng với nội dung riêng, địa chỉ riêng và tiêu đề tìm kiếm riêng. Chữ Latinh và chữ Kirin được xem là hai hệ chữ của cùng một ngôn ngữ, với địa chỉ viết trọn bằng chữ Kirin nếu bạn muốn.

Có giỏ hàng, tính tiền theo nhiều loại tiền tệ với tỷ giá hằng ngày và thanh toán bằng thẻ, kèm các trang xác nhận bằng mọi ngôn ngữ. Phạm vi cửa hàng được thỏa thuận theo từng dự án — hãy mô tả bạn bán gì để chúng ta xem bạn thật sự cần những gì.

Được. Mã nguồn được bán riêng, với giá cố định và giấy phép cho một tên miền, và dành cho những ai có lập trình viên của mình. Giá chỉ gồm mã nguồn — việc cài lên máy chủ, dựng website, tùy chỉnh và hỗ trợ được thỏa thuận riêng. Nếu bạn muốn một website hoàn chỉnh thay vì mã nguồn, thì đó là thiết kế website.

Tôi viết nó và tôi bảo trì nó. Khi bạn cần thứ chưa có, tôi sửa mã nguồn thay vì đi tìm một plugin làm được gần đúng việc đó — và đó cũng chính là lý do tôi viết nó ngay từ đầu.

Hãy mô tả website của bạn trong hai câu

Hãy nói bạn làm gì, cần bao nhiêu ngôn ngữ và muốn tự sửa những gì. Tôi sẽ quay lại với đề xuất và ước tính — và tôi sẽ nói thẳng nếu tôi thấy NoEmStilOK không phải lựa chọn đúng cho bạn.