April 19th, 2007 | Posted in
Lập trình Web, Yahoo, SEO/SEM, Google
"Duplicate Content" là một trong những lỗi mà nhiều Webmaster mắc phải khi tiến hành SEO (Search Engine Optimize) cho website của mình. Trước hết, chúng ta tìm hiểu từ đâu có lỗi này.
Với Google hay nhiều trang tìm kiếm khác (SE) thì tên miền example.com và www.example.com là 2 tên miền hoàn toàn riêng biệt. Điều này gây ngạc nhiên với những ai nghĩ chúng vốn là một. Từ đó, rất nhiều vấn đề phát sinh từ sự suy nghĩ khác biệt giữa chúng ta và các trang tìm kiếm. Vấn đề đầu tiên chúng ta gặp là các nỗ lực của chúng ta trong việc SEO sẽ bị chia ra làm 2, một cho example.com và một cho www.example.com. Ví dụ bạn cố gắng liên kết đến 100 trang web nhưng một số trang dùng example.com và một số trang dùng www.example.com. Kết quả là bạn SEO cho 2 tên miền chứ không phải một như mình vẫn nghĩ. Và thay vì bạn có được 100 liên kết thì SE chỉ công nhận một % nào đó chứ không phải tất cả.
Vấn đề nữa mà bạn gặp phải đó là lặp lại thông tin. Các trang web www.example.com và example.com chắc chắn sẽ có cùng nội dung. Nhưng với các trang tìm kiếm thì sẽ có 1 trang bị đánh dấu là sao chép của trang kia bởi chung hoàn toàn riêng biệt nhau đồng nghĩa với việc vị trí xếp hạng của trang web đó sẽ bị đánh tụt xuống.
Vậy, làm sao để tránh? Rất đơn giản, hãy qui tất cả chúng về 1 mối. Hãy thống nhất chọn dùng www.example.com hay example.com để tiếp tục công việc SEO của mình. Sau đó, nếu khách truy cập địa chỉ còn lại thì chuyển khách truy cập đến địa chỉ đã chọn. Như vậy chúng ta chỉ có 1 trang là www.example.com còn trang example.com chỉ đóng vai trò là đường dẫn đến www.example.com và không hề có nội dung
Ví dụ, mình chọn www.example.com làm tên miền chính để quảng bá, thì những vị khách nào truy cập đến example.com sẽ chuyển đến địa chỉ tương ứng ở www.example.com.
CODE:
-
Options +FollowSymLinks
-
RewriteEngine On
-
RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
-
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
April 11th, 2007 | Posted in
PHP, CSS, Thiết kế web
Nếu như ở bài viết trước bạn đã có một lựa chọn cho mình khi sử dụng PHP để làm biểu đồ, thì lần này, bạn sẽ có một lựa chọn khác. Trước hết hãy xem Demo của biểu đồ:

Có rất nhiều kiểu dáng biểu đồ để bạn có thể chọn giúp làm phong phú cho trang web của mình.
April 5th, 2007 | Posted in
CSS
Một điều đau đầu với những người làm việc với CSS đó là việc các trình duyệt (browser) hiển thị website theo cách không hề giống nhau. Điều này là do các định dạng mặc định (default styles) của mỗi browser khác nhau. Vậy, làm sao để hạn chế được thấp nhất các vấn đề có thể nảy sinh với browser khi làm việc với CSS. Có thể, bạn đã có lựa chọn của mình, ở đây sẽ có thêm 1 lựa chọn nữa cho bạn.
Với đoạn mã CSS dưới đây, bạn sẽ loại bỏ được gần như hoàn toàn những định dạng mặc định của các browser.
CSS:
-
/* Normalize padding and margins */
-
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre,
-
form, fieldset, input, p, blockquote, th, td {
-
margin: 0;
-
padding: 0;
-
}
-
-
/* Normalize header sizes */
-
h1, h2, h3, h4, h5, h6 {
-
font-size: 100%;
-
}
-
-
/* Normalize list styles */
-
ol, ul {
-
list-style: none;
-
}
-
-
/* Normalize font style and weight on odd elements */
-
address, caption, cite, code, dfn, em, strong, th, var {
-
font-style: normal;
-
font-weight: normal;
-
}
-
-
/* Normalize table borders */
-
table {
-
border-collapse: collapse;
-
border-spacing: 0;
-
}
-
-
/* Normalize other borders */
-
fieldset, img {
-
border: 0;
-
}
-
-
/* Normalize text-alignment */
-
caption, th {
-
text-align: left;
-
}
-
-
/* Normalize (remove) quotation marks */
-
q:before, q:after {
-
content: '';
-
}
Chú ý: Với đoạn mã trên chỉ giúp bạn tránh được nhiều vấn đề gặp phải với CSS, nhưng không phải tất cả. Vì thế, khi gặp những vấn đề liên quan đến CSS, có lẽ Google là người trợ giúp tốt nhất.
April 3rd, 2007 | Posted in
Lập trình Web, Phần mềm, SEO/SEM
Bạn có bao giờ thấy khó chịu về thời gian tải website của mình quá lâu? Hãy khoan trách nhà cung cấp dịch vụ hosting. Trước hết, hãy thử tối ưu trang web của mình với sbWebOptimizer. Phần mềm sẽ giúp bạn những việc sau:
- Tối ưu CSS bằng cách xóa khoảng trắng trong file CSS.
- Tối ưu CSS với Tidy.
- Tối ưu Javascripts.
- Tối ưu PNG.
Với những công việc mà phần mềm đã làm giúp bạn như trên. Dung lượng trang web của bạn sẽ giảm đáng kể. Từ đó giảm thời gian tải website xuống rất nhiều. Hãy xem qua một chút giao diện của sbWebOptimizer.

April 2nd, 2007 | Posted in
Lập trình Web, Thiết kế web
Khi làm việc công việc của mình. Những nhà phát triển web Việt Nam cũng giống những người khác họ cũng thường mắc phải những sai lầm không đáng có. Đôi khi đó chỉ là sự vô ý, nhưng đôi khi nó thể hiện cho việc yếu kém trong khả năng thiết kế & phát triển của họ. Và 10 điểm sau đây là những sai lầm hay gặp ở các Website Việt Nam.
1. Sử dụng Frame:
Rất nhiều trang web Việt nam sử dụng frame một cách bừa bãi và không khoa học. Như chúng ta đã biết, với frame, chúng ta không thể đánh dấu (bookmark) trang web đó để lần sau có thể trở lại truy cập thông tin đó. Sử dụng frame ở những trang thông tin sẽ “giúp” người truy cập không trở lại trang đó nữa dù rằng nó có thông tin hay đến đâu. Với những trang dùng frame thì cách mà người dùng thường chọn là copy nó vào một chỗ nào đó rồi…. quên trang web đó đi.
2. Lạm dụng Ajax:
Ajax là một công nghệ tuyệt vời của thế hệ web hiện đại. Nó có rất nhiều lợi ích, một trong số đó là giúp người dùng có thể xem thông tin gần như ngay lập tức mà không phải load lại trang web đó. Các webmaster sử dụng Ajax gần như tất cả những chỗ nào mà anh ta cho rằng mình có thể dùng. Ai cũng biết đến lợi ích của Ajax nhưng không phải ai cũng biết cách khắc phục những yếu kém của nó. Những yếu kém đó làm cho người sử dụng cảm thấy mệt mỏi họ sẽ phải mất công hơn bình thường để có thể truy suất các thông tin mình cần trước đó. Và cũng như frame những trang web gây khó khăn cho người dùng như vậy sẽ sớm đi vào quên lãng. Đọc tiếp »
April 2nd, 2007 | Posted in
Google
Google Notebook đã được thay giao diện mới trông đẹp hơn và bố trí khoa học hơn. Giao diện này được "vay mượn" khá nhiều từ Gmail cũng của Google. Vẫn phong cách quen thuộc của Google: đơn giản và hiệu quả. Và đây là giao diện mới của Google Notebook:

So sánh với giao diện cũ của Google Notebook

Hãy thử và cảm nhận giao diện mới của Google Notebook
April 1st, 2007 | Posted in
Lập trình Web, CSS
Việc viết mã CSS cũng giống như bạn lập trình với ngôn ngữ PHP, C#,... tất cả đều cần có một bố cục khoa học, hệ thống để dễ dàng phát triển cũng như kiểm tra phát hiện lỗi (nếu có). Dưới đây là một vài hướng dẫn giúp bạn làm việc với CSS khoa học hơn:
1. Chú thích cho mã CSS:
Chú thích cho mã CSS giúp người khác đọc file CSS sẽ biết thêm những thông tin cần thiết về file CSS nói riêng và về tác giả nói chung. Việc chú thích mã ở những ngôn ngữ khác quan trọng ra sao thì chú thích mã ở CSS cũng quan trọng như vậy. Sau đây là mẫu chú thích một đoạn mã CSS rất tốt;
CSS:
-
/*------------------------
-
Screen Stylesheet
-
version: 1.0
-
date: 01/03/07
-
author: [your email]
-
email: [you at domain dot com]
-
website: [your domain]
-
version history: [location of file]
-
---------------------*/
2. Chia CSS ra thành nhiều phần
Nếu mã CSS của bạn gồm nhiều phần và cho nhiều trang thì bạn nên chia thành nhiều file CSS để dễ quản lí và cũng để giúp cho file CSS của bạn không bị rối. Rất nhiều web developer chưa nhận thức được điều này. Họ gộp tất cả file CSS vào làm một. Và dĩ nhiên, hệ quả là họ mất nhiều thời gian hơn cho việc sửa file CSS của mình.
Chia CSS ra thành nhiều file và sử dụng chúng cùng với CSS chính bằng phương thức sau:
CSS:
-
/* Import other stylesheets
-
---------------------------------------*/
-
@import url("typography.css");
Bên cạnh đó, phân chia ngay chính trong file CSS cũng quan trọng không kém. Hãy gộp chung những phần có cùng 1 đối tượng.
CSS:
-
/* Header
-
---------------------------------------*/
-
/* Navigation
-
---------------------------------------*/
-
/* Footer
-
---------------------------------------*/
-
/* Homepage
-
---------------------------------------*/
-
/* Your template
-
---------------------------------------*/
Xoá các định dạng mặc định
Đây là điều cực kì cần thiết đối với bất kì Web developer nào. Như bạn đã biết thì mỗi trình duyệt (browser) đều hiển thị khác nhau. Phần lớn là do định dạng mặc định ở mỗi browser là khác nhau. Ví dụ sau sẽ giúp bạn xoá định dạng mặc định:
CSS:
-
*{margin: 0;padding: 0;border: 0;}
4. Định dạng các đối tượng cơ bản:
Những đối tượng cơ bản hay được sử dụng như h1, h2, h3, ... form, table, cần phải được định dạng trước tiên khi bạn bắt đầu viết mã CSS. Thói quen này giúp bạn đồng bộ được giao diện của các trang web.[
CSS:
-
/* Forms
-
---------------------------------------*/
-
input.text
-
{
-
padding: 3px;
-
border: 1px solid #999999;
-
}
CSS:
-
/* Tables
-
---------------------------------------*/
-
table
-
{
-
border-spacing: 0;
-
border-collapse: collapse;
-
}
-
-
td
-
{
-
text-align: left;
-
font-weight: normal;
-
}
Chú ý: đây không phải là một chuẩn mực viết mã CSS. Vì hiện tại chưa có 1 chuẩn nào cho việc viết CSS. Dưới đây chỉ là cách viết mã CSS sao cho khoa học được tích luỹ từ những ngày tháng làm việc cùng với CSS. Hi vọng điều này sẽ bố ích cho các bạn.
April 1st, 2007 | Posted in
PHP, Ajax, CSS
Khi làm việc trong một dự án thì việc thống kê dữ liệu, thông tin bằng biểu đồ là rất cần thiết. Nếu như bạn là một Web Developer thì việc tạo ra biểu đồ của bạn sẽ có một lựa chọn mới. Đó là Ajax MGraph. Trước hết, bạn sẽ muốn biết biểu đồ được tạo bởi Ajax MGraph trông sẽ như thế nào:

Ajax MGraph sử dụng thư viện PHP và Javascript để làm việc. Thích hợp với IE, Firefox, Opera,...
Hiện tại Ajax MGraph có một số hạn chế cơ bản như chỉ làm việc với số dương và integer nhưng tác giả của Ajax MGraph hứa hẹn sẽ đưa ra Version mới sẽ khắc phục những yếu kém trên.
Bạn có thể dùng thử hoặc tải mã nguồn tại địa chỉ sau: