Movable TypeでのGoogle Sitemapの自動生成

| | コメント() | トラックバック(0)
Blogも書いてみたことだし、SEO対策も研究してみるかと思い立ち、Googleを調べてみると、

ウェブマスター向けガイドライン 下記のガイドラインに沿ってサイトを作成すると、Google のインデックスに登録されやすくなります。 ガイドラインでは、Google のインデックスから完全に削除されるか、ペナルティが科せられる可能性のある不正なサイトについて説明しています。 ペナルティが科せられたサイトは、Google.co.jp や Google のパートナー サイトの検索結果に表示されなくなることがあります。 * デザイン、コンテンツ、および技術に関するガイドライン * 品質に関するガイドライン サイトの準備ができたら * 他の関連するサイトをリンクします。 * 下記の URL から Google に送信します。 http://www.google.co.jp/addurl.html * Google ウェブマスター ツールを使用してサイトマップを送信します。 Google では、サイトマップを使用してサイトの構造を認識し、ウェブページを検出しやすくします。 * 必要なすべてのサイトにサイトが公開されたことを連絡します。 * Open Directory プロジェクト、Yahoo!、その他の業界専門サイトなど、適切なディレクトリにサイトを登録します。
GoogleのSEO対策として、推奨されるガイドラインでは、URLを登録した後にサイトマップなるものを送信する必要があるらしい・・・。
サイトマップを使用すると、サイトの追加情報を Google に送信して、通常のウェブ クロール機能をさらに強化することができます。 サイトマップにより Googleでサイトのより多くのページをより迅速にクロールできますが、サイトマップの URL が Google のインデックスに追加されるかどうかは保証できません。 サイトマップを送信することで、サイトにとってデメリットとなることは一切ありません。
へぇ〜、しばらくこの分野から離れていたので浦島状態です・・・orz。
サイトマップ プロトコルを使うと、ウェブ サイト内のクロールさせたい URL を検索エンジンに知らせることができます。 サイトマップ プロトコルを使用した場合は、サイトの URL リストを含む簡単な形式の XML ファイルでサイトマップを作成できます。 このプロトコルは高い拡張性を持つため、どのような規模のサイトでも使用できます。また、最終更新日、更新頻度、URL の優先度など、各 URL の詳細情報を含めることができるため、検索エンジンでサイトをより正確にクロールできるようになります。 サイトマップは、ウェブ サイトのインターフェースやリンクからアクセスできないページがある場合に特に効果的です。 たとえば、検索フォームを使った場合にのみアクセスできるページがある場合は、サイトマップを作成して、検索エンジンに送信することができます。 ここでは、サイトマップ ファイルの形式と、検索エンジンに提供するサイトマップ ファイルの配置場所について説明します。
ここに詳細に仕様が載ってるね。ここまでドキュメントが充実しているのはすばらしいなぁ。
あとはMovable Typeで自動生成されるようにやるだけですなぁ。

Google Webmaster Toolsにログインし、「サイトを追加」の部分に目的のサイトのURIを入力し、コンテンツを識別するキーを生成する。

google_sitemap1.png
google_sitemap2.png
Moovable Typeで、テンプレートモジュールを作成し、Metaタグの中身を追加。
ヘッダーモジュール内で、<$MTInclude module="モジュール名"$>で呼び出すようにする。

google_sitemap3.pngヘッダーモジュールに直接書いてもいいけど、メンテナンス性や可読性を考えると面倒だけど参照するやり方の方がわかりやすい。

google_sitemap4.png
再構築してサイトに反映した後に確認ボタンを押すと、下記のような画面になりGoogle側に更新の情報がいく。これによって、クローラーに対して詳細な情報がいくようだ。

続いて、Movable Type側で自動でサイトマップが作成されるようにしなければならない。

Movable Typeのテンプレートタグリファレンスを確認しながら、以下のようなサイトマップのひな形を作成していく。

<MTほげほげ lastn="9999">
    <loc>文書のURI</loc>
    <priority>プライオリティ</priority>
    <changefreq>更新頻度</changefreq>
    <lastmod>最終修正日をW3C Datetime形式で</lastmod>
</MTほげほげ>
っていう感じで作っていけばよさそう。

注意するようなところとしては、

  • W3c Datetimeは原文を見れば一目瞭然。
  • MTほげModifiedDateの出力フォーマットだが、下記のどちらのアトリビュート指定でも大丈夫だった。
  • <$MTほげModifiedDate format="%Y-%m-%dT%H:%M:%S+09:00"$>
    <$MTほげModifiedDate format_name="iso8601"$>
    もちろん後者のほうがスマートなのはいうまでもないけど。
  • URIはファイル名に平気で日本語をつけてしまう担当者がいるかもしれないリスクを考慮して、encode_xmlのアトリビュートを指定しておく。

  • <?xml version="1.0" encoding="UTF-8"?>
    <urlset
      xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
      http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
      /* Title */
      <url>
        <loc><$MTBlogURL encode_xml="1"$></loc>
        <priority>1.0</priority>
    <MTEntries lastn="1" sort_by="modified_on">
    <lastmod><$MTEntryModifiedDate format_name="iso8601"$></lastmod>
    </MTEntries>
      </url>
      /* Category  */
      <MTCategories>
        <url>
          <loc><$MTCategoryArchiveLink encode_xml="1"$></loc>
          <changefreq>weekly</changefreq>
          <priority>0.5</priority>
        </url>
      </MTCategories>
      /* Entry */
      <MTEntries lastn="9999">
        <url>
          <loc><$MTEntryPermalink encode_xml="1"$></loc>
          <changefreq>daily</changefreq>
          <lastmod><$MTEntryModifiedDate format_name="iso8601"$></lastmod>
          <priority>0.8</priority>
        </url>
      </MTEntries>
      /* Web pages */
      <MTPages lastn="9999">
        <url>
          <loc><$MTPagePermalink$>
            <$MTPagePermalink encode_xml="1"$></loc>
          <changefreq>weekly</changefreq>
          <lastmod><$MTPageModifiedDate format_name="iso8601"$></lastmod>
          <priority>0.5</priority>
        </url>
      </MTPages>
    </urlset>
あとはMovable Typeのほうでインデックステンプレートを新規作成し、「出力ファイル名」に「sitmap.xml」などと指定して、保存と再構築をすれば生成される。

google_sitemap6.png
Google Webmaster Toolsの方で、「確認」ボタンを押して確認すると登録される。

google_sitemap5.png
メニューのサイトマップのリンクをたどり、「サイトマップを追加」画面で先ほど生成したxmlを指定する。

google_sitemap7.png


google_sitemap8.png
google_sitemap9.pngあとはGoogle側からクロールしてくるまでじっと待つだけ。

しばらく様子を見てみよう。

トラックバック(0)

このブログ記事を参照しているブログ一覧: Movable TypeでのGoogle Sitemapの自動生成

このブログ記事に対するトラックバックURL: http://blog.on-net.jp/tf/cgi-bin/mt-tb.cgi/10

コメント