Hướng dẫn tự động thêm liên kết cho từ khóa trong nội dung NukeViet

Thứ sáu - 28/04/2017 00:51
Hướng dẫn tự đông thêm liên kết cho từ khóa được tìm thấy trong nội dung của các module sử dụng NukeViet. Phương án này làm tăng đáng kể các liên kết nội bộ, hữu ích cho SEO

Cơ chế hoạt động

Dựa vào danh sách từ khóa (tag) của module, tìm trong nội dung tất cả các từ khóa có trong danh sách và thêm liên kết đến trang xem danh sách bài viết thuộc từ khóa cho từ khóa đó

Yêu cầu về module có thể tích hợp

  • Module có sử dụng chức năng tag (Quản lý từ khóa)
  • Một module có thể: news, shops, download

Hướng dẫn tích hợp cho module news (và các module ảo)

Mở modules/news/funcs/detail.php
Tìm
$contents = detail_theme($news_contents, $array_keyword, $related_new_array, $related_array, $topic_array, $content_comment);
Thêm bên trên
$auto_link_config = array(
    'auto_link' => 1, // 1: kích hoạt, 0: không kích hoạt
    'auto_link_casesens' => 1, // 1: không phân biệt ký tự HOA/thường, 0: ngược lại
    'auto_link_target' => '_blank', // phương án mở liên kết, xem thêm https://www.w3schools.com/tags/att_a_target.asp
    'auto_link_limit' => 3, // số lượng từ khóa sẽ thay thế. VD nội dung có 10 từ khóa thì chỉ thay thế 3 từ đầu tiên
    'auto_link_content' => $news_contents['bodyhtml'] // biến nội dung cần thay thế
);

if ($auto_link_config['auto_link']) {
    $reg_post = $auto_link_config['auto_link_casesens'] ? '/(?!(?:[^<\[]+[>\]]|[^>\]]+<\/a>))($content)/imsu' : '/(?!(?:[^<\[]+[>\]]|[^>\]]+<\/a>))($content)/msu';
    $sql = 'SELECT keywords, alias FROM ' . NV_PREFIXLANG . '_' . $module_data . '_tags';
    $array_keywords = $nv_Cache->db($sql, 'tid', $module_name);
    foreach ($array_keywords as $keyword) {
        $url = NV_BASE_SITEURL . 'index.php?' . NV_LANG_VARIABLE . '=' . NV_LANG_DATA . '&amp;' . NV_NAME_VARIABLE . '=' . $module_name . '&amp;' . NV_OP_VARIABLE . '=' . $module_info['alias']['tag'] . '/' . $keyword['alias'];
        $regexp = str_replace('$content', $keyword['keywords'], $reg_post);
        $replace = '<a title="$1" href="$$$url$$$" ' . (! empty($keyword['auto_link_target']) ? 'target="' . $keyword['auto_link_target'] . '"' : '') . '>$1</a>';
        $newtext = preg_replace($regexp, $replace, $auto_link_config['auto_link_content'], $auto_link_config['auto_link_limit']);
        if ($newtext != $keyword['keywords']) {
            $auto_link_config['auto_link_content']= str_replace('$$$url$$$', $url, $newtext);
        }
    }
    $news_contents['bodyhtml'] = $auto_link_config['auto_link_content'];
}

Hướng dẫn tích hợp cho module Shops (và module ảo)

Mở modules/shops/funcs/detail.php
Tìm
$contents = detail_product($data_content, $data_unit, $data_others, $array_other_view, $content_comment, $compare_id, $popup, $idtemplate, $array_keyword);
Thêm bên trên
$auto_link_config = array(
    'auto_link' => 1, // 1: kích hoạt, 0: không kích hoạt
    'auto_link_casesens' => 1, // 1: không phân biệt ký tự HOA/thường, 0: ngược lại
    'auto_link_target' => '_blank', // phương án mở liên kết, xem thêm https://www.w3schools.com/tags/att_a_target.asp
    'auto_link_limit' => 3, // số lượng từ khóa sẽ thay thế. VD nội dung có 10 từ khóa thì chỉ thay thế 3 từ đầu tiên
    'auto_link_content' => $data_content[NV_LANG_DATA . '_bodytext'] // biến nội dung cần thay thế
);

if ($auto_link_config['auto_link']) {
    $reg_post = $auto_link_config['auto_link_casesens'] ? '/(?!(?:[^<\[]+[>\]]|[^>\]]+<\/a>))($content)/imsu' : '/(?!(?:[^<\[]+[>\]]|[^>\]]+<\/a>))($content)/msu';
    $sql = 'SELECT keywords, alias FROM ' . $db_config['prefix'] . '_' . $module_data . '_tags_' . NV_LANG_DATA;
    $array_keywords = $nv_Cache->db($sql, 'tid', $module_name);
    foreach ($array_keywords as $keyword) {
        $url = NV_BASE_SITEURL . 'index.php?' . NV_LANG_VARIABLE . '=' . NV_LANG_DATA . '&amp;' . NV_NAME_VARIABLE . '=' . $module_name . '&amp;' . NV_OP_VARIABLE . '=' . $module_info['alias']['tag'] . '/' . $keyword['alias'];
        $regexp = str_replace('$content', $keyword['keywords'], $reg_post);
        $replace = '<a title="$1" href="$$$url$$$" ' . (! empty($keyword['auto_link_target']) ? 'target="' . $keyword['auto_link_target'] . '"' : '') . '>$1</a>';
        $newtext = preg_replace($regexp, $replace, $auto_link_config['auto_link_content'], $auto_link_config['auto_link_limit']);
        if ($newtext != $keyword['keywords']) {
            $auto_link_config['auto_link_content']= str_replace('$$$url$$$', $url, $newtext);
        }
    }
    $data_content[NV_LANG_DATA . '_bodytext'] = $auto_link_config['auto_link_content'];
}

Tổng số điểm của bài viết là: 5 trong 1 đánh giá

Xếp hạng: 5 - 1 phiếu bầu
Click để đánh giá bài viết

Trung tâm ứng dụng NukeViet
Ghi rõ nguồn khi sao chép thông tin từ website này.

Sử dụng CMS NukeViet, thiết kế bởi TDFOSS.,LTD