Content Editorでサイトマップを設定する

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

マーケター、ストラテジスト、コンテンツ作成者は業界標準のSEOツールを活用し、自社のコンテンツが検索エンジンのインデックスに発見され、掲載されることを保証します。これを可能にするには、各サイトごとにサイトマップが必要です。

サイトマップは、検索エンジンクローラーがあなたのサイトをナビゲートし、SEOを向上させるのに役立ちます。デフォルトでは、サイトマップはサイト全体で生成され、XMLファイルに保存されます。XMLサイトマップは、検索エンジン向けに特別に作成され、ウェブサイト内の利用可能なページの詳細、それらの相対的な重要度、コンテンツ更新頻度を示します。サイトマップでは、各ページがURL要素で表されています。

注記

サイトマップ生成はContent Managementデータを使って公開可能な項目をリストアップし、実際に公開されているものは検証しません。つまり、公開されていなくても、最終的なワークフロー状態のページや言語版がサイトマップに表示されることがあります。ワークフローを使うことで、未公開ページの掲載を防ぐことができます。

各サイトごとにサイトマップリンクを正しく生成するためには、サイトホストのターゲットホスト名を設定する必要があります。このフィールドは、サイトマップエントリで使用されるベース・URL(例: www.example.com)を指定します。

このトピックでは、Content Editorを使ってサイトのサイトマップを設定する方法について説明します。また、サイトの設定を使ってサイトマップを設定することもできます

ホスト名の設定

サイトマップリンクが正しく生成されるようにするためには、サイトホストアイテムでターゲットホスト名とスキームを設定する必要があります。

注記

デフォルトでは、サイトマップはサイトのホスト項目のBasicセクションで定義されたHost Nameを使用します(<site collection>/<site>/Settings/Site Grouping/Site)。Host NameフィールドとTargetHostNameフィールドの両方が空の場合、サイトマップは404エラーを返します。

サイトマップのホスト名を設定するには:

  1. Content Editorのコンテンツツリーで設定したいサイトに移動し、<site collection>/<site>/Settings/Site Grouping/Siteアイテムを見つけてください。

  2. HostName欄とTargetHostName欄をサイトマップに合った正しいドメインに更新してください。

  3. 記事を公開してください。

サイトマップの設定

サイトにアイテムが公開されると、SitecoreAISitemapメディアアイテムを生成します。このプロセスは、前回のサイトマップ生成ジョブ完了後、定められた一定期間(リフレッシュ閾値)以内に行うことはできません。生成されたメディアアイテムには、Experience Edgeに提供されるSitemap.xmlファイルが含まれています。

サイトのサイトマップを設定するには:

  1. Content Editorでは、<site>/Settings/Sitemapへナビゲーションします。

  2. 以下の項目に記入してください:

    • Refresh threshold- Publish時にサイトマップが生成されてから再生成されるまでの時間。数分単位で測る。

    • Cache expiration - 分単位の時間で、その後現在のキャッシュが期限切れとなります。これをリフレッシュしきい値に合わせて設定します。

    • Maximum number of pages per sitemap- 指定されている場合、サイトマップの最大ページ数を決定します。

    • Generate sitemap media items- Experience Edgeと適切に動作するためには、SitecoreAIを有効にしなければなりません。

以下の表は、サイトマップ構成に利用可能なすべてのパラメータの完全な説明を示しています。

タブ

フィールド

概要

代替リンク

代替リンクの生成

サイトマップ内のURL要素にxhtml:link要素を追加するために選択してください。xhtml:linkは、同じページの他の言語版へのリンクなど、代替リンクに使われます。

例えば:

<url>
    <loc>https://sxa</loc>
    <lastmod>2021-10-28</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://sxa" />
    <xhtml:link rel="alternate" hreflang="en" href="https://sxa/en" />
    <xhtml:link rel="alternate" hreflang="da" href="https://sxa/da" />
</url>

x-デフォルトを含める

url要素にhreflangx-defaultに設定したまま、xhtml:link要素を追加する選択をしてください。x-default値は、検索アルゴリズムに対してページが特定の言語や地域をターゲットにしていないことを示します。

例:

<xhtml:link rel="alternate" hreflang="x-default" href="https://sxa" />

フレフラン

hreflang属性の言語と地域オプションを指定します:

  • with language and region - URLは地域依存コードと独立したコードの両方でレンダリングされます。例えば:

    <xhtml:link rel="alternate" hreflang="en" href="https://sxa/en" />
    <xhtml:link rel="alternate" hreflang="en-US" href="https://sxa/en-US" />
    <xhtml:link rel="alternate" hreflang="en-CA" href="https://sxa/en-CA" />
  • with region only - URLは地域依存コードのみで表示されます。例:

    <xhtml:link rel="alternate" hreflang="en-US" href="https://sxa/en-US" />
    <xhtml:link rel="alternate" hreflang="en-CA" href="https://sxa/en-CA" />
  • with language only - URLは地域に依存しないコードのみに表示されます。例:

    <xhtml:link rel="alternate" hreflang="en" href="https://sxa/en" />
    <xhtml:link rel="alternate" hreflang="da" href="https://sxa/da" />

URLセット属性

ラストモッド

url要素に属するlastmod属性をレンダリングするために選択してください。ページが最後に修正された日付を指定します。

チェンジフレック

url要素に属するchangefreq属性をレンダリングするために選択してください。ページの内容がどのくらいの頻度で変更されるかを指定します。

優先順位

url要素に属するpriority属性をレンダリングするために選択してください。特定のページの重要度を表す0から1までの数字を指定します。

URLオプション

Linkプロバイダー名

カスタムリンクプロバイダーを指定します。Sitecore.config filelinkManagerノードの下にあるprovidersノードに追加されます。空欄のままにすると、サイトのデフォルトのリンク提供者が使われます。

コンテンツクロール

クローラー

サイトからアイテムを取得するアイテムクローラーの名前を指定してください。デフォルト値はitemCrawlerです。 sitemapItemCrawler要素で複数のアイテムクローラーを定義できます。

例:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
    <sitecore>
        <experienceAccelerator>
            <siteMetadata>
                <sitemapItemCrawler>
                    <add name="itemCrawler" type="Sitecore.XA.Foundation.SiteMetadata.Sitemap.ItemCrawler, Sitecore.XA.Foundation.SiteMetadata" />
                </sitemapItemCrawler>
            </siteMetadata>
        </experienceAccelerator>
    </sitecore>
</configuration>

キャッシュ

リフレッシュしきい値

再構築作業間の最小時間枠を数分単位で指定してください。サイトマップはpublishで再構築されます。例えば、リフレッシュの閾値が0より大きい場合、次の再構築操作は直近の再構築操作の時刻とあなたが指定した時間より前に起こることはありません。

この分野の目的は、多くの公開作業がある場合に過度なサイトマップ再構築作業を防ぐことです。

キャッシュタイプ

サイトマップの保存方法を選択してください:

  • Inactive - サイトマップをオフにします。

  • Stored in cache - サイトマップをキャッシュに保存します。Azureなどの環境でホストされているサイトで、ドライブにファイルを簡単に保存できない場合や、頻繁に変更されるためほぼ毎回サイトマップを再生成しなければならない場合、このオプションを選択してください。

  • Stored in file - サイトマップをファイルに保存します。頻繁に変更されない大規模なサイトをお持ちの場合は、このオプションを選択してください。このオプションはデフォルトで有効にしています。

キャッシュタイプ

Cache Expiration - HttpRuntime.Cacheプロパティ内のサイトマップの寿命を分単位で指定します。

サイトマップ索引

サイトマップあたりの最大ページ数

サイトマップに含まれるページ数を指定します。サイトのページ数が制限を超えると、URLエントリーは複数のサイトマップに分割され、これらのサイトマップへのリンクを示すサイトマップインデックスが作成されます。

注記

フィールドを空にすると、すべてのURLエントリーが1つのサイトマップにレンダリングされます。

メディア関連

サイトマップのメディア項目を生成する

サイト公開時にサイトマップが保存されるメディアアイテムを生成するように選択してください。サイトマップをメディアアイテムに保存することは、Experience Edgeサービスを通じてレンダリングホストにサイトマップファイルを届けるために必要です。デフォルトで有効になっています。

注記

この分野はヘッドレスサイトにのみ適用されます。

サイトマップからアイテムを除外する

デフォルトでは、サイトによる 公開制限承認ワークフロー により公開から除外されたページはサイトマップには含まれません。ただし、エラー404ページのように承認・公開された他のページは除外したいかもしれません。

Content Editorを使ってサイトマップからアイテムを除外するには:

  1. Content Editorのコンテンツツリーで、サイトマップから除外したいコンテンツをクリックしてください。例えば、ホームページは<site collection>/<site>/Homeにあります。

  2. アイテムのSitemap settingsセクションで、Change frequencyフィールドをDo not includeに設定します。

  3. クリックSave

  4. Publishをクリックして記事を公開してください。

次にサイトマップが生成されキャッシュが期限切れになったときに、そのアイテムが除外されたことを確認できます。

注記

リフレッシュの閾値やサイトキャッシュの期限を待たずに、アイテムがサイトマップから除外されているか確認するには、Sitemapの設定項目<site collection>/<site>/Settings/Sitemapに行き、Refresh thresholdCache expirationの両方を0に設定してください。

テストが終わったら、これらの値を前の値に戻すのを忘れないでください。

サイトのサイトマップを探す

Content Editorでサイトマップを設定する際、Generate sitemap media items設定を有効にしていれば、生成されたサイトマップはMedia Libraryに保存されます。

注記

Sites UIを使ってサイトマップを設定する際、Generate sitemap media items設定はデフォルトで有効になっています。

サイトマップは以下のいずれかを行うことで見つけられます:

  • <site collection>/<site>項目のSitemap media itemsフィールドには、選択したサイトに関連付けられたサイトマップが表示されます。生値をオンにすると、サイトマップのIDが見え、コンテンツツリーで検索できます。

  • Media Libraryでは、以下のフォルダ内の特定のサイトマップ一覧を見つけることができます:Project<site>/<site>/Sitemaps/<site>

  • 以下のクエリを使って、Experience Edgeからサイトのサイトマップを取得します:

    query SitemapQuery($siteName: String!) {
      site {
        siteInfo(site: $siteName) {
          sitemap
        }
      }
    }
この記事を改善するための提案がある場合は、 お知らせください!