I. Sự cần thiết của đề tài:
3.1.2 Hoàn thiện và phát triển phi chức năng:
Thêm logo của công ty
Hiện tại công ty vẫn chưa thiết kế riêng logo và đưa chèn vào website công ty.Tiến hành việc này như sau:
Thứ nhất: dùng file ảnh là *.icon
Bước 1: Trước hết bạn phải có 1 file ảnh có tên là favicon.ico. Bạn có thể dùng phần mềm (Software) trong máy để chuyển đuôi từ *.jpg, *.gif, *.png, .... sang *.ico. Nếu bạn chưa có thì có thể chuyển đi trực tuyến từ trang này:
www.chami .com /html-kit/services/favicon/
Bước 2: Bạn Upload cái file favicon.ico đó lên host, ngang với file index.php Bước 3: Mở Template header chèn cái code bên dưới ở trên đầu cùng hết:
Code:
<link rel="shortcut icon" href="favicon.ico" />
Thứ hai: dùng file ảnh là *.gif
Bước 1: Làm cái file ảnh có tên là favicon.gif
Bước 2: Upload cái file ảnh đó lên host (đường dẫn tùy các bạn)
Bước 3: Mở Template header chèn cái code bên dưới lên trên cùng hết: Code:
<link rel="icon" href="http://đường dẫn/favicon.gif" type="image/gif" >
Tôi đề nghị bộ phận marketing của cơng ty thiết kế logo thật hợp lí và thu hút kết hợp với bộ phận quản trị website đươc logo vào website của cơng ty.
Lợi ích của việc này mang lại là rất to lớn.Logo công ty được coi là “khn mặt” của một cơng ty: đó là những biểu hiện đồ hoạ nhằm thể hiện bản sắc của công ty, thơng qua màu sắc, phơng chữ và hình ảnh, logo cung cấp thông tin cần thiết về một công ty cho phép khách hàng nhận diện được thương hiệu của công ty. Logo cũng là một cách “viết tắt” để đề cập đến công ty trong các tài liệu quảng cáo và tiếp thị, ngoài ra chúng cũng cung cấp một điểm liên kết cho phông chữ, màu sắc và lựa chọn thiết kế khác nhau trong tất cả các tài liệu tiếp thị kinh doanh khác.Việc thêm logo vào banner là việc làm cần thiết để gây ấn tượng cho người truy cập khi tham quan website.
Tăng tốc độ tải cho website
Ảnh hưởng của tốc độ load trang đến khả năng kinh doanh, quảng bá trên website:
Nếu như bạn chưa biết thì theo một nghiên cứu từ Radware , 51 % người dùng mua sắm trực tuyến tại Mỹ tuyên bố nếu tốc độ một trang web là quá chậm họ sẽ không sẽ không muốn mua hàng. Radware cũng phát hiện ra trong một nghiên cứu khác rằng nhu cầu về tốc độ tải tăng theo thời gian.
Ví dụ, trong năm 2010 một trang mất 6s để tải khoảng 40% nội dung. Trong khi năm 2014 là cần hơn 50%.Nghiên cứu cũng cho thấy rằng 47% người dùng web mong đợi một trang web có thời gian tải trung bình 2s. Trong thời gian cao điểm, 75% người dùng sẵn sàng ghé thăm các trang web đối thủ cạnh tranh thay vì ngồi chờ một trang web tải quá chậm.
Trước đây công ty đã chưa thực sự chú ý đến vấn đề này.
Sau đây là một số phương pháp giúp tăng tốc độ tải cho website của công ty: Sử dụng plugin lưu đệm: Đây là plugin quan trọng nhất giúp làm giảm tải cho server và tăng tốc độ website do nó lưu đệm các trang dưới dạng file html và đẩy nhanh trang xuống trình duyệt. Một số plugin phổ biến như WP – Supercache, QuickCache hayW3- TotalCache.
Sử dụng CDN: Amazon Cloudfront là một CDN (Content Delivery Network- Mạng truyền tải nội dung) tuyệt vời giúp người dùng gỡ bỏ được những tài nguyên tĩnh như CSS, javascript và hình nền để giảm tải trên server. Điều này làm cho website trở nên nhanh hơn. MaxCDN cũng là một CDN phổ biến khác mà khi kết hợp với TotalCache nó có thể gửi tồn bộ website tới một hệ thống CDN sử dụng phương pháp nén để đạt tốc độ tải siêu nhanh.
Giảm thanh bên / Chân trang: Trước đây có một vài widget trên thanh bên, hình ảnh… được tải mọi lúc và làm chậm trang nhưng giờ đây chúng đã giảm đi trên thanh bên. Khi nhìn vào hình nền website, ta sẽ tìm thấy nhiều widget khơng thích hợp đang tải mọi lúc do đó làm tăng thời gian tải. Hãy gỡ bỏ chúng để website sáng sủa hơn. Thêm vào đó hãy xây dựng một mơ hình web thích ứng có khả năng tương thích với rất nhiều thiết bị di động.
Gỡ bỏ những widget liên quan: Việc sử dụng plugin YARPP để truyền tải những liên kết liên quan (Related link) ở cuối các bài đăng và widget Outbrain để khởi tạo các hình thu nhỏ (thumbnail) cho các bài đăng liên quan làm tăng thêm thời gian tải trang. Hãy gỡ bỏ Outbrain và chỉ sử dụng YARPP.
Giảm số nút tắt cho mạng xã hội: Plugin Sharebar rất tuyệt vời trong việc tải về các nút chia sẻ mạng xã hội lên thanh bên, nhưng nó bắt tải nhiều script hơn và làm tăng thời gian tải trang. Hãy chỉ giữ lại một số ít nút chia sẻ của những mạng xã hội phổ biến như Facebook, Twitter hay Google +. Mỗi mạng xã hội có nhiều script lớn để tải. Hãy sử dụng AddThis để làm giảm nút. Nhưng, những nút có tính tương tác cũng tải tất cả các script góp thêm vào thời gian tải. Hơn nữa, nếu người dùng quyết định thêm chúng trước và sau bài đăng, nó sẽ giúp chia sẻ được nhiều hơn nhưng cũng làm chậm tốc độ.
Tránh các hệ thống bình luận bổ sung: Hệ thống bình luận tải một lượng script khổng lồ, rất nhiều file và làm tăng thời gian tải. Có một số hệ thống bình luận tuyệt
vời như Disqus, IntenseDebate, WordPress, LiveFyre và Facebook trong đó WordPress sở hữu hệ thống bình luận cho phép tải nhẹ nhất và các hệ thống còn lại gây nhiều tải cho trang hơn.
Tắt chức năng hình đại diện: Hình đại diện có kích cỡ 80x80 xuất hiện bên cạnh tên của người dùng bình luận trên website. Việc được hiển thị ảnh đại diện khuyến khích người dùng web bình luận nhiều hơn nhưng cũng phát sinh vấn đề khi mỗi bình luận lại đi kèm một ảnh như vậy. Chẳng hạn nếu có 100 bình luận cho một bài đăng trên web thì trang web cũng phải tải 100 hình đại diện làm tăng thời gian tải trang. Vì vậy tắt hình đại diện sẽ tăng tốc việc tải các bình luận trên site.
Tải ít bình luận hơn: Hãy chia bình luận thành các trang và khi người đọc muốn xem thêm bình luận họ sẽ ấn vào số thứ tự trang. Việc này hạn chế số bình luận phải tải một lúc đẩy nhanh tốc độ tải trang. Ngoài ra, các thread cũng tải rất nhiều script khi có đáp ứng (response) cho các trả lời (replies). Hãy sử dụng tùy chọn bình luận WordPress (trong Setting > Discussion) để giảm bình luận trang đồng thời cài thêm plugin Akismet nhằm chặn bình luận rác (spam). Tắt bình luận trên những bài đăng cũ hơn cũng giúp giảm bình luận rác.
Để Javascript dưới chân trang, thu nhỏ hay nén lại: Chuyển tất cả javascript tới chân trang để không ảnh hưởng đến tải trang. Một vài ngoại lệ là những script bất đồng bộ hiện đại mà có thể được tải bên cạnh website mà khơng làm chậm tốc độ, ví dụ Google khuyến cáo người dùng tải các tag Analytics HEAD. Người dùng cũng có thể kết hợp javascript và nén chúng lại để tải nhanh hơn. Luôn luôn tải và thu nhỏ CSS. Có rất nhiều plugin cũng có thể thực hiện việc này.
Giảm lượng hình và kích thước hình: Làm giảm kích thước hình như loại bớt màu sắc sẽ giúp tải hình nhanh hơn mặc dù chất lượng hình kém đi. Đồng thời, hãy tải càng ít ảnh lên trang càng tốt. Nhiều plugin được khuyến nghị như Smush- it sử dụng để nén ảnh trên server. Người dùng có thể sử dụng CSS Sprites để kết hợp hình. Hãy nhớ ln ln quy định kích thước cho hình.
Tận dụng chức năng lưu đệm trên trình duyệt: Chỉnh sửa file .htaccess sẽ làm các trình duyệt web hiện đại lưu đệm những tài nguyên tĩnh và truyền tải chúng nhanh hơn. Các trình duyệt sẽ lưu đệm các tài nguyên tĩnh như hình ảnh, javascript, flash, biểu tượng.. trong khoảng thời gian người dùng quy định. Thủ thuật này đặc biệt hiệu quả khi người dùng thường xuyên truy cập vào một số trang web nào đó. Trình duyệt sẽ khơng phải tải lại tồn bộ trang do đó thời gian tải trang giảm xuống.
Nhúng ít video vào trang web: Hiện nay, nhúng video trên Youtube vào các trang web đã trở nên phổ biến. Tuy nhiên, không mấy người dùng biết rằng thời gian tải trang tăng cao nhất với các trang có nhúng video. Vì vậy hãy giảm số lượng video nhúng trên website.
Bật GZIP Compression: Các trình duyệt hiện đại chấp nhận những phiên bản web nén do đó cho phép truyền tải trang tới người dùng nhanh hơn. Hãy thử sử dụng QuickCache cho phép server truyền các trang nén gzip. WP- Supercache có một tùy chọn dễ dàng cho người sử dụng kiểm tra và kích hoạt gzip.
Đề nghị bộ phận quản trị website của cơng ty chú ý giải quyết sớm tình trạng này.
Lợi ích của việc giải quyết vấn đề này mang lại là rất nhiều.Bên cạnh làm cho khách hàng thoải mái, một trang web tải nhanh cũng rất tốt cho kinh doanh. Trong thực tế, chứng minh là “1s chậm trễ có thể mất đến 7% doanh thu” Vì vậy nếu bạn muốn mọi người đến nhiều với trang web của bạn để mua hàng, bạn cần tốc độ tải trang càng nhanh càng tốt. Nếu khơng, mọi người khơng do dự thốt khỏi trang web của bạn để sang trang khác.
Sao lưu nội dung
Để giải quyết vấn đề phát sinh khi máy tính hoặc website bị nhiễm malware,ta cần phải sao lưu nội dung website hàng ngày để giúp tiết kiệm thời gian và công sức giải quyết vấn đề khi trường hợp trên xảy ra.Vinahost đưa ra hướng dẫn để tự cấu hình phiên bản sao lưu của website trên máy chủ của doanh nghiệp hoặc một máy chủ độc lập khác.
Xác định dữ liệu cần sao lưu
Tùy thuộc vào quá trình cài đặt thì file cấu hình của webserver để định nghĩa các hosting nằm ở vị trí khác nhau, đối với 2 chương trình webserver phổ biến nhất trên môi trường Linux là Apache và Nginx thì được lưu ở /etc/http/conf/http.conf và /etc/nginx/conf.d/demo.vinahost.vn.conf (đường dẫn và tên file có thể khơng chính xác, tùy thuộc vào tình huống và cách thức cài đặt) và phần cấu hình website có cấu trúc như sau:
Nếu bạn sử dụng Apache làm webserver thì phần cấu hình mặc định của một hosting (VirtualHost) như sau:
<VirtualHost *:80>
ServerAdmin webmaster@demo.vinahost.vn DocumentRoot /var/www/demo/
ServerName demo.vinahost.vn
ErrorLog logs/demo.vinahost.vn-error_log
</VirtualHost>
Như vậy thư mục chứa mã nguồn của website demo.vinahost.vn là /var/www/demo/
Nếu bạn sử dụng Nginx làm webserver thì phần cấu hình mặc định của một hosting (Server Blocks) như sau:
server {
server_name www.demo.vinahost.vn;
access_log logs/demo.vinahost.vn.access.log main; root /var/www/demo;
}
- Như vậy thư mục chứa mã nguồn của website demo.vinahost.vn là /var/www/demo/
- Đối với database, phổ biến nhất và dễ sử dụng nhất hiện nay là Mysql (www.mysql.com), mặc định toàn bộ database của mysql được lưu trữ ở thư mục /var/lib/mysql hoặc được export ra từ câu lệnh mysqldump
Câu lệnh sao lưu dữ liệu
Để tạo ra bản sao của mã nguồn ta có thể sử dụng lệnh copy hoặc rsync trong mơi trường Linux.
ví dụ: ta sẽ lưu trữ một bản sao lưu của mã nguồn website demo.vinahost.vn trong thư mục /backup/manguon thì câu lệnh tương ứng như sau: cp -ar /var/www/demo /backup/manguon/
Để tạo ra bản sao của database ta có thể sử dụng lệnh mysqldump hoặc mysqlhotcopy (chỉ dùng cho database MyISAM)
Tùy thuộc vào định dạng của database là InnoDB hay MyISAM mà chúng ta có cách thức lưu trữ khác nhau:
InnoDB: database được lưu trữ ở file có đi .ibd tương ứng và ta có thể sử dụng mysqldump theo cú pháp sau: mysqldump -u [uname] -p[pass] [dbname] > backupfile.sql
ví dụ như sau: /usr/bin/mysqldump -u demo_user -pdemo123 demo_db > /backup/database/demo_db.sql
Trong đó:
demo_user: tên user mysql
demo123: mật khẩu của user demo_user, lưu ý viết liền với tùy chọn -p demo_db: tên database cần sao lưu
/backup/database/demo_db.sql: là file database demo_db được export ra thành demo_db.sql và lưu trữ tại thư mục /backup/database
MyISAM: database được lưu trữ ở thư mục có tên tương ứng với tên database, ví dụ database của website demo.vinahost.vn đang sủ dụng là demo_db thì thư mục lưu trữ tương ứng là /var/lib/mysql/demo_db và ta sử dụng mysqlhotcopy để tạo bản sau lưu của thư mục gốc này với cú pháp sau:
mysqlhotcopy -u [uname] -p[pass] db_name [new_db_name | directory].
ví dụ như sau: /usr/bin/mysqlhotcopy -u demo_user -pdemo123 demo_db /backup/database
Trong đó:
demo_user: tên user mysql
demo123: mật khẩu của user demo_user, lưu ý viết liền với tùy chọn -p demo_db: tên database cần sao lưu
/backup/database : là thư mục lưu trữ thư mục database gốc của demo_db, sau khi hoàn tất toàn bộ thư mục gốc của database demo_db sẽ được sao lưu một bản ở thưc mục này.
Chạy sao lưu định kỳ
- Để chạy sao lưu dữ liệu định kỳ ta có thể sử dụng crontab trong mơi trường Linux, trước hết ta cần tạo một script đơn giản để chạy định kỳ ví dụ như sau:
#!/bin/bash
#xóa dữ liệu backup cũ rm -rf /backup/*
#sao lưu mã nguồn website
cp -ar /var/www/demo /backup/manguon/
#sao lưu database website, ví dụ trường hợp này database sử dụng MyISAM /usr/bin/mysqlhotcopy -u demo_user -pdemo123 demo_db /backup/database #in ra màn hình hoặc lưu trữ vào file log kết quả
echo "Backup complete" > /var/log/backup/$today.log
Bạn có thể viết thêm cấu hình vào script tùy theo nhu cầu sử dụng mà bạn mong muốn.
Cài đặt crontab để chạy script này định kỳ vào lúc 0h 0p hàng ngày bằng câu lệnh: crontab -e sau đó chèn nội dung sau
0 0 * * * /root/backup.sh > /dev/null 2>&1 Sao lưu ra một máy chủ khác
Trong ví dụ trên mơ tả cơ bản các bước cấu hình sao lưu mã nguồn một website trên chính máy chủ webserver, tuy nhiên nếu bạn muốn sao lưu ra một máy chủ khác để đảm bảo an toàn hơn tránh trường hợp máy chủ webserver bị lỗi và toàn bộ dữ liệu trên ổ cứng bị mất thì ta có thể dùng câu lệnh rsync.
ví dụ: rsync -ar /backup root@10.0.0.2:/backup trong đó:
/backup là thư mục chứa toàn bộ dữ liệu mã nguồn và database của website cần sao lưu
root là tài khoản dùng cho phiên kết nối này
10.0.0.2:/backup là IP của máy chủ chứa dữ liệu sao lưu và thư mục cần lưu dữ liệu là /backup trên máy chủ này.
Sau đó ta có thể tạo một cronjob để chạy lệnh này hàng ngày vào lúc 0h 0 phút ví dụ:
0 0 * * * rsync -ar /backup root@10.0.0.2:/backup > /dev/null 2>&1 Phục hồi dữ liệu
Đối với mã nguồn bạn chỉ cần copy ngược lại từ thư mục /backup/manguon về thư mục chứa website /var/www/demo và kiểm tra lại owner của các file/folder này.
Đối với database dạng MyISAM bạn cần copy toàn bộ nội dung, files trong thư mục /backup/database/demo_db về thư mục chứa database tương ứng /var/lib/mysql/demo_db và phân lại chủ sở hữu là mysql.mysql bằng câu lệnh sau: chown -R mysql.mysql /var/lib/mysql/demo_db
Đối với database dạng InnoDB bạn cần sử dụng câu lệnh: mysqldump demo_db < /backup/database/demo_db.sql để phục hồi lại database demo_db từ phiên bản sao lưu.
Về vấn đề này,đề nghị công ty liên hệ với Vinahost để sử dụng dịch vụ sao lưu dữ liệu chuyên nghiệp của họ.
Tăng cường bảo mật
Việc bảo mật cho website của cơng ty trước đây cũng có được chú ý nhưng chưa thực sự sâu sắc,đặc biệt với định hướng trở thành website TMĐT thì vấn đề bảo mật chính là một trong những vấn đề đặt lên hàng đầu.
Có rất nhiều cách bảo mật cho máy chủ khác nhau.Tôi xin đưa ra 3 giải pháp như sau:
Bảo mật cho server bằng SSH key
SSH Key là một cách thức đăng nhập vào máy chủ ảo VPS an toàn thay thế cho mật khơng thơng dụng. Việc sử dụng mật khẩu có 2 rủi ro lớn đối vơi người dùng:
-Attacker có thể dụng dụng các phần mềm chuyên dùng dị tìm mật khẩu nhanh chóng