masalibの日記

システム開発、運用と猫の写真ブログです

SEO対策のサイトマップ作成をした

f:id:masalib:20150803210451p:plain

概要

古いサイトを運用して今更ながら
サイトマップを登録しようという事になった
サイトが古くて誰も構成を把握していなかった
sitemapxmlというサイトを使ったが対応できなかった
wgetのクローリングをつかって
サイト全体を落としてサイトマップを作った時の
事を記載します

経緯について

古いサイトなんだけど
WEBマスターツールをインデックス数が少なかった
また更新をおこなっているがインデックスが下がる事があった
(パンダアップデートかも・・・)
googlefetchで検索エンジンを呼んだりしたが

インデックス数に変化はなかった
そこでgoogle検索エンジンにきてもらう為に
sitemapを作る事にした

ちなみにwordpressなどではsitemapを作成する
プラグインがあるので一般的にはそちらを使うはず・・・

便利なサイトについて

www.sitemapxml.jp


こちらのサイトにURLを入力してサイトマップを作る
のボタンを押すと自動的につくってくれます~♪

このサイトの欠点
・ユーザーエージェントが変更できない
 → PCとガラゲーのUAしかなかったので
   スマフォサイトのURLが全然取れなかった

・該当のページが302のリダイレクトで移動されると
 無視されてその事実を把握できない
 → 結果としてURLの100件数未満で少なかった

・URLが1000件までしか作れない
 → 目標は記事数ぐらいの5000件以上だった

wgetでのクローリングについて

sitemapxmlのサイトのように
クローリングを自前でできないのかと
思って”クローリング ツール”で検索した所
なんとwgetがヒットした

f:id:masalib:20150803211114p:plain

girigiribauer.com

準備

linuxの環境
 たぶんそのままで使えます

macの環境
 brew install wget
 
Windowsの環境の場合
 標準で入っていないのでインストールする
 http://memorandum.yamasnet.com/archives/Post-1555.html

作業手順

コマンドライン(ターミナル)を開く

作業用フォルダに移動して下記のコマンドを実行する

cd /tmp
wget -r -l 3 -Rjpg,png,css,js,gif  -I /sp -X /sp/user -D XXXX.net  -E http://XXXX.net/

コマンドの詳細

# 再起を3回おこなう
-l 3

# jpg,png,css,js,gifを除外する
-Rjpg,png,css,js,gif

# spを対象フォルダを設定する
-I /sp

# /sp/userの除外フォルダを設定する
# 除外フォルダはrobots.txtでも代用できます
-X /sp/user

# 対象ドメインを設定する
-D XXXX.net


# 保存ファイルの拡張子を.htmlにしてくれます
 –E


注意点
 ・サイトが大きい時間がかかる可能性があります
 ・HTMLの取得作業がサーバーの負荷になる可能性があります
  適当な時間でまってくれるオプションの
  --random-waitをつけたほうが安全です
 ・ユーザーエージェントはwgetになってしまうので
  --user-agent='Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5'
  のオプションで変更できる

実行後の事後作業


コマンドが完了すると
作業用フォルダにXXXX.netというフォルダができるのでそこに移動する

cd XXXX.net


ファイルのみをリストを作成する
Windowsの場合

dir *.hmtl /b /S  > filelist.txt

linux or macの場合

find /tmp/XXXX.jp -type f > /tmp/XXXX.jp.filelist.txt

(フォルダがあると正しいURLがつくれないからです)



作成されたfilelist.txtを秀丸で開く

下記の置換をおこなう

.html → なし
%3f → ?
\ → /
c:/data/wget/XXXX.net → http://XXXX.net
(ローカルフォルダによってことなります)


全ての内容を選択してtabを押す

正規表現にして置換する
\t → <url><loc>
\n → @@@@@@@\n
@@@@@@@ → </loc><priority>0.8</priority></url>

正規表現のチェックをはずして
& → &

作成したURLを下記のヘッダーとフッタをたす

ヘッダー

<!--?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">

フッター

</urlset>

作成したサイトマップをWEBマスターツールに登録します
登録後、ゆっくりゆっくりインデックス化されます
support.google.com


ちょっと手順が長いですが
手動でつくるより簡単に作れます

追記:

正規表現のチェックをはずして
& → &

がぬけていたので修正