NHANWEB

WordPress: Permalink nào tốt nhất cho SEO ?

Bài toán Permalink cho WordPress không phải blogger nào cũng nắm được hết và vận dụng hiệu quả trên blog của mình. Nên hôm nay tôi viết bài về vấn đề này để chia sẻ với mọi người về kinh nghiệm cũng như hiểu biết của tôi về Permalink trong WordPress. Hi vọng rằng bài viết này cung cấp cho các bạn một kiến thức đầy đủ hơn về Permalink để có thể vận dụng tốt cho blog của mình.

Các định dạng Permalink của WordPress

Một cách trực quan và dễ hiểu, bạn truy cập vào Setting=>Permalink Settings bạn sẽ thấy một danh sách các định dạng Permalink được WordPress cung cấp sẵn như sau:

Wordpress permalink Settings

Ta có thể hiểu nó như sau:

  1. Default: đây là dạng mặc địch của WordPress sử dụng ID của bài viết để truy vấn loại này tuy không thân thiện cho các cỗ máy tìm kiếm(Search Engine – SE) nhưng giúp cho quá trình truy vấn được nhanh chóng và dễ dàng.
  2. Day and name: đây là kiểu kết hợp giữa định dạng định dạng ngày tháng và tên bài viết để tạo nên liên kết tới bài viết. Nhìn vào đây bạn dễ dàng tìm ra được ngày tháng viết bài và tên bài viết.
  3. Month and name: dạng này là dạng rút gọn hơn so với dạng Day and name ở trên.
  4. Numeric: đây là dạng tối ưu hóa URL theo kiểu rewrite nhưng sử dụng ID. Về căn bản nó giống như dạng Default nhưng bổ sung thêm sự thân thiện cho SE.
  5. Custom Structure: định dạng này là sự tổng hợp các định dạng trên và mở rộng thêm các tùy biến khác mà người dùng tự định nghĩa cho riêng mình. Nếu bạn có tìm hiểu về WordPress và SEO. Tôi nghĩ rằng bạn sẽ chọn nó không cần suy nghĩ.

Phụ mục: một số biến sử dụng cho cấu trúc Custom Structure

Nếu bạn chọn sử dụng cấu trúc Permalink loại custom thì bạn nên tìm hiểu thêm 1 tí về các biến hỗ trợ cho loại này. Bạn có thể tìm hiểu nó qua danh sách này hoặc tôi sẽ liệt kê ở dưới.

%year%
Năm bài được đăng, sẽ ra định dạng số. Ví dụ : 2011.

%monthnum%
Tháng bài viết được đăng. Ví dụ: 03

%day%
Ngày đăng bài. Ví dụ 18.

%hour%
Giờ đăng bài.

%minute%
Phút đăng bài.

%second%
Giây đăng bài.

%post_id%
Một số ID được hệ thống tạo ra nhằm giúp quá trình truy vấn dữ liệu được dễ dàng và chính xác.

%postname%
Nếu bạn sử dụng biến này, hệ thống sẽ tự động tối ưu hóa URL bằng cách gán thêm tiêu đề bài viết trên URL. Nếu sử dụng nó trên tiêu đề bạn nên sử dụng thêm plugin Vietnamese Permalink để chuẩn hóa tiếng Việt về dạng thích hợp cho URL trước. Plugin này bạn có thể download ở đây.

%category%
Giống như trên nhưng thay vì tiêu đề bài viết sẽ là danh mục bài.

%tag%
Định dạng tối ưu hóa cho URL của thẻ (tag).

%author%
Cho phép đưa tác giả bài viết lên URL. Tuy nhiên mình không khuyến khích sử dụng cái này vì nó sẽ làm ảnh hưởng nhiều đến việc truy vấn dữ liệu.

Cách làm việc của WordPress Permalink

Với nhiêu đó việc mình nghĩ bạn cũng có thể hiểu nhiều về Permalink rồi. Tiếp theo tôi sẽ nói về cách hoạt động của Permalink để bạn hiểu cặn kẽ hơn về cách WordPress sử dụng Permalink để lấy dữ liệu trên website của mình. Bạn nào quan tâm đến kĩ thuật có thể đọc phần này. Bạn nào không quan tâm cũng nên đọc cho biết hoặc không đọc cũng chả ảnh hưởng gì đến hòa bình thế giới cả :)

Bình thường, khi bạn biên tập và gọi một URL để đọc một bài viết hoặc một category, chúng ta sẽ có một URL đã được rewrite như sau (ở đây tôi bỏ qua cấu trúc mặc định):

http://nhanweb.com/2011/03/wordpress-permalink-nao-tot-nhat-cho-seo.html

Lúc này sau khi được gọi, hệ thống WordPress sẽ chuyển URL đã được làm đẹp này về một định dạng mà WordPress có thể hiểu và xử lý dễ dàng.

http://nhanweb.com?year=2011&month=03&name=wordpress-permalink-nao-tot-nhat-cho-seo

Các biến được gửi kèm theo URL trên sẽ được nhận và được đưa vào hệ thống nhận diện biến của WordPress và được làm sạch “rác” xung quanh nó, tránh các lỗi SQL Injection… Sau đó, một query_posts sẽ được gọi để xử lý các tham số đầu vào.

Việc xử lý này được thực hiện bởi hàm wp() được gọi trong file wp-blog-header.php.

Kết quả trả về sẽ được lưu trong biến $wp_query. Đây là một biến toàn cục (global) và được sử dụng trong tất cả các hàm loop của các theme WordPress. Việc cuối cùng là theme sẽ sử dụng các hàm tương ứng để hiển thị dữ liệu.

Nên sử dụng định dạng Permalink nào tốt cho SEO

Phần này tôi sẽ giành để giải thích về cách xử lý biến và lấy dữ liệu tương ứng với các biến truyền theo URL. Dựa trên kết quả này bạn sẽ thấy Permalink nào sẽ giúp hệ thống lấy dữ liệu dễ dàng hơn, ít ngốn tài nguyên hơn(ta biết rằng MySQL là một trong những “chuyên gia” trong việc ngốn tài nguyên hệ thống máy chủ). Kết hợp với kiến thức SEO của mình, bạn sẽ chọn được permalink ưng ý nhất. Việc chọn lựa tôi để giành cho các bạn nhé.

1. Dạng Permalink Default (mặc định):

Dạng này được cái là sử dụng ID của post hoặc page để lấy dữ liệu nên việc truy vấn CSDL theo tôi là nhanh nhất vì CSDL đã được thiết kế tối ưu cho việc sử dụng ID làm khóa chính trong truy vấn. Đây cũng là truy vấn ít ngốn tài nguyên nhất mặc dù việc tìm kiếm 1 ID giữa 1triệu record có thể làm cho bạn… hoảng :)

2. Dạng Permalink Day and name

Dạng này là sự kết hợp truy vấn giữa ngày đăng và tên bài viết. Hệ thống sẽ tìm kiếm những bài viết theo năm YYYY trước, sau đó tìm kiếm các bài viết theo tháng MM, tiếp theo là tìm bài được đăng trong ngày DD, cuối cùng là sẽ tìm có tên thích hợp với tên được sử dụng.

3. Dạng Permalink Month and name

Dạng này cũng gần giống với dạng Day and name đã nói ở trên tuy nhiên rút gọn bớt 1 bước tìm kiếm theo ngày để hạn chế bớt truy vấn không cần thiết khi số lượng bài đăng mỗi ngày không nhiều.

4. Dạng Permalink Numeric

Dạng này vấn sử dụng ID như khóa chính để lấy dữ liệu. Điều khác nhau so với dạng Default có lẽ là bởi vì nó được làm “đẹp” hơn để tối ưu cho SEO.

5. Custom Structure

Đây là dạng tùy biến của người dùng vì cho phép chúng ta chọn Permalink theo sở thích. Tôi thấy nhiều bạn thích chọn bài viết dạng http://nhanweb.com/ten-bai-viet.html để làm Permalink. Về bản chất truy vấn kiểu này cũng khá tốt vì khi thiết kế việc lưu trữ WordPress đã cố tình lưu riêng phần post_name đã được biên tập cho việc hiển thị trên URL như một khóa chính thứ hai sau ID. Tuy nhiên, việc truy vấn string dĩ nhiên là sẽ không nhanh bằng integer(dạng số) và do không được thiết kế để làm khóa chính mặc định nên truy vấn bằng post_name sẽ mang tính chất như một truy vấn string thông thường. Dĩ nhiên điều này làm hao tốn tài nguyên máy chủ hơn.

Kết luận

Mục đích tôi viết bài này nhằm giúp các bạn hiểu rõ hơn, kĩ hơn về hệ thống Permalink của WordPress để kết hợp trong SEO. Có lẽ bạn sẽ cho rằng các truy vấn MySQL sẽ không ảnh hưởng gì đến tốc độ tải trang của bạn quá nhiều vì số lượng record bài viết sẽ không nhiều lắm, cùng lắm vài chục ngàn record cho blog là nhiều rồi. Điều đó hoàn toàn không đúng ! Một khi blog bạn phát triển, số lượng người đọc tăng đồng nghĩa với lượng truy vấn đến CSDL càng nhiều, hệ thống phải ngốn resource càng lớn và ngay cả khi các công cụ tìm kiếm(Search Engine) thu thập dữ liệu cũng sẽ gặp khó khăn khi tốc độ tải trang chậm hoặc overload resource…

Nếu bạn quan tâm đến việc phát triển website có chiều sâu bạn nên nghiên cứu và lựa chọn một Permalink cho mình ngay từ bây giờ để có thể phát triển dài lâu. Đừng để đến khi hệ thống gặp vấn đề rồi bạn mới thay đổi thì đã quá muộn vì số lượng innerlink, incomelink bị broken có lẽ sẽ khá nhiều.

Exit mobile version