t28.dev

略解 sitemap

2021/3/2
Tech

せっかくサイトを作ったので Google Search Console にサイトを登録したところ…。

add sitemap sample

あーあれね、サイト内のページの構造を書いたやつ…😊

脳みそ止めて plugin を探してもいいですが 、せっかくなので簡単に調べてみます。

ググる。

サイトマップについて

ここみた (Google 検索セントラル - サイトマップについて )。

  • なに?

    サイト上のページや動画などのファイルについての情報や、各ファイルの関係を伝えるファイルです。

  • だれが使うの?

    Google などの検索エンジンは、このファイルを読み込んで、より高度なクロールを行います。

  • クローラーに任せればいいんじゃないの?

    サイトの各ページが適切にリンクされていれば、Google は通常、サイトのほとんどのページを検出できます。

  • じゃあ要らない?

    クロールを改善する手段としてサイトマップが役立ちます。

    サイトマップを提供することで有益な結果が得られ、デメリットになることはありません。

=> よし、sitemap 作ろう 💪🔥

ちなみに、Google 検索セントラル - サイトマップについて に、必要なケース・不要なケースの例が記載されていて分かりやすいです。 t28.devの場合、

サイトが新しく、外部からのリンクが少ない。

ため、やっぱり作ったほうが良さそう。

作り方・使い方

ここ見た (Google 検索セントラル - サイトマップの作成と送信 )。

サイトマップ形式一般的なサイトマップに関するガイドライン については、 長いものに巻かれる方針(plugin 使う) に従って一旦読み飛ばして…

せっかく作った sitemap を サイトマップを Google で利用できるようにする には、

Search Console のサイトマップ レポートを使用してサイトマップを Google に送信します。

robots.txt ファイルの任意の場所に次の行を挿入して、サイトマップへのパスを指定します。

などが手段としてあるようので、しっかり登録するようにします。

gatsby-plugin-sitemapで sitemap を出力してみる。

gatsby には sitemap.xml を出力してくれる plugin (gatsby-plugin-sitemap) があるので、ありがたく使わせて頂きます。 出力結果を見てみると、

<?xml version="1.0" encoding="UTF-8"?>
<urlset
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0"
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
  xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"
>
  <url>
    <loc>https://t28.dev/start-blog-with-gatsby/</loc>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://t28.dev/rough-knowledge-sitemap/</loc>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://t28.dev/</loc>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
  </url>
</urlset>

なんとなく意味は分かりそう。 (<urlset>内の子要素としてサイト内のページを<url>で定義する。ページごとの詳細を<loc>とかで定義する。)

sitemaps.org で 仕様を見てみる。

Attribute必須ざっくり訳説明
<urlset>(略)
<url>(略)
<loc>-ページの URL。プロトコルで始まって、/で終わらないと駄目。
<changefreq>-ページ更新頻度。クローラーは参考程度に扱う。
<priority>-サイト内のページ内の優先順位。クローラーにとって重要なページを教えるだけ。サイト内で相対的に扱うだけなので、google 検索結果とは関係なし
  • <loc>は trailing slash じゃないと駄目ってのは、 hoge.html 的なページは sitemap に登録出来ないってことなのかな…
  • <changefreq>daily って本当かいって感じだけれど、更新するケースもあるし、参考程度ならいいのか。
  • 使用上のprioritydefault value は 0.5 だけれど、plugin 的には 0.7 を真ん中にしている理由はあるのだろうか 🤔

以下、余談。

次の場合は、サイトマップは必要ありません。 サイトのサイズが「小さい」。サイトのページ数がおよそ 500 ページ以下の場合にサイズが小さいと考えます。

500 記事超え、頑張ろ〜〜〜〜〜〜〜👊😊