2012年1月
データの移行に伴い、phpコードの文字化けが発生している箇所があります。
&lti や > のような文字化けが出ているコードはコピーしないでください。
現在、手直し中です。すみません。

WP3.0ネットワークでGoogle Sitemapを作成する

9月21日追記。

WordPress3.0のネットワークに対応したプラグインが登場しました。


Google XML Sitemaps with Multisite support

http://wordpress.org/extend/plugins/google-xml-sitemaps-with-multisite-support/

人気のプラグイン『Google XML Sitemaps』をベースに改良されたマルチサイト対応版です。
ファイルの書き換えなどは必要なく、インストールするだけで完全に動作します。

ネットワークユーザーが待ちに待ったプラグインではないでしょうか。
ぜひお試し下さい☆

以下は上記のプラグインが開発される以前、マルチサイトに適応するノウハウとして公開されていたものです。
参考にどうぞ。

§ 以前の記事

2010年6月29日リライト。

下記で紹介していた『XML Sitemap Feed』ですが、途中で上手く動作しなくなる不具合がありましたので、改めて、より確実な方法を追記します。

人気のプラグイン『Google (XML) Sitemaps Generator for WordPress』を使ったファミリーブログでの設置の仕方です。

参考サイト;Google XML Sitemaps and WordPress Multisite

http://blog.dembowski.net/2010/06/09/google-xml-sitemaps-and-wordpress-multisite/

まず、配布元から最新バージョンのプラグインファイルをダウンロードします。

WordPress公式サイト 『Google XML Sitemaps』

(1)プラグイン管理画面の警告メッセージを非表示にする

圧縮ファイルを解凍して、テキストエディタで sitemap.php を開きます。

51行目あたり『Check for 3.0 multisite~return;』の部分を下記のようにコメントアウトします。

google sitemap



(2)rewrite rule を追加する

次に.htaccessファイルを開いて、WordPressのrewrite ruleの上部に、新しいルールを追加します。
(下方に追記すると反映されないのでご注意ください)

RewriteRule ^sitemap.xml sitemap-%{SERVER_NAME}.xml [L]
RewriteRule ^sitemap.xml.gz sitemap-%{SERVER_NAME}.xml.gz [L]



(3)Google Sitemap プラグインの設定

上記の作業が済んだら、プラグインファイルを wp-content/plugins をアップロードし、管理画面で有効化します。

「ネットワーク有効化」はNGです。

各ブログにおいて「有効化」および「設定」します。

有効化したら、プラグインの設定画面を開き、「サイトマップファイルの場所」で「手動設定」を選択し、「ファイル名を含むサイトマップファイルへの相対もしくは絶対パス」および「ファイル名を含む Sitemap ファイルへの完全な URL」を指定します。
このパスを間違うとサイトマップが正しく生成されませんので確実に。

google sitemap



(4)sitemap.xmlの存在確認

ネットワーク上の各ブログのsitemapは、blogs.dir/○/files/ に作成されます。

次のように生成されていれば成功です。

google sitemap

次にブラウザでも確認します。

設置したURLにアクセスし、次のようなsitemapが生成されていればOKです。

google sitemap

この作業を各ブログにおいて繰り返します。

「ネットワーク有効化」にするとサイトマップがきちんと生成されないのでご注意ください。



(5)ウェブマスターツールへの登録

Googleのウェブマスターツールから「サイト設定」→「サイトマップ」を開き、各ブログのサイトマップのURLを指定します。

google sitemap

読み込みがなされて、ステータスに緑のチェックが付けばOKです。

google sitemap



(6)robots.txtの作成

通常、プラグイン管理画面で、robots.txtを自動生成するにチェックが入っていますが、ネットワークで利用する場合は、このチェックをオフにして、手動で作成します。

google sitemap

テキストエディタで Sitemap: から始まるSitemapのURLを記述し、WordPressを設置しているトップディレクトリにアップロードします。
sitemap.xml と sitemap.xml.gz 両方記述しておくとベターです。

google sitemap


これで上手い具合に動作しています。

いずれプラグイン自身、ネットワーク機能に対応すると思いますが、それまでは手動で対応しかなさそうです。

少々面倒ですが、大事なポイントなので、設置する価値はあると思います。

以下は古くなった情報ですが、参考までに。


2010/06/16付。

新しい情報を追加しました。

WP3.0 ネットワーク機能で各ブログのGoogle Sitemapを作成する方法

旧い記事にも記したように、WP3.0のネットワーク機能でファミリーブログを構築すると、従来のプラグインで自動生成されていた各ブログのSitemapが生成されなくなります。

SEOにおいては、Sitemapが非常に重視されていますので、ぜひ作成されることをお勧めします。

現段階において、完璧に動作するプラグインは次の通りです。

XML Sitemap Feed http://wordpress.org/extend/plugins/xml-sitemap-feed/

配布先からプラグインのファイルをダウンロードしたら、普通に wp-contents / plugins にアップロードします。

その後『Network Activate』を有効にすれば、自動的に、各サイトにおいてSitemap.xmlが生成されるようになります。

子サイトでSitemapを生成したくない場合は、各サイトにおいてプラグインを有効化します。

『XML Sitemap Feed』の特徴は、従来のプラグインと異なり、サーバー上にxmlファイルを生成しないことです。

Sitemapが生成されたか否かは、ブラウザで、設置したURL / sitemap.xml にアクセスして確認します。

Google Sitemap

存在が確認できたら、Googleウェブマスターツールの『サイトマップ』にアクセスし、各SitemapのURLを送信します。

Google Sitemap

ステータスに緑のチェックが現れたら成功です。

Google Sitemap

あと、トップディレクトリにrobots.txtを設置して、Sitemapのアドレスを明記します。

Sitemap:の形でURLを記載します。

Google Sitemap



『XML Sitemap Feed』は、従来の人気プラグインのように、優先度を設定したり、カテゴリーやタグインデックスを排除したり、という細かな設定はできません。

単純に、記事のURLを通知するという程度のものなので、物足りない方もあるかもしれません。

しかし、現段階で、ウェブマスターツールにちゃんと認識されるSitemapを自動生成してくれるプラグインはこれ一つなので、とりあえずこちらを使って様子を見るといいと思います。

§ Google (XML) Sitemaps Generator を使う方法

こちらの記事は古い情報になります。
プラグイン本体のバージョンアップに伴い、下記の方法が通用しなくなったので、新しい情報を追加しました。
一応「こういう方法もあった」ということで参考にご覧下さい。
ただし、このプラグインも、将来的にはWP3.0のネットワーク機能に対応することが期待されますので、こちらの方が気に入っている方は新バージョンの公開を待たれてもいいかと思います。

WordPress3.0から備わったネットワーク機能ですが、サブディレクトリに子サイトを設置した場合、Googleなど検索エンジンにインデックスを送る XML Sitemap の作成が怪しくなります。

なぜなら、子サイトは各々独立したサイトでありながら、独自のXML Sitemapを自動生成しないため、ウェブマスターツールも上手く読み込んでくれないんですね。

そこで解決方を一つ。

人気のプラグイン、Google (XML) Sitemaps Generator for WordPressに手を加えて、子サイトが独自のXMLファイルを自動生成するよう調整します。

参考サイトはこちら Google Sitemaps on WordPress-MU

まず、sitemap-core.php をエディタで開き、functionの「GetXmlUrl」および「GetXmlPath」の2箇所を次のように書き換えます。

GetXmlUrl

function GetXmlUrl($forceAuto=false) {
    if(!$forceAuto && $this->GetOption("b_location_mode")=="manual") {
        return $this->GetOption("b_fileurl_manual");
    } else {
        return trailingslashit(get_bloginfo('siteurl')) . 'files/' .
            $this->GetOption("b_filename");
    }
}

GetXmlPath

function GetXmlPath($forceAuto=false) {
    if(!$forceAuto && $this->GetOption("b_location_mode")=="manual") {
        return $this->GetOption("b_filename_manual");
    } else {
        wp_mkdir_p(ABSPATH . UPLOADS);
        return ABSPATH . UPLOADS  . $this->GetOption("b_filename");
    }
}

すると、子サイトのアップロードフォルダーである「blogs.dir」→「files」内に、次のように自動生成されます。

sitemap xml

次に、ウェブマスターツールにアクセスして、xmlファイルの置き場所を絶対パスで指定します。

sitemap xml

これで緑のチェックが付けばOKです。

もともとMU用の手法なので、WP3.0のネットワーク機能でも万全なのかどうか分かりませんが、とりあえずXMLファイルを認識してもらえたので、一つの方法として試してみてください。

§ ワンポイント

プラグイン設定で、「サイトマップのURLを仮想robots.txtに追加」という項目がありますが、ネットワークで使う場合、これはチェックを外しておきましょう。

でないと、プラグインがまったく違うURLを自動生成して、検索ロボットに伝えてしまうからです。

sitemap xml

ですから、robots.txtの自動生成はオフにして、自分で作成するのが確実です。

ウェブマスターツールで認識されたアドレスを、「Sitemap:URL」という形で書きます。

sitemap xml

ご参考までに。

§ WordPress3.0ネットワーク機能に関するその他の記事

[seriesposts]

Ads

3 Comments

  1. サイトのブログ
    7月 01, 2010 @ 23:31:17

    マルチサイトでGoogle (XML) Sitemaps Generator for WordPressを使う

    マルチサイトとPINGとマップ…

    返信

  2. そのうち試してみたいWORDPRESSのプラグイン27個 | WgimP
    4月 12, 2011 @ 10:37:46

    [...] WP3.0ネットワークでGoogle Sitemapを作成する 初めてのWordPress&PC [...]

    返信

  3. WORDPRESSでインストールしたプラグイン31個とその全説明+9個 | WgimP
    6月 01, 2011 @ 11:46:33

    [...] 絶対にインストールしたいプラグインGoogle XML Sitemaps検索エンジン用のサイトマップを生成するプラグイン。携帯用サイトマップにすることも可能。マルチサイトに対応した新しいWP3.0ネットワークでGoogle Sitemapを作成する – 初めてのWordPress&PCっていうのもあり、今から導入するなら後者の方がベターかも。 Dagon Design Sitemap Generator人間様用のサイトマップを生成するプラグイン。上のメニューにある「サイトマップ」の方です。 All in One SEO Packタイトル、キーワード、ディスクリプションなどをページごとに設定できるプラグイン。SEO系のプラグインの中では簡単にインストールできるので、おすすめ。タイトルとh1を変えるとSEOに有利とか、、 Ktai Style携帯からアクセスあった場合に、自動でWPを携帯用に変換してくれるプラグイン。 WP super cache静的なページをキャッシュすることにより、サイトスピードを上げサーバーの負荷を下げる。静的なページなのでSEOにも有利。 後継でQuick Cacheというプラグインがあり、マルチサイトにも対応している。Quick Cacheは最初の項目をON(enable)にするだけで作動するので、導入が簡単でちょーおすすめ。 WPtouchiPhoneとかに対応させるプラグインで日本語にも対応しているので、便利。 brBrbrWordPress改行プラグイン 3.0以降はこちら(2.9もOK) ・ CamCam WPでは出来ない連続改行が出来るようになるプラグイン。 [...]

    返信

Leave a Reply

Trackback URL

QR Code Business Card