Neo trong php

In reply to adrian,

Thank you very much for your function. There is a small issue with your relative protocol function. You need to remove the // when making the url the path. Here is the new function.

function resolve_url[$base, $url] {
        if [!strlen[$base]] return $url;
        // Step 2
        if [!strlen[$url]] return $base;
        // Step 3
        if [preg_match['!^[a-z]+:!i', $url]] return $url;
        $base = parse_url[$base];
        if [$url{0} == "#"] {
                // Step 2 [fragment]
                $base['fragment'] = substr[$url, 1];
                return unparse_url[$base];
        }
        unset[$base['fragment']];
        unset[$base['query']];
        if [substr[$url, 0, 2] == "//"] {
                // Step 4
                return unparse_url[array[
                        'scheme'=>$base['scheme'],
                        'path'=>substr[$url,2],
                ]];
        } else if [$url{0} == "/"] {
                // Step 5
                $base['path'] = $url;
        } else {
                // Step 6
                $path = explode['/', $base['path']];
                $url_path = explode['/', $url];
                // Step 6a: drop file from base
                array_pop[$path];
                // Step 6b, 6c, 6e: append url while removing "." and ".." from
                // the directory portion
                $end = array_pop[$url_path];
                foreach [$url_path as $segment] {
                        if [$segment == '.'] {
                                // skip
                        } else if [$segment == '..' && $path && $path[sizeof[$path]-1] != '..'] {
                                array_pop[$path];
                        } else {
                                $path[] = $segment;
                        }
                }
                // Step 6d, 6f: remove "." and ".." from file portion
                if [$end == '.'] {
                        $path[] = '';
                } else if [$end == '..' && $path && $path[sizeof[$path]-1] != '..'] {
                        $path[sizeof[$path]-1] = '';
                } else {
                        $path[] = $end;
                }
                // Step 6h
                $base['path'] = join['/', $path];

        }
        // Step 7
        return unparse_url[$base];
}

Bạn đã từng nghe qua liên kết nội [Internal Link] và liên kết ngoại [External Link] và bạn đã từng nghe qua khái niệm Liên kết mới [Anchor Link]?

Bạn đừng nhầm lẫn giữa Anchor Link và Anchor Text. Anchor Text là khái niệm chỉ một/cụm từ khóa chứa liên kết, còn Anchor Link là một liên kết trỏ đến một vùng nào đó trong trang hiện tại

Nếu bạn vẫn chưa hiểu, hãy xem bài viết này và nhấn vào mục lục đầu dòng, nó sẽ đưa bạn đến một phần bài viết phù hợp với nó, và phần đó chính là khu vực mà mình muốn gắn con trỏ liên kết đến

Liên kết neo hoạt động ra sao?

Liên kết neo bao gồm hai phần chính. phần mới và phần liên kết

Phần mới được xác định bởi tên thuộc tính trong HTML. Ví dụ

[html]

Nội dung
[/html]

Và phần liên kết sẽ có giá trị là #tên-neo. Ví dụ

[html]Bấm vào đây[/html]

Như vậy, sau khi bạn nhấp vào Liên kết Bấm vào đây, màn hình sẽ chuyển đến khu vực có thẻ div mang thuộc tính name=”tên-neo”

Thuộc tính tên bạn có thể thiết lập cho bất kỳ thẻ nào như thẻ a, h1, h2, h3, p, div,…

Lợi ích của liên kết mới trong SEO

Bạn có nghĩ rằng liên kết mới có ảnh hưởng lớn đến kết quả tìm kiếm của bạn không? . Hãy xem thử qua một hướng dẫn tại WordPress Codex, bên phải nó có một cột mục lục [gọi là Mục lục], không phải nó giúp bạn dễ đọc bài hơn sao?

Còn về mặt SEO, bot tìm kiếm [đặc biệt là Google] có thể hiểu rằng các liên kết mới là công cụ đánh dấu từng phần của bài viết, ví dụ như bài viết của bạn có nhiều kỳ lạ. Sau khi xác định xong, Google có thể giúp bạn có thêm một số liên kết trang web chứa các liên kết mới trong bài viết như thế này

You can try find with the keyword as in the picture will see

Tỷ lệ hiển thị liên kết neo ngoài kết quả tìm kiếm

Buồn thay, không phải bài nào bạn có liên kết mới là sitelink xuất hiện ngoài kết quả tìm kiếm đâu mà nó dựa trên những thuật toán nào để xác định nên hiển thị hay không

Nhưng theo kinh nghiệm quan sát của mình, bạn sẽ hiển thị liên kết trang web là liên kết mới khi

  • Từ khóa trong liên kết neo liên quan mật thiết đến nội dung. Chứa từ khóa chính của bài càng tốt
  • Bài viết bạn phải nằm từ top 1 đến top 3
  • Bài viết phải được xem nhiều, tức là được nhiều người quan tâm
  • Bài viết phải đủ dài, thường là nhiều hơn 2. 000 ký tự

Đó là một vài khám phá của mình, còn có những yếu tố khác hay không thì mình không chắc, bạn có thể giúp mình bổ sung thêm nhé.

Các plugin hỗ trợ làm liên kết mới trong WordPress

Nếu bạn biết HTML thì chắc chắn bạn đã biết cách làm thông tin qua ví dụ ở đầu bài. Nhưng nếu bạn không hiểu nó, sẽ có một số plugin dưới đây để bạn sử dụng để tạo liên kết mới dễ dàng

  • Liên kết neo tốt hơn – Plugin này sẽ giúp bạn có Mục lục ngay đầu bài viết. Mỗi phần nó sẽ dựa vào tiêu đề thẻ trong bài để xác định phần nội dung
  • WP LocalScroll – Thêm hiệu ứng chuyển động mượt mà khi nhấp vào liên kết neo
  • Mục lục mở rộng – Cũng là plugin tạo Mục lục ngay đầu bài

Theo như mình thấy, chỉ cần trong bài viết bạn sử dụng tiêu đề thẻ để thiết lập phần nội dung thì plugin tạo Mục lục sẽ giúp bạn tạo anchor link dễ dàng mà không cần phải tạo thủ công

Lời kết

Mặc dù trong bài viết này mình nói về ý nghĩa của liên kết neo trong SEO nhưng hãy nhớ rằng không phải bài viết nào có liên kết neo cũng có sitelink Hỗ trợ trên kết quả tìm kiếm. Dù nó có hiển thị hay không, thì liên kết mới cũng có phần nào giúp độc giả dễ dàng xác định phần mà họ muốn đọc trong bài viết một cách dễ dàng đối với các bài viết dài

Chủ Đề