Tạo sitemap.xml thủ công mệt quá, làm sao đây?

Submitted by superthin on Thu, 10/05/2017 - 07:55
Google Sitemap XML

Trong quá trình làm một thử nghiệm về SEO mang với chủ đề về thanh niên ngáo đá, Thin đã gặp một vấn đề đó là tạo sitemap cho website để giúp Google thực hiện việc index dễ dàng hơn.

Thực sự, không khó để tạo một file sitemap.xml theo yêu cầu của Google.  Làm thủ công sẽ hiểu rõ bản chất của việc làm là gì, có thể loại bỏ được những dư thừa không cần thiết. Làm thủ công sẽ mất nhiều thời gian hơn làm tự động bằng công cụ.

Những ngày đầu tạo sitemap.xml

Những ngày đầu Thin làm sitemap một cách thủ công. Nói là thủ công nhưng thực sự không phải là tự soạn một file sitemap.xml các nội dung theo ý mình, điều đó thật sự chỉ để học tập/ thực hành, không ai làm như vậy trong thực tế.

Vậy Thin đã làm thế nào? Cách làm khá đơn giản đó là Thin vào trang https://www.xml-sitemaps.com, kéo chuột xuống một chút xíu là xuất hiện:

Chỉ cần điền địa chỉ URL website vào, chọn tần suất cập nhật, bấm nút Start và đợi vài phút.

Kết quả sinh ra là file có tên sitemap.xml, nếu website ta nhỏ, ta download file đó về, còn file đó có kích thước khá lớn chúng ta nên chọn download sitemap.xml.gz để tốc độ lấy về của Google sẽ nhanh hơn, tiết kiệm chút ít băng thông của hosting.

Khi download được file này rồi, ta sẽ upload lên thư mục gốc của website ta (thường là public_html) rồi sau đó vào Google Search Console để thêm file này vào để Google sớm index website của ta chính xác.

Cách làm trên nếu tuần nào cũng làm sẽ thực sự nhàm chán. Thủ công không hẳn thủ công, tự động không hẳn tự động, tạm gọi là bán tự động.

Thin nghĩ rằng có thể làm tự động việc này mà không cần phải lo nghĩ là liệu sitemap của website mình có kịp cập nhật chưa.

Làm tự động hoàn toàn

Thin có chút kiến thức về ngôn ngữ lập trình web mang tên PHP. Chính vì vậy hậu trường website này chạy bằng Drupal CMS, một trong những ứng dụng quản lý nội dung được viết bằng PHP được ưa thích trên thế giới. Vậy thì việc sử dụng một công cụ tự động tạo sitemap bằng ngôn ngữ PHP sẽ thuận tiện, trong tầm tay, Thin có hy vọng mình thực hiện được.

1. Tìm kiếm và cài đặt công cụ làm

Tìm kiếm một công cụ như vậy, không đâu tốt bằng trang GitHub thần thánh. Vào đó tìm kiếm ra ngay một ứng dụng mang tên sitemap-php:

Sitemap PHP script

Thật đơn giản, chỉ cần mở Terminal lên, gõ lệnh:

git clone https://github.com/evert/sitemap-php.git

trong vòng một vài phút mã nguồn sitemap-php đã được download về thư mục trên máy tính. Mở thư mục ra xem có những gì trong đó:

File readme.md trong thư mục

Chỉ cần mở file README.md ra xem là có tất cả những "thần chú" để có thể cài đặt. Thin sẽ không kể chi tiết về việc cài đặt và loay hoay với một số trục trặc xảy ra trong quá trình thực hiện, nhưng rồi mọi chuyện đều tốt đẹp cả.

Đến bước này công cụ tạo sitemap cho website superthinlabs.com đã hoạt động, tức là đã có thể cho script chạy để tạo ra một file với tên sitemap.xml và đặt nó vào thư mục public_html để con bọ của Google có thể vào lấy nó dễ dàng.

Tuy nhiên, file sitemap.xml theo  thời gian sẽ có kích thước khá lớn, điều đó sẽ gây tốn kém băng thông không cần thiết. Do đó cần phải làm thêm một bước là tạo file sitemap.xml.gz từ file sitemap.xml.

2. Tạo file sitemap.xml.gz từ file sitemap.xml

Chỉ cần gõ Google với cụm từ how to create gzip file using PHP sẽ đọc được ngay bài hướng dẫn nào đó trên mạng để có thể tham khảo làm theo. Thin cũng không mô tả chi tiết ở đây, chỉ biết rằng cách xử lý giống như xử lý mọi file khác, sẽ có thủ tục để đưa file đầu vào và đường dẫn để tạo ra file đích, kết quả cuối cùng là một file sitemap.xml.gz đã được nén.

Sau khi có file sitemap.xml.gz, nếu là người cẩn thận cần phải download file này về hoặc sử dụng một công cụ do nhà cung cấp hosting trang bị để kiểm tra xem liệu file .gz vừa tạo ra có "hợp chuẩn" hay không, có bị đứt gãy hay vấn đề gì đó để rồi nó là thứ rác rưởi vô ích?

Nếu bạn đọc cẩn thận sẽ phát hiện ra rằng đến bước này xem ra Thin cũng chỉ mới có công cụ mà thôi, chỉ khác là công cụ này không phải là từ nguồn bên ngoài mà nằm ngay trên hosting, nhưng mọi thứ vẫn chư thể vận hành tự động.

3. Làm sao để công cụ tự động thực hiện mỗi tuần một lần?

Khá đơn giản, vì Thin đặt  website và công cụ trên hosting sử dụng hệ điều hành Linux, hệ điều hành này có một công cụ để chúng ta lập lịch chạy tự động cho thứ gì đó, người ta gọi là cron (nếu bạn nghe đến cron job, cron tab thì cũng anh em nhà này mà thôi). Nếu bạn từng học kỹ về hệ điều hành Windows thời xa xưa bạn sẽ hiểu cron này giống như autoexec.bat, hoặc chức năng Task Scheduler trên các bản Windows hiện đại.

Làm sao để dùng cron? Rất đơn giản, chỉ cần vào công cụ control panel do nhà cung cấp hosting cung cấp là có thể sử dụng. Trên môi trường hosting Linux dạng LAMP, thông dụng nhất là control panel cPanel, cũng có một số dịch vụ hosting sử dụng DirectAdmin hoặc một control panel khác nhưng cũng có những chức năng tương đương.

cPanel Cron jobs

Khi vào control panel, chỉ cần tìm đến mục có chữ Cron, đọc mục Help trong đó và loay hoay mất chừng 5-10 phút là có thể tạo được một lịch để có thể đến đúng giờ mà ta chỉ định thì tác vụ sẽ được thực hiện.

Từ lúc này, Thin có thể yên tâm (theo kiểu ăn ngon, ngủ kỹ) rằng mỗi tuần sẽ có một sitemap mới được tạo ra, chỉ cần thi thoảng nhìn qua xem liệu có lỗi nào được sinh ra để kịp  thời điều chỉnh mà không còn phải loay hoay tạo sitemap thủ công nữa rồi.

Bạn vừa đọc xong cách tạo sitemap.xml.gz rồi đấy.