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

IT

投稿日: 2019年10月23日
最終更新日:

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

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2025/01/05 12:56:12時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

Anker PowerCor

created by Rinker
Anker
¥3,990 (2025/01/05 12:09:11時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

【最新機種】GoPro hero11 Black

created by Rinker
¥61,300 (2025/01/05 20:59:47時点 楽天市場調べ-詳細)

最新機種でVlogの思い出を撮影しよう!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥33,000 (2025/01/05 13:22:08時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

ペヤング ソースやきそば 120g×18個

created by Rinker
ペヤング
¥3,280 (2025/01/05 12:33:38時点 Amazon調べ-詳細)

とりあえず保存食として買っておけば間違いなし!

モンスターエナジー 355ml×24本 [エナジードリンク]

created by Rinker
モンスター
¥4,718 (2025/01/05 12:33:40時点 Amazon調べ-詳細)

脳を活性化させるにはこれ!

MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド

Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!

スポンサーリンク

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

関連記事

YouTubeも見てね♪