Sitemap wordpress và cách tạo HTML Sitemap không cần plugin

Site map được hiểu nôm na là sơ đồ của website, ở đó mọi người có thể dễ dàng nhìn thấy được sự phân chia cấu trúc trong website và bot của các công cụ tìm kiếm như Google, Bing, Yahoo cũng có thể đọc được, vì vậy việc tạo site map cho website là một việc cần thiết.

Từ trước đến nay, chắc hẳn bạn cũng đã nghe đến cụm từ site map hay cụ thể hơn đó là XML Sitemap, ít ai quan tâm đến HTML Sitemap, vậy chúng ta phân biệt 2 loại site map này như thế nào?

XML Sitemap

XML Sitemap là một tập tin XML liệt kê tất cả các đường dẫn (URL) cho trang web, với định dạng siêu dữ liệu (metadata) mà các bot của công cụ tìm kiếm có thể thu thập dữ liệu trang web của bạn từ đây.

HTML Sitemap

Là một site map được định dạng theo kiểu HTML bình thường, với định dạng này, cả bot và người dùng đều có thể đọc được.

Hiện nay hầu hết các website làm từ wordpress chỉ có XML Sitemap, chỉ có một số nhỏ sử dụng HTML Sitemap. Với việc HTML Sitemap có thể điều hướng được người đọc mỗi khi họ cần tìm kiếm một nội dung trên website, bạn có thể hoàn toàn yên tâm khi đưa HTML Sitemap vào website.

Một website có HTML Sitemap chứng tỏ người quản trị đó quan tâm đến người đọc chứ không chỉ quan tâm đến việc lập ra Sitemap chỉ để các công cụ tìm kiếm thu thập dữ liệu mà thôi.

Cách xây dựng HTML Sitemap cho wordpress không cần plugin

Sau đây là cách tạo hay xây dựng HTML Sitemap cho website wordpress mà không cần dùng đến plugin hỗ trợ

  • Tạo một file sitemap.php trong folder theme mà bạn đang sử dụng
  • Copy và dán đoạn code dưới đây vào nó
<?php
/*
Template Name: Sitemap
*/
?>
<?php get_header(); ?>

<div id="content" >
  <div class="post">
    <div class="title">
      <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>">
        <?php the_title(); ?>
<!-- ----------------- Display Post with its relative category ----------------- -->
        </a></h2>
    </div>
    <div class="entry siteMap">
      <h2 id="posts">Posts</h2>
      <ul>
        <?php
// Add categories seprated with comma (,) you'd like to hide to display on sitemap
$cats = get_categories('exclude=');
foreach ($cats as $cat) {
  echo "<li><h3>".$cat->cat_name."</h3>";
  echo "<ul>";
  query_posts('posts_per_page=-1&cat='.$cat->cat_ID);
  while(have_posts()) {
    the_post();
    $category = get_the_category();
    // Only display a post link once, even if it's in multiple categories
    if ($category[0]->cat_ID == $cat->cat_ID) {
      echo '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
    }
  }
  echo "</ul>";
  echo "</li>";
}
?>
      </ul>
<!-- ----------------- Display Categories ----------------- -->
      <h2>Categories</h2>
      <ul>
        <?php wp_list_cats("sort_column=name&feed_image=/wp-content/themes/ten_theme/images/rss.png&optioncount=1&hierarchical=0"); ?>
      </ul>
<!-- ----------------- Display Pages ----------------- -->
      <h2 id="pages">Pages</h2>
      <ul>
        <?php
// Add pages seprated with comma[,] that you'd like to hide to display on sitemap
wp_list_pages(
  array(
    'exclude' => '',
    'title_li' => '',
  )
);
?>
      </ul>
    </div>
  </div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Lưu ý: Bạn cần thay đường dẫn file ảnh RSS thành của bạn, thay thế đoạn /wp-content/themes/ten_theme/images/rss.png

  • Tạo một Page trong quản lý admin của bạn, có thể lấy tên là Site map hoặc bất kỳ
  • Chọn hiển thị Template trong Page kiểu Sitemap

tao html sitemap cho wordpress

Đến đây là xong rồi, bạn hãy lưu lại và vào đường dẫn Sitemap vừa tạo để xem nó. Nếu muốn người dùng đọc được, bạn chỉ việc để nó lên thanh Menu.

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

  • chuyenay

    Cảm ơn bác nhé. Giờ em mới biết cái này. Em dùng plugin google xml sitemap nhưng dạo gần đây google nó cập nhật rất chậm. Không hiểu sao lại thế :doubt:

  • Bác có thể cho mình hỏi cái tính prioty cho các post nó liên quan thế nào đến tạo sitemap và SEO ạ? Mình gà nên ko hiểu lắm. :gach:

  • Dạo gần đây không hiểu sao từ khi cập nhật phiên bản mới nhất của WP lại bị lỗi cái sitemap. Ức chế quá trời. Không biết cách của Bác có giải quyết được không. Dù sao cũng thử phát. Thanks Bác nhé