Regular Expression ảnh hưởng đến SEO như thế nào?

Thứ 4, ngày 27/08/2014, lúc 6:53 - Gửi bởi: admin - Lượt xem: 1585


(VOC.VN) - Đây có lẽ là một trong những điều mà một chuyên gia SEO đã phát hiện ra. Biểu thức chính quy (Regular Expression) là một phần quan trọng của kỹ thuật SEO. Trong bài viết này, tôi sẽ thảo luận về các vấn đề cơ bản và cách dử dụng biểu thức chính quy.

 

 

Nghiên cứu tình huống

 

Tôi nhận thấy rằng biểu thức chính quy (hay còn được gọi là RegEx) được sử dụng chủ yếu trong toán học hay logic hoặc để nhận dạng các từ, các con số và các ký hiệu trong URL. Riêng về cá nhân tôi, tôi sử dụng nó để theo dõi và các thẻ URL hoặc để tạo ra một chuyển hướng lý tưởng từ .htaccess. Trong phần này, tôi sẽ tập trung vào việc chuyển hướng lý tưởng để bạn có thể hiểu sâu hơn về nó.

 

Dưới đây là một kịch bản:

 

Tôi có một khách hàng và một vài công ty phát triển SEO web và họ đã cải tạo lại trang web của riêng họ. Điều đó là rất tốt. Tuy nhiên, khi tôi kiểm tra cấu trúc URL, tôi đã phát hiện ra một sai lầm rất cơ bản. Thay vì viết: http://example.com/consumer-retail-products thì nó lại được viết: http://example.com/consumer_and_retail_products

 

Và có một điều đáng buồn đó là nó có các thư mục con khác dành riêng - tất cả có 4 cấp. Điều này cũng làm cho URL trở nên như thế này:

 

http://example.com/consumer_and_retail_products/home/samsung-television

 

Công ty phát triển web này thậm chí còn tự hào rằng họ cũng là các chuyên gia SEO nhưng những gì họ đã làm lại là một sai lầm rất cơ bản. Tôi muốn thay đổi tất cả các URL như thế này:

 

http://example.com/consumer-retail-products/home/samsung-television

 

Bởi nó có vẻ sạch hơn rất nhiều và tôi muốn loại bỏ stop words  (Để tiết kiệm không gian lưu trữ và gia tăng tốc độ tìm kiếm, các công cụ tìm kiếm sẽ không ghi nhận lại những từ quá phổ biến, quá chung chung và những từ này gọi là stop word). Để tìm hiểu thêm về stop words bạn có thể tham khảo tại đây.

 

Tất nhiên, tôi không chỉ muốn Xóa tất cả các trang có http://example.com/consumer_and_retail_products/home/samsung-television mà tôi còn muốn Google để ý những gì tôi đã làm và sửa chữa dòng chảy PageRank và bảng xếp hạng của tôi.

 

Tôi muốn chắc chắn rằng các link juice hiện tại sẽ được chuyển sang URL mới. Do đó, tôi cần phải chuyển hướng 301 (chuyển hướng vĩnh viễn) (http://seo-hacker.com/301-302-redirect-affect-seo/ ) đến từ tất cả các URL cũ, URL đã được tối ưu cho tất cả các URL mới.

 

Có một cách để thay đổi tất cả các trang với URL xấu và thay đổi nó với phiên bản đã được tối ưu. Nhưng để làm điều đó sẽ phải mất nhiều ngày và bạn phải bỏ ra rất nhiều thời gian và công sức. Đặc biệt là đối với các trang web lớn với nhiều trang. Vì vậy, giải pháp của tôi là RegEx và tôi có thể áp dụng từ cấp .htaccess.

 

Sau khi nghiên cứu và tìm kiếm, cuối cùng tôi đã tìm ra được giải pháp. Và nó trông như thế này:

 

#Chuyển hướng 301 để tối ưu URL

RewriteEngine On

RewriteRule ^consumer_and_retail_products/(.*?)$ http://example.com/consumer-retail-products/$1 [R=301,L]

 

Bây giờ tôi sẽ giải thích chi tiết những thuật ngữ này là gì.

 

- #Chuyển hướng 301 để tối ưu URL chỉ là một bình luận mà tôi đặt ở đó để nhắc nhở rằng đây là một mã chính xác.

- RewriteEngine On là một lệnh .htaccess để trả về một chế độ bình luận on/off cho mod_rewrite. Điều này đảm bảo rằng các dòng tiếp theo của các chức năng sẽ được thực hiện. Nói chung, nó cũng mang lại sức mạnh để chuyển hướng các URL.

- RewriteRule là tham số khi Rewrite xảy ra và những loại Rewrite gì sẽ xảy ra.

- ^ - bắt đầu của một tập chuỗi tuyệt đối

- $: kết thúc của một tập chuỗi tuyệt đối

- (): đây là một chức năng để chụp các thiết lập của các ký tự bên trong để sử dụng cho mục đích sau này.

- .: Bất kể các ký tự nào.Nó có thể chứa các ký tự từ A-Z, 0-9 hoặc thậm chí là một số biểu tượng.

- *: Điều này nói lên rằng các ký tự có thể được lặp đi lặp lại nhiều lần hay không lặp lại ở tất cả.

- ?: Điều này nói lên rằng các ký tự có thể là tùy chọn trước khi nó được chọn.

- (.*?): sự kết hợp này nghĩa là "Tất cả mọi thứ bắt đầu ở đây có thể để trống hoặc có thể là bất cứ ký tự nào, nó sẽ được lưu lại cho mục đích sau này".

 

Khi tôi đặt consumer_and_retail_products/(.*?) ở giữa ^ và $, nó sẽ đảm bảo rằng các thiết lập của chuỗi phải hoàn toàn giống như vậy. Chuỗi được kết thúc ở đây. Trên thực tế, cụm từ RegEx là:

^consumer_and_retail_products/(.*?)$  nói rằng:

 

"Mỗi liên kết có consumer_and_retail_products/ sẽ có các cấp tiếp theo trong thư mục con. Chẳng hạn như http://example.com/consumer_and_retail-products/home/ hoặc http://example.com/consumer-retail_and_products/home/samsung-television và sẽ được thay thế bằng câu lệnh tiếp theo".

Bằng cách này, bất kỳ trang nào được tạo ra sau khi URL consumer_and_retail_products/ bị bắt để sử dụng câu lệnh tiếp theo.

 

Bây giờ hãy để tôi giải thích điều này: http://example.com/consumer-retail-products/$1 [R=301,L]

- $1- Đây là chuỗi được đặt trên các câu lệnh trước đây sẽ được đặt chính xác tại đây.

- [R=301,L] - Đây là một chuyển hướng 301 và là một quy tắc cuối cùng (không liên quan đến bất kỳ quy tắc khác trong tập tin .htaccess).

 

Vì vậy, URL http://example.com/consumer-retail-products/$1 tôi sẽ thay thế bằng các câu lệnh trước đây. Thực ra là tôi đang nói:

 

"Thay thế câu lệnh trước đây với chuỗi http://example.com/consumer-retail-products/ và tạo cho nó một chuyển hướng 301".

 

Tôi đã hoàn thành xong câu lệnh chuyển hướng của tôi. Công ty này rất hài lòng về sự thay đổi và chúng tôi vẫn giữ được vị trí của mình trong bảng xếp hạng mà không phải tốn nhiều công sức.

 

Đây chỉ là một cách sử dụng khá thú vị của Regular Expression cho SEO. Nó đã cứu tôi và hàng ngày tôi vẫn làm việc với nó để thay đổi URL. Hy vọng nó cũng sẽ giúp bạn làm được những điều này.

 

P/S: Để tìm hiểu thêm về những điều cơ bản của RegEx, bạn có thể xem tại đây - tôi thấy RegExOne đặc biệt rất hữu ích.

 

Ghi nguồn www.voc.vn khi đăng tải lại bài viết này.

Link: Regular Expression ảnh hưởng đến SEO như thế nào?