Sử dụng Regular Expressions trong SEO

Thảo luận trong 'Tối ưu hóa On-Page' bắt đầu bởi babyinternet, 10/6/14.

  1. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,656
    Đã được thích:
    1,583
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    Regular expressions (regex) là một trong những vũ khí lợi hại mà chúng tôi có trong bộ công cụ SEO của chúng tôi, nó vô cùng đáng sợ. Dưới đây là một số mẹo và thủ thuật nhỏ mà tôi hi vọng sẽ giúp bạn bước chân vào thế giới của regex dễ dàng hơn.



    Thỏa thuận trách nhiệm: tôi không phải là một coder(lập trình viên), một nhà phát triển phần mềm hay một người quản trị mạng máy tính, kỹ năng sử dụng regex của tôi cũng ở mức đơn giản, nhưng những gì tôi chia sẻ đã làm việc rất tốt cho tôi trên nhiều nền tảng. Tôi muốn chia sẻ ba trong số này với các bạn: Google Analytics, Screaming Froghtaccess

    Nguyên tắc cơ bản của Regular Expressions (Regex)

    Hãy bắt đầu với những nguyên tắc cơ bản, những gì Regular Expression có thể làm và không thể làm cho bạn. Regex về cơ bản có thể giúp bạn tìm thấy (hoặc/và thay thế) các giá trị không xác định. Ví dụ giả sử bạn có một danh sách các URL và bạn phải tách chúng ta để lấy tên miền chính(TLD - Top Level domain), Regex có thể giúp bạn.

    Bạn có thể sử dụng một công cụ đơn giản để tìm và thay thế http thành www rất dễ dàng. Nhưng chúng có thể thay thế trên tên của các tệp tin hay không ? Bạn có thể loại bỏ chúng bằng tay, nhưng đây sẽ là một cực hình của bạn. Bằng việc sử dụng một ký tự đại diện regex đơn giản (/*) bạn có thể bỏ tất cả cả các nội dung chứa dấu gạch chéo và những thứ phía sau nó.

    Những lệnh cơ bản trong Regex

    Bây giờ chúng ta bắt đầu tìm hiểu những lệnh đơn giản và cơ bản của Regex và ý nghĩa của chúng.

    • Trước tiên là cậu nhỏ này: (.*). - đây là kỹ thuật kết hợp một vài lệnh rời rạc, cho những người mới bắt đầu làm quen với regex - có thể hiểu là "tìm với một số lượng không giới hạn các con số và ký tự". Về cơ bản, lệnh này có thể hiểu là tìm bât cứ thứ gì. Bạn thường sử dụng nó trước hoặc sau một cái gì đó - bạn có thể sử dụng nó kiểu như tìm cho tôi bất kỳ thứ gì mà bắt đầu/kết thúc với X - tùy thuộc vào thứ bạn đang tìm kiếm. Ví dụ, hãy cho rằng bạn đang tìm một từ khóa trong một danh sách có chứa "tiggers", bất kể bất kỳ thứ gì xuất hiện trước nó, lúc này bạn sẽ sử dụng lệnh (.*)tiggers.
    • Các ký tự (^) sẽ báo hiệu rằng tìm kiếm sẽ "bắt đầu với" những thứ bạn đặt phía sau nó. Vì vậy, nếu bạn muốn tìm kiếm những chuỗi bắt đầu bằng tiggers, bạn có thể sử dụng ^tiggers.
    • Các ($) sẽ kết thúc một lệnh, nó giữ các giá trị không có sự liên lạc với các chuỗi truy vấn khác bao gồm trong truy vấn tìm của bạn. Ví dụ, chúng ta đang tìm kiếm những gì có chứa tiggers nhưng chỉ khi tiggers là từ kết thúc chuỗi bạn có thể sử dụng truy vấn như thế này (.*)tiggers$

      Lệnh trên sẽ tìm kiếm những chuỗi như "I-like-tiggers' nhưng sẽ bỏ qua những chuỗi như "the-best-thing-is-tiggers-are-wonderful-things."

      Annie Cushing có một mẹo nhỏ để bạn nhớ cách sử dụng chúng như thế này: dẫn đầu với một củ cà rốt (^) nhưng đến cuối ngày tất cả sẽ là tiền bạc ($).
    • Tiếp theo, chúng ta tìm hiểu về $1 - thứ này cho phép bạn thay thế thứ này thành thứ khác với nội dung phía trước và phía sau nó. Ví dụ, chúng ta đã tìm ra tất cả các chuỗi có chứa từ tiggers, nhưng bạn quyết định thay thế tất cả những con cọp thành những chú heo. Xem bảng sau để rõ những gì chúng ta làm

      [​IMG]

      Những gì chứa từ tiggers thật dễ dàng được tìm thấy với regex. Tất cả những gì bạn phải làm là thiết lập tìm kiếm ^/tigger/(.*)$ sau đó biến nó thành /piglet/$1.

      Về cơ bản, những gì bạn đang làm với lệnh này là: bất kỳ thứ gì với (^) "/tigger/", có bất kỳ thứ gì đến sau nó sau khi thay thế tigger thành piglet hãy giữ tất cả mọi thứ lại (*). ($1) đại diện cho những thứ được tìm thấy phía sau tigger. Bạn cũng có thể sử dụng nhiều $ cho nhiều truy vấn trong cùng một lệnh: $1 cho giá trị đầu tiên, $2 cho giá trị thứ 2, $3 cho giá trị thứ ba và cứ như vậy.

      Một ví dụ khác cho 2 ký tự $ xuất hiện trong cùng một lệnh, ví dụ bạn muốn thay thế tiggers thành piglet nhưng vẫn muốn giữ nguyên những gá trị trước và sau từ này. Chúng ta có lệnh sau: ^/(.*)/tigger/(.*) becomes /$1/piglet/$2. "becomes" trong lệnh trên là được thêm vào để dễ nhận biết đoạn phía trước và phía sau piglet sau khi được thay thế.
    • Cuối cùng, bạn nên biết về pipe bar(hay dấu | - tôi không biết gọi là gì cho chính xác trong tiếng Việt) để truy vấn riêng biệt bởi nó là một công cụ mạnh mẽ. Pipe bar cho phép bạn cung cấp các tùy chọn. Trong ví dụ ở trên, bạn có thể đang tìm tiggers, nhưng bạn cũng có thể đang tìm về kanga, vì vậy bạn cần phải thay thế cả tiggers và kanga như một tùy chọn. Nó sẽ được viết như thế này:

      ^/(.*)/(tigger|kanga)/(.*) becomes /$1/piglet/$2 ("becomes" trong lệnh trên là được thêm vào để dễ nhận biết đoạn phía trước và phía sau khi được thay thế)

      Pipe bar (dấu |) nghĩa là hoặc (or). Lệnh trên cho biết có bất kỳ thứ gì chứa tigger hoặc chứa kanga ở giữa nội dung thì sẽ được thay thế tigger, hoặc kanga thành piglet nhưng những thứ xung quanh sẽ không đổi.

    Thật khó khăn để có thể diễn đạt những khái niệm bằng một vài ví dụ, do đó dưới đây tôi sẽ cung cấp một vài ứng dụng thực tế trong SEO để bạn làm SEO dễ hình dung hơn.

    Regex trong Google Analytics

    Bạn đã bao giờ sử dụng regex trong Google Analytics chưa ? Nó rất mạnh mẽ đó ! Chúng ta sẽ bắt đầu bằng việc bạn có một thương hiệu tên là Hooli và một sản phẩm gọi là Pied Piper. Bạn muốn xem bao nhiêu lượt truy cập đến từ các trang đích mà không có tên thương hiệu trong URL. Bạn có thể làm một báo cáo riêng biệt cho các thương hiệu và sau đó lấy tổng số traffic trừ đi traffic đến từ các thương hiệu, hoặc bạn có thể dùng regex. Và chúng ta đang nói, Hooli thường bị viết sai chính tả thành Holi hoặc Wholi.

    Trong Analytics, chọn landing page để thực hiện phân tích của mình, sau đó chọn Advanced, tiếp theo là ExcludeMatching RegExp. Tới đây, bạn bắt đầu xây dựng truy vấn của bạn,bao gồm những từ đã chọn như hooli, holi, hoặc wholi. Có những thứ khác hay ho để bạn làm ở đây, ví dụ bạn có thể sử dụng w?hoo?li như một lệnh để thay vào đó nhưng đừng quá phức tạp. Cách tốt nhất là sử dụng hooli|holi|wholi và loại bỏ bất kỳ trang đích nào có chứa chúng trong URL.

    [​IMG]

    Muốn thêm pied và piper vào không ? Chỉ cần : hooli|holi|wholi|pied|piper

    Hãy nói về một ví dụ khác! Ví dụ rằng bạn cần một bộ lọc để làm một báo cáo đến một thư mục nào đó trên trang. Ví dụ như "music". Tuy nhiên cấu trúc thư mục của trang web bạn bị hỏng và thư mục con của /music có thể xuất hiện ở bất kỳ vị trí nào trong URL. Bạn chỉ cần thư mục /music ở vị trí thứ 3. Bạn không thể sử dụng bắt đầu với, kết thúc với hoặc chứa nội dung nào đó..., vậy bạn có thể làm gì ?

    Câu trả lời là regex. Sử dụng những thứ bạn vừa được học được ở trên bạn có thể làm một báo cáo chỉ sử dụng thư mục /music/ ở cấp danh mục thứ 3 như yêu cầu bằng lệnh sau:

    Mã:
    ^/.*/.*/music/.*
    [​IMG]

    Lệnh trên phân tích bất kỳ URL nào trên trang web thỏa mãn điều kiện một dấu gạch chéo (/) sau đó đến một thứ gì đó, rồi đến một dấu gạch chéo(/) đến một thứ gì đó, rồi đến gạch chéo(/) rồi đến music đến gạch chéo(/) và phần còn lại không còn quan trọng nữa. Nghĩa là thư mục cấp ba là là thư mục music là được.

    Bạn có thể tưởng tượng thêm vài lệnh nữa để làm điều bạn muốn một cách dễ dàng.

    Regular Expressions với Screaming Frog

    Redirects & Regular Expressions

    Và cuối cùng là .htaccess. Nếu bạn không biết đó là gì thì đó là một tập tin giúp kiểm soát máy chủ của bạn đáp ứng những phản hồi. Bạn có thể kiểm soát IP, chức năng Wordpress, phát hiện tác nhân người dùng và nhiều thứ khác với tập tin này.

    Với mục đích của bài viết này, chúng ta hãy nói về URL.Bây giờ, hãy nói về điều quan trọng trước: HTACCESS CÓ THỂ KHIẾN WEBSITE CỦA BẠN KHÔNG TRUY CẬP ĐƯỢC. Cho nên, luôn luôn, trước khi chạm vào htaccess bạn phải làm 4 điều quan trọng:

    1. Backup .htaccess cũ, bạn sẽ cần đến nó để phục hồi.
    2. Không thay đổi .htaccess nếu bạn không có quyền truy cập đến root bằng FTP. Vì nếu bạn chỉnh sửa htaccess, bạn có thể không truy cập vào được CPanel, Dashboard của Wordpress. Tôi khuyến cáo không nên chỉnh sửa htaccess thông qua trình soạn thảo trong Dashboard của Wordpress hay thông qua Plugin, hoặc bất cứ nơi nào khác trong các trình soạn thảo văn bản.
    3. Hãy chắc chắn không có trình hỗ trợ nào làm những công việc như chuyển hướng trang web, lệnh hoặc các tập lệnh trên máy chủ khác có thể gây trở ngại công việc của bạn.
    4. Đảm bảo rằng chỉ có một tập tin htaccess và bạn đang có quyền chỉnh sửa nó. Chỉ nên có 1, nhưng nếu bạn nhìn thấy nhiều hơn 1 (có thể trong các thư mục khác) bạn sẽ cần sự giúp đỡ của một người chuyên nghiệp.


    Ok! khi bạn thực hiện 4 nguyên tắc trên xong, bạn an toàn và chúng ta có thể chơi đùa với htaccess. Một vài ví dụ về sử dụng .htaccess bạn có thể tìm thấy ở đây, đây, hoặc là đây.

    Trước hết là thử redirect 301:

    Mã:
    Redirect 301 /somefile http://www.vnwebmaster.com/someotherfile
    Đó là đơn giản, RedirectMatch mạnh hơn nhiều và cho phép bạn sử dụng các biểu thức Regular Expression "phê" hơn nhiều.

    Ví dụ, sử dụng Hooli một lần nữa, chúng ta đang nói rằng bạn cần di chuyển toàn bộ cấu trúc URL trong thư mục /blog/ sang một cấu trúc mới, sẽ có tên tương tự nhưng /blog/ sẽ được gỡ bỏ. Bạn có thể chuyển hướng tất cả chúng (10 đến 10.000 chẳng han) chỉ bằng một lệnh duy nhất.

    Mã:
    RedirectMatch 301 ^/blog/(.*)$ http://www.hooli.com/$1
    Lệnh này cơ bản có nghĩa là - chuyển hướng tất cả các URL mà có mở đầu bằng /blog/ với bất kỳ thứ gì ở sau nó sang một tên miền mới với điều kiện tương tự như vậy nhưng không có /blog/ trong URL nửa với trạng thái chuyển hướng 301.

    Bây giờ, chúng ta không chỉ muốn xóa đi /blog/ bạn muốn thay thế nó bằng /new/vnwebmaster/. Bạn sẽ thay đổi lệnh này thành:

    Mã:
    RedirectMatch 301 ^/blog/(.*)$ http://www.hooli.com/new/vnwebmaster/$1
    Tiếp theo, bạn có một trang web rất lộn xộn và bạn cần thay đổi các URL để trỏ đến một trang đích cụ thể ? Tất cả những gì bạn cần lamlaf tìm một mô hình lặp lại của chúng.

    Mã:
    http://www.hooli.com/products/pied-piper
    
    http://www.hooli.com/products/pied
    
    http://www.hooli.com/products/pie-piper
    
    http://www.hooli.com/products/pieds-pipers
    
    Nếu để ý các URL trên bạn sẽ thấy từ "pie" luôn lặp lại phía sau products/. Bạn sẽ kiểm tra và đảm bảo các trang mới sẽ không có URL nào trùng hoặc có cấu trúc giống trên, sau đó bạn sẽ thực hiện lệnh chuyển hướng đến trang mới:

    Mã:
    RedirectMatch 301 ^/products/pie(.*)$ http://www.hooli.com/services/pied-piper
    Cuối cùng, nếu bạn có một trang web mà tất cả mọi thứ đều kết thúc bằng .html và không có trang nào trong web mới kết thúc theo cách đó, hãy tìm ra mô hình lặp lại giữa các trang và chuyển hướng

    Mã:
    RedirectMatch 301 ^/(.*).html$ http://www.vnwebmaster.com/$1

    Nếu mọi thứ phù hợp, nhưng có một hoặc hai tập tin cụ thể nào đó không giống như vậy ? Hãy loại trừ chúng ra bằng cách này:

    Mã:
    RedirectMatch 301 ^/ (?!(notthisfile)/) (.*).html$ http://www.vnwebmaster.com/$1

    Để biết thêm cụ thể về htaccess và redirect bạn có thể đọc thêm tài liệu về Apache.


     
  2. fanfan

    fanfan Guest

    Cái áp dụng cho Google Analytics là mình còn hiểu được đôi chút tác dụng còn Redirect , Streaming Fog là gì thì mù tịt :lay:
     
  3. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,656
    Đã được thích:
    1,583
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    Redirect là dùng trong file .htaccess. Bạn đọc thêm các bài có liên quan được liệt kê ở #1 để biết thêm. Còn Streaming Fog là một website cung cấp thông tin phân tích website (tương tự Google Analytics) nhưng ở VN ít người dùng hoặc không dùng nên chưa dịch cụ thể vì lý do đó.
     
  4. guyblack

    guyblack Guest

    @@ đọc xong một hồi mà không hiều. TOll này lần tiên nghe đến
    cần phải ngiên cứu và tham khảo thêm các thánh
     
  5. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,656
    Đã được thích:
    1,583
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    Ngày x tháng y năm z ngồi với 1 thằng bạn là chuyên gia SEO và đang là đối tác của Google, đang dạy SEO ở cả HCM lẫn HN, nó phán 1 câu: công nhận dạo này ông làm content tốt thật, nhưng bài viết Sử dụng Regular Expressions trong SEO tôi đọc mà hoa cả mắt, chả hiểu gì :dauhang:
     
  6. heoconmaungoc

    heoconmaungoc Đang làm quen

    Tham gia ngày:
    25/6/14
    Bài viết:
    62
    Đã được thích:
    1
    Điểm thành tích:
    8
    Mình mới học xong môn C# và nó được phát triển và áp dụng khá mạnh trên C# mà không ngờ SEO cũng có thể áp dụng được. Nó thật là mạnh nhưng mình chưa áp dụng, nay đọc được bài này hay quá
     
  7. androidvip

    androidvip Đang làm quen

    Tham gia ngày:
    1/12/14
    Bài viết:
    78
    Đã được thích:
    0
    Điểm thành tích:
    6
    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
     
  8. phankt

    phankt Đang làm quen

    Tham gia ngày:
    8/8/14
    Bài viết:
    66
    Đã được thích:
    0
    Điểm thành tích:
    6
    Các bác cho em hỏi..
    Em đang dùng wordpress.. em muốn tất cả các đường dẫn không tồn tại đều trỏ về trang chủ hoặc 1 page nào đó thì làm như thế nào ?


    Liệu Reg Exp Có sử dụng được trong trường hợp này được không ?
     
  9. tntran

    tntran Lính mới

    Tham gia ngày:
    21/5/14
    Bài viết:
    8
    Đã được thích:
    1
    Điểm thành tích:
    3
    Dùng cái này:
    HTML:
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule . / [L,R=301]
    
    Tham khảo thêm tại đây: onlinemarketingexperts.com.au/2013/01/how-to-permanently-redirect-301-all-404-missing-pages-in-htaccess/





    ------------------------

    To be able to post links or images your post count must be 50 or greater. You currently have 4 posts.
    Please remove links from your message, then you will be able to submit your post.???
     
  10. adslviettel1

    adslviettel1 Đang làm quen

    Tham gia ngày:
    20/10/12
    Bài viết:
    41
    Đã được thích:
    0
    Điểm thành tích:
    6
    Khó hiểu quá bạn ak, Cái này chắc chỉ có cao thủ mới làm được thôi. Mình mới seo chắc chưa đến trình độ áp dụng được
     
Đang tải...

Chia sẻ trang này