検索順位計測ツールと言えばGRCがメジャーですが、mac版は無いため使用する場合はひと手間掛かってしまいます。
macでも無料で使用できる検索順位計測ツールがSERPOSCOPE。
しばらく自分のmacに入れて使っていますが、計測時間にPCの電源を入れておかなくてはならなく忘れるとデータが欠けてしまいますし、PCを使用していない場合そのために電源を入れる必要があり面倒です。
SERPOSCOPEはWindows、Mac版以外にLinux版もあるため、javaが動く環境であればレンタルサーバーでも動作します。
今回はさくらのVPSにSERPOSCOPEをインストールした手順を説明したいと思います。
動作環境の確認
今回設定したのは、さくらのVPS CentOS6+nginxという環境です。
ウェブサーバーはApacheでもnginxでもどちらでもOKですが、Serposcopeはjavaが動作する必要があります。
以下コマンドで「-bash: java: コマンドが見つかりません」となった場合はインストール、既にインストールされている場合は飛ばしてください。
[admin@hogehoge ~]$ java -version -bash: java: コマンドが見つかりません
yumでインストールできるjavaを確認します。
[admin@hogehoge ~]$ yum search openjdk 読み込んだプラグイン:fastestmirror, langpacks Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast Determining fastest mirrors * base: mirrors.cat.net * epel: ftp.iij.ad.jp * extras: mirrors.cat.net * updates: mirrors.cat.net epel 12707/12707 zabbix-non-supported 4/4 =================================================== N/S matched: openjdk ==================================================== java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment java-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment java-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment without audio and video support java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle java-1.8.0-openjdk.i686 : OpenJDK Runtime Environment java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment java-1.8.0-openjdk-accessibility.i686 : OpenJDK accessibility connector java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector java-1.8.0-openjdk-accessibility-debug.i686 : OpenJDK accessibility connector for packages with debug on java-1.8.0-openjdk-accessibility-debug.x86_64 : OpenJDK accessibility connector for packages with debug on java-1.8.0-openjdk-debug.i686 : OpenJDK Runtime Environment with full debug on java-1.8.0-openjdk-debug.x86_64 : OpenJDK Runtime Environment with full debug on java-1.8.0-openjdk-demo.i686 : OpenJDK Demos java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos java-1.8.0-openjdk-demo-debug.i686 : OpenJDK Demos with full debug on java-1.8.0-openjdk-demo-debug.x86_64 : OpenJDK Demos with full debug on java-1.8.0-openjdk-devel.i686 : OpenJDK Development Environment java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment java-1.8.0-openjdk-devel-debug.i686 : OpenJDK Development Environment with full debug on java-1.8.0-openjdk-devel-debug.x86_64 : OpenJDK Development Environment with full debug on java-1.8.0-openjdk-headless.i686 : OpenJDK Runtime Environment java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment java-1.8.0-openjdk-headless-debug.i686 : OpenJDK Runtime Environment with full debug on java-1.8.0-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full debug on java-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentation java-1.8.0-openjdk-javadoc-debug.noarch : OpenJDK API Documentation for packages with debug on java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK API Documentation compressed in single archive java-1.8.0-openjdk-javadoc-zip-debug.noarch : OpenJDK API Documentation compressed in single archive for packages with debug : on java-1.8.0-openjdk-src.i686 : OpenJDK Source Bundle java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle java-1.8.0-openjdk-src-debug.i686 : OpenJDK Source Bundle for packages with debug on java-1.8.0-openjdk-src-debug.x86_64 : OpenJDK Source Bundle for packages with debug on icedtea-web.x86_64 : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation openprops.noarch : An improved java.util.Properties from OpenJDK Name and summary matches only, use "search all" for everything.
First, check if java > 1.8 is setup. Open a terminal and execute java -version and be sure it is at least 1.8 version.
Serposcopeで推奨しているバージョンが1.8以上なので1.8.0をインストール。
[root@hogehoge ~]# yum install java-1.8.0-openjdk
無事インストールが確認できました。
[root@hoge ~]# java -version openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
SERPOSCOPEのダウンロード
ダウンロードは公式サイトからブラウザでダウンロードしてFTPクライアントでアップロードでも良いですが、今回はターミナル(SSHクライアント)から実行しました。
ウェブのルートディレクトリ(今回は/var/www/serposcope/DocumentRoot)に移動してSERPOSCOPEをダウンロード。
[root@hoge ~]# cd /var/www/serposcope/DocumentRoot [root@hoge DocumentRoot]# wget https://serposcope.serphacker.com/download/2.10.0/serposcope-2.10.0.jar
ウェブサーバーの設定
nginxですがこのような設定にしました。
ベーシック認証は通常必要ないのでauth_basic、auth_basic_user_fileのあたりは無くても良いでしょう。またポートが7134ですので、Firewallのポートを開ける必要があります。
server { listen 80; server_name search.hogehoge.com; #ドメイン名 access_log /var/www/serposcope/log/nginx/access.log main; #アクセスログ error_log /var/www/serposcope/log/nginx/error.log warn; #エラーログ auth_basic "admin only"; #ベーシック認証 auth_basic_user_file "/var/www/serposcope/.htpasswd"; charset UTF-8; client_max_body_size 50M; root /var/www/serposcope/DocumentRoot; location / { root /var/www/serposcope/DocumentRoot proxy_pass http://127.0.0.1:7134; proxy_set_header X-Forwarded-Host $host; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
設定変更後はnginxの再起動。
Serposcopeの起動
次にSerposcopeを起動します。
ターミナルを閉じても実行したままにするためnohupコマンドで実行。
[root@hoge ~]# nohup java -jar /var/www/serposcope/DocumentRootserposcope-2.10.0.jar
データのエクスポート・インポート
データのエクスポートは[ADMIN]-[SAVE]でexport-utf8.sql.gzというファイルがダウンロードできました。
インポートはダウンロードしたファイルの解凍後、[ADMIN]-[RESTORE]でSQLファイルを指定してあげれば全て(今までの順位データ・設定)引き継げます。
エラーにならない設定
Googleは同じIPから何度も検索をすると負荷軽減のためにロボットかどうかの判定が入ります。
キーワード数が増えてくるとエラーになることが多くなり、有料のアンチCAPTCHAサービスを利用するか、取得間隔を延ばすことで回避可能。アンチCAPTCHAも1000認証/1ドルとそれほど高くはありませんがチリツモですので取得間隔で調整しています。
以下が[ADMIN]-[GOOGLE]の設定画面。
PauseのMin、MaxはGoogleへのリクエスト間の一時停止時間(秒数)Min120秒、Max180秒にしてますが、この設定にしてからエラーになったことはありません。時間はかかりますが・・・。
サーバーにインストールしておけば外からでも見れますし、かなり快適になりました。
さくらのVPSやAWSはもちろん、ConoHa VPSでも動作しますのでSERPOSCOPEをローカルPCで運用していて不便に感じている方は是非チャレンジしてみてはどうでしょうか。