Để tăng rank cho trang web rất nhiều website đã tạo danh sách các từ khóa đại diện được người dùng tìm kiếm nhiều trong các công cụ tìm kiếm được. Trong bài viết này tôi hướng dẫn bạn xây dựng một Tagcloud đơn giản giúp tối ưu hơn website đối với các ông cụ tìm kiếm.
Ở đây tôi đã tham khảo trên codeproject đã chỉnh sửa và xây dựng được một thư viện hmweb.Tag.dll để xử dụng tạo ASP.NET TagCloud, Bạn có thể download code mẫu và thư viện này ở trên. Khi đã có dll này bạn add vào thư mục Bin của ứng dụng. Trong trang aspx để sử dụng bạn cần đăng ký sử dụng assembly này như sau (Bạn có thể add vào toolbox của VS để khi thiết kế kéo thả cho dễ)
<%@ Register assembly="hmweb.Tag" namespace="hmweb.Controls" tagprefix="cc1" %>
Trong trang aspx nơi bạn muốn hiển thị các Tag bạn đặt đoạn code sau:
<cc1:cloud ID="cHmwebTag" runat="server" Width="300px" DataTextField="Name" DataTitleField="TagName" DataHrefField="HrefUrl" DataWeightField="Weight" > </cc1:cloud>
Trong bài viết này tôi minh họa dữ liệu bằng cách tự Create một DataTable, Bạn sử dụng thì nên tạo một bảng trong SQL hay xml để quản lý thêm, sửa cho dễ dàng. Tôi tạo một bảng như sau:
private DataTable GetData()
{
DataTable dtb = new DataTable(); //Tạo các Columns
dtb.Columns.Add("TagName");
dtb.Columns.Add("Weight");
dtb.Columns.Add("HrefUrl"); //Thêm các bản ghi
dtb.Rows.Add("asp.net", "439", "aspnet.aspx");
dtb.Rows.Add("SQL", "400", "SQL-server.aspx");
dtb.Rows.Add("Accessibility", "58", "Accessibility.aspx");
dtb.Rows.Add("Ajax", "218", "Ajax.aspx");
dtb.Rows.Add("Csharp", "390", "Csharp.aspx");
dtb.Rows.Add("OTDH", "250", "OTDH.aspx");
dtb.Rows.Add("jquery", "175", "jquery.aspx");
dtb.Rows.Add("Luyện thi", "123", "luyen-thi.aspx");
dtb.Rows.Add("Store", "89", "Store.aspx");
dtb.Rows.Add("Facebook", "234", "Facebook.aspx");
dtb.Rows.Add("Microsoft", "204", "Microsoft.aspx");
dtb.Rows.Add("google", "290", "google.aspx");
dtb.Rows.Add("silverlight", "274", "silverlight.aspx");
dtb.Rows.Add("VTV2", "304", "VTV2.aspx");
dtb.Rows.Add("Phân trang", "204", "phan-trang.aspx");
dtb.Rows.Add("Cơ sở dữ liệu", "454", "Co-so-du-lieu.aspx");
dtb.Rows.Add("Autocomplete", "234", "Autocomplete.aspx");
return dtb;
}
Bạn thấy tôi đã tạo môh DataTable có các trường Name chính là các từ khóa cần thêm vào danh sách được dùng cho thuộc tính DataTitleField và DataTitleField (khi bạn di chuột vào từ khóa sẽ hiển thị dữ từ khóa đó dạng tooltip), Weight là độ lớn khi hiển thị, ở đây từ khóa nào là trọng điểm trong website của bạn bạn cho giá trị của nó cao lên, được dùng cho thuộc tính DataWeightField và HrefUrl là trường url khi ta click xem một từ khóa nào đó được dùngc cho thuộc tính DataHrefField. Các thuộc tính này được xây dựng trong class Cloud.cs của Project hmweb.Tag (Bạn download project này ở liên kết cuối bài).
Cuối cùng, dể hiển thị bạn làm làm như sau:
protected void Page_Load(object sender, EventArgs e)
{
TagCoudData();
}
private void TagCoudData()
{
cHmwebTag.DataSource = GetData();
cHmwebTag.DataBind();
}