Tạo sitemap cho WordPress không sử dụng plugin

55 Likes Comment

Chắc hẳn các bạn cũng đã biết Sitemap quan trọng thế nào trong website. Toàn bộ công việc của Sitemap là hướng dẫn cho các bộ máy tìm kiếm thu thập thông tin của trang web một cách hiệu quả đồng thời cập nhật những thay đổi trên trang web của bạn, như là thêm một trang mới hay thay đổi website hiện tại.

Nếu bạn sử dụng WordPress, bạn có thể dễ dàng tạo sitemap cho website của bạn bằng rất nhiều các plugin khác nhau. Nhưng trong bài viết này tôi sẽ hướng dẫn các bạn cách tạo sitemap cho một trang Wordpres mà không cần phải dùng tới plugin nào cả.

Bước 1: Mở file functions.php của giao diện bạn đang sử dụng

Ở bước này các bạn có thể sử dụng Theme Editor trong giao diện admin của wordpress hoặc chỉnh sửa file trên panel của hosting đều được.

Có lưu ý quan trọng là tôi khuyến khích các bạn sử dụng child-theme để không phải chỉnh sửa file functions sau mỗi lần cập nhật theme – Bạn nào chưa biết child-theme là gì thì google thêm nhé =)

Bước 2: Copy đoạn code dưới đây và dán vào file functions.php ở bước 1

/****************************************************
* XML Sitemap in WordPress
*****************************************************/
function xml_sitemap() {
  $postsForSitemap = get_posts(array(
    'numberposts' => -1,
    'orderby' => 'modified',
    'post_type'  => array('post','page'),
    'order'    => 'DESC'
  ));
  $sitemap = '<?xml version="1.0" encoding="UTF-8"?>';
  $sitemap .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
  foreach($postsForSitemap as $post) {
    setup_postdata($post);
    $postdate = explode(" ", $post->post_modified);
    $sitemap .= '<url>'.
      '<loc>'. get_permalink($post->ID) .'</loc>'.
      '<lastmod>'. $postdate[0] .'</lastmod>'.
      '<changefreq>monthly</changefreq>'.
    '</url>';
  }
  $sitemap .= '</urlset>';
  $fp = fopen(ABSPATH . "sitemap.xml", 'w');
  fwrite($fp, $sitemap);
  fclose($fp);
}
add_action("publish_post", "xml_sitemap");
add_action("publish_page", "xml_sitemap");

Trong đoạn code trên bạn sẽ thấy mình sử dụng 2 hook add_action() với 2 tham số truyền vào. Nó sẽ liên kết với hành động của bạn.
Cụ thể là khi bạn đăng một bài viết mới hoặc tạo 1 trang mới thì wordpress sẽ gọi đến hàm xml_sitemap. Hàm này sẽ lấy những dữ liệu cần thiết và cập nhật vào file sitemap.xml

Tiếp theo bạn cần lưu lại file functions.php sau khi đã thêm đoạn code trên của mình vào.
Cuối cùng bạn cần tạo 1 trang mới hoặc đăng 1 bài viết mới và tận hưởng thành quả.

Link sitemap của bạn sẽ là: domain.com/sitemap.xml
Trong đó thay thế domain.com bằng tên domain của bạn

Vậy là xong rồi đó. bạn có thể lấy link sitemap này để sử dụng cho google webmaster tool hoặc các search engine khác được rồi.

Chúc bạn thành công

bài viết này là của bác Đinh Bá Hiển và link gốc tại đây

You might like

About the Author: admin

Trả lời

Email của bạn sẽ không được hiển thị công khai.