SiteMap スニペットの使用方法(私的翻訳)
(posted at: 2015-08-07)
Google sitemap を生成する SiteMap スニペットの使用方法。
Step-by-step: How to create a Google sitemap in MODx using SiteMap snippet?
の私的翻訳。
2 ステップバイステップ:Sitemap スニペットを使用して MODx でグーグルサイトマップを生成する方法
SiteMap スニペットを使用すれば、MODx で運用されているサイトにサイトマップドキュメントを生成することができます。現段階では、2つのフォーマットのサイトマップ生成に対応しています。
- サイトマッププロトコル - グーグルサイトマップにネイティブなフォーマット(グーグルは、他のフォーマットにも対応しています)
- URL リストを含むテキストフォーマット
- ドキュメントツリーのルートにリソースを作成する(サイトのルートでなければなりません)。テンプレートタイプは blank を使用(内容は空)し、リットテキストエディターは使用しないこと。
- content type を text/xml に設定する
- エイリアスを sitemap.xml とする
- リソースウィンドウの「内容」エリアに次のスニペットコールを記述する。
[!SiteMap? &format=`sp`!]
- ドキュメントを保存する。
- 使用テンプレートによって除外する
- テンプレート変数を使用する
- ドキュメントを検索不可にする
- まずenarion.netで最新バージョン1.5aをダウンロードします(リンク切れ)
- 次に、MODxの管理画面にログインし、sitemap.xml を複製します
- ドキュメントのエイリアスを、sitemap.xsl に変更します。
- ダウンロードしたファイルを「本文」エリアに貼り付けます。リッチテキストエディターは使わないでください。
- 「更新」ボタンを押し、新規ドキュメントを作成します。
- 以上で完了です。
2-1 sitemap.xml の生成とスニペットコール
2.1.1 問題発生時の対処法
この方法は、MODx Evo 1.0.2 では必ずしも有効ではないという報告があります。
うまく動作しないときは、”XML Sitemap" という空のテンプレートを作成し、そこに直接スニペットコールを記述する方法を試してみてください(blank テンプレートを選択し、行ってみてもよいでしょう)。そして普通に、sitemap.xml というページを作成して、先に作成したテンプレートを適用します。content type とその他の設定は正しく行ってください。
2.2 とても簡単です
これで完了です。グーグルサイトマップが作成されました。作成したドキュメントは、URL: http://www.yourdomain.com/sitemap.xml でアクセス可能です。
作成したドキュメントを見てみましょう。純粋な XML ドキュメントなので、簡単には読めません。ページのソースコードを見れば、その理解の役には立つでしょう。ドキュメントのなかには、404エラーのような特別なページから、ログインページ、検索結果などなど、すべてのドキュメントが羅列されていることが分かるでしょう。
もうグーグルのクローラー対策の心配はありません。なかには、クロールされたくないページもあるでしょう。それは、パラメーターの設定で行うことができます。
2.3 サイトマップ に掲載したくないページを除外する
サイトマップからページを除外する方法は3つあります。
すべてのルールは、それぞれ同時に機能させることができます。つまり、使用テンプレートによって除外していなくても、テンプレート変数によって除外することができますし、テンプレート変数を設定していなくても、将来的にサイトマップから除外することもできるということです。
この3つの方法により、サイトマップからの完全なリンク除外手段が提供されることになります。
2.3.1 使用テンプレートによって除外する
ドキュメントは、どのテンプレートを使っているかによって、サイトマップから除外することができます。この方法は、将来的にもずっと検索対象から外したい場合に適しています。&excludeTemplates 変数を使用し、対象テンプレートをコンマ区切りで記述します
次の例は、"blank"、"empty"、"hidden"テンプレートを使用したドキュメントをサイトマップから除外します。
[!SiteMap? &format=`sp` &excludeTemplates=`blank, empty, hidden`!]
バージョン1.0.8からは、テンプレート ID による指定も可能です。
[!SiteMap? &format=`sp` &excludeTemplates=`blank, empty, hidden, 3, 4`!]
テンプレート名の代わりに テンプレートID を指定しておけば、テンプレート名を変更しても除外対象から漏れることはありません。
2.3.2 テンプレート変数を使う
テンプレート変数を設定することにより、サイトマップから除外することもできます。この方法は、一時的にサイトマップから除外したいときに適しています。 各ドキュメントに設定されたフラグを、&excludeTV で指定します。
テンプレート変数 &excludeTV が 1 のときに、サイトマップから除外する例が以下です。
[!SiteMap? &format=`sp` &excludeTV=`sitemap_exclude`!]
2.3.3 ドキュメントを検索不可にする
SiteMap のバージョン1.0.5以降では、「ページ設定」タブで「検索対象に含める」チェックがされていないドキュメントは、自動的にサイトマップから除外されるようになりました。
2.3.4 ウェブリンクの除外(バージョン1.06以降)
オプションの excludeWeblink パラメーター(boolean)を使えば、ウェブリンクをサイトマップから除外することができます。たとえば、(サイトマップには掲載されてない)外部サイト、あるいはリダイレクトしている(サイトマップに掲載されている)内部サイト。グーグルウェブマスターツールズでは、過度のリダイレクトに対する警告が発せられており、その対策として使用すればよいでしょう。
[!SiteMap? &excludeWeblinks=`1` !]
2.4 ドキュメントに、「優先度」と「更新頻度」を設定する
2.4.1 優先度
グーグルサイトマップのプロトコルでは、サイト上の他のドキュメントに対しての優先度を設定することができます。優先度の最低は 0.0 最高は 1.0 です。デフォルトでは中間値の 0.5 が設定されます。
この値は、他サイトに対するあなたのサイトの個別ページの優先度を設定するものではなく、あくまでサイト内の優先度を設定します。検索エンジンのクローラーは、その優先づけに応じて、あなたのサイトを評価します。("Using the sitemap protocol" より(リンク切れ))
優先度設定はオプションです。&priority パラメーターを使用し、各ドキュメントに設定します。
以下、sitemap_priority テンプレート変数に設定された値を、サイトマップの各ドキュメントに設定する例です。
[!SiteMap? &format=`sp` &priority=`sitemap_priority`!]
2.4.2 更新頻度
サイトマッププロトコルでは、各ドキュメントの更新頻度の設定が可能です。この値は、コマンドとしては機能せず、あくまで検索ロボットに対して、再訪問頻度を設定するための参考値として参照されます。
クローラーはこの情報を元に訪問頻度を判断する際、「毎時」と更新頻度と設定していても、それほど来ないかもしれないし、「毎年」と設定していても、もっと来るかも知れません。また、「決して更新しない」と設定していても、予期せぬ設定変更に対応するために、定期的に訪問することもあります。("Using the sitemap protocol" より(リンク切れ))
更新頻度設定はオプションです。&changefreq パラメータを使用し、各ドキュメントの設定します。
以下、sitemap_changefreq テンプレート変数に設定された値を、サイトマップの各ドキュメントの設定する例です。
[!SiteMap? &format=`sp` &changefreq=`sitemap_changefreq`!]
2.5 サイトマップのブラウザ確認用に sitemap.xsl を使用する
サイトマップドキュメントは XML 形式のため、ブラウザで読解するのが困難です。書き出された結果を最もシンプルに点検する方法は、ソースコードを見ることです。SiteMap スニペットは、よく整形されたコードを書き出しています。
もう一つの方法は、XSL スタイルシートを使う方法です。サイトマップのソースコードを見れば、その2行目に sitemap.xsl へのリンクがあることにお気づきになられるでしょう。
<?xml-stylesheet type="text/xsl" href="sitemap.xsl"?>
sitemap.xsl を書き出されるようにすれば、ブラウザ上できれいに整形されたサイトマップを確認することができます。以下がその方法です。
これで、きれいにデザインされた最終更新日、更新頻度、優先度の記されたリンク付きリストをブラウザで確認できるようになりました。
Mozilla/FireFox を利用する際は、.htaccess file に以下の記述を加えてください。
# Mozilla requires this to handle XSL stylesheets AddType application/xml .xsl