素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

IT

【Node.js】npmモジュールの「sitemap-generator」でサイトマップの生成を自動化しよう【クローリング】

投稿日:

スポンサーリンク

336×280




Sitemapを作りたい

静的サイトを作成している際に、複数ページにまたがる場合はSitemapを作成する必要があります。

サイトマップを使うと、ウェブマスターはサイト内のクロールされるページを検索エンジンに簡単に知らせることができます。 サイトマップは、最終アップロード日、通常の更新頻度、サイト内の他の URL との相対的な URL 優先度など、各 URL の詳細メタデータのほか、サイトの URL がリストされている簡単な形式の XML ファイルであるため、検索エンジンでより正確にサイトをクロールできます。
sitemaps.org – プロトコル

このサイトマップですが、URLが少ない場合は手作業で作っても良いかもしれませんが、ページ数が増えたり動的にページが生成される場合手動で管理するのは到底無理かつ無駄な作業といっても過言ではありません。

そこで、今回はsitemap-generatorを使って自動生成してみようと思います。

Generates a sitemap by crawling your site. Uses streams to efficiently write the sitemap to your drive and runs asynchronously to avoid blocking the thread. Is cappable of creating multiple sitemaps if threshold is reached. Respects robots.txt and meta tags.sitemap-generator – npm

手順

モジュールのインストール

まずは例のごとく、モジュールをyarnにてインストールします。

生成

まずはシンプルなsitemap.xmlを生成してみましょう。

実行用のsitemap.jsを用意してみます。

実行

node sitemap.jsを実行すると、以下のようなファイルが生成されると思います。

SitemapGeneratorを生成する際に指定したURLを自動クローリングしてサイトマップを生成しているようですね。

存在しないURLを指定するとエラー

存在しないURLを指定すると以下のようになります。

オプション

出力先の指定

sitemap.xmlはデフォルトでは実行ディレクトリに生成されます。

今回はpublic配下に出力するように変えてみようと思います。

オプションにfilepathを追加します。

確認

正しく出力先が変わっていることが確認出来ます。

最終更新日時の追加

sitemap.xml最終更新日も入れてみましょう。

オプションにlastModを追加します。

確認

こちらも正しくlastmodが追加されました。

ドキュメントによるとこの値は、http-equiv="Last-Modified"があればその値、なければ実行日が入るようです。

本日のオススメ商品

終わりに

Sitemapを作成する場合、手作業でやるのは大変なのでツールによる自動化はマストだと思います。

今回はGoogleが推奨するタグのみを出力してみましたが、他にも様々なオプションがありますので、興味のある方はぜひ試して見てください♪

336×280




336×280




CATEGORIES & TAGS

IT, , , , , , , , , , , , , , ,

blogenist

Author: blogenist