更新:2018/10/24
無料の検索順位チェックツールといえば検索順位チェックツールGRCが恐らくシェアNo.1ですよね。
しかし残念ながらMacでは使えなくてRankTrackerを試したり、その他のソフトを探したのですが良いのが見つからず、結局VirtualBoxでWindowsの仮想環境を作ってGRCを使う運用をしていました。
とりあえずは問題なく使っていたのですが、記事数が多くなりロングテールキーワードが増えてくると計測したいキーワードも増えてきます。しかしGRCの無料版は3URL、20キーワードまでの制限があるため、新しく計測したいキーワードが出てきたら古いワードを削除するなりしての運用を余儀なくなれていました。
そんな若干の不満を持ちつつ先日知ったのが「SERPOSCOPE」という無料の検索順位チェックツール。嬉しいことにキーワードは無制限(Unlimited Keyword)。興味がわいてきましたがMacのインストール手順のあるページが無いようでしたので残しておこうと思います。
SERPOSCOPEとGRC(無料版)との違い
前述した通りSERPOSCOPEは計測キーワード、URLは無制限。これが最大のメリットじゃないでしょうか。ちなみに検索エンジンはGoogleのみです。
SERPOSCOPE | GRC | |
---|---|---|
URL数 | 無制限 | 3URL |
キーワード数 | 無制限 | 20 |
検索エンジン | Google/Yahoo/Bing |
ツールの言語は英語ですが、それほど難しいワードが出てくるわけではないので問題はないでしょう。
SERPOSCOPEのダウンロード
ウェブサイトにアクセスしてロゴの下にある「Download」をクリック。
Open source rank checker for SEO | serposcope
右から2番めのファイルの「Download」をクリックしてダウンロードします。
インストール準備
ダウンロードしてきたファイルはクリックしてもそのままでは何もおきないです。
SerposcopeではJDK 1.8以上が必要になります。ターミナルでまず確認していきます。
[Finder]-[移動]-[ユーティリティ]を開いてターミナル.appをクリック
以下のコマンドを入力してエンターを押します。
java -version
インストールされていない場合、以下のメッセージが表示されます。 OKをクリック。
"java"コマンドラインツールを使用するには、JDKをインストールする必要があります。
JDKのダウンロード
Accept License Agreement(使用許諾契約に同意)を選択、Mac OS X用のJDKをダウンロードします。
Java SE Development Kit 8 - Downloads
JDKのインストール
ダウンロードしたdmgファイルをクリック。中央の箱の部分をダブルクリックするとインストーラーが立ち上がります。
続けるをクリック。
インストールをクリック。
パスワードを入力して「ソフトウェアをインストール」をクリック。
数十秒でインストールは終ります。「閉じる」で終了。
もう一度java -versionでチェックしてインストールしたJDKのバージョンが返ってこれば成功です。
XXX:~ hogehoge$ java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
ダウンロードしたフォルダに移動します。以下ダウンロードフォルダの場合。
XXX:~ hogehoge$cd Downloads
ファイルがあるかlsコマンドで確認。現在のディレクトリにあるファイルの一覧が表示されます。もし違うフォルダにある場合は先ほどのcdコマンドで移動してください。
XXX:Downloads hogehoge$ls
ダウンロードしてきたserposcope.jarがあったらjava -jar serposcope-2.10.0.jarと入力してエンター。
XXX:Downloads hogehoge$java -jar serposcope-2.6.0.jar starting serposcope service [2016-09-30 21:37:39,843] [NinjaJetty] INFO c.SerposcopeConf - serposcope.version : 2.10.0 [2016-09-30 21:37:39,846] [NinjaJetty] INFO c.SerposcopeConf - serposcope.datadir : /Users/hogehoge/serposcope [2016-09-30 21:37:39,846] [NinjaJetty] INFO c.SerposcopeConf - serposcope.logdir : /Users/hogehoge/serposcope/logs [2016-09-30 21:37:39,846] [NinjaJetty] INFO c.SerposcopeConf - serposcope.db.url : jdbc:h2:/Users/hogehoge/serposcope/db;MODE=MySQL [2016-09-30 21:37:39,846] [NinjaJetty] INFO c.SerposcopeConf - serposcope.db.debug : false [2016-09-30 21:37:39,846] [NinjaJetty] INFO c.SerposcopeConf - serposcope.listenAddress : 0.0.0.0 [2016-09-30 21:37:39,846] [NinjaJetty] INFO c.SerposcopeConf - serposcope.listenPort : 7134 [2016-09-30 21:37:39,931] [NinjaJetty] WARN o.e.j.s.h.ContextHandler - Empty contextPath [2016-09-30 21:37:39,941] [NinjaJetty] INFO s.l.MyNinjaJetty - Trying to start jetty vnull on 0.0.0.0:7134 [2016-09-30 21:37:40,146] [NinjaJetty] INFO c.Module - now logging to /Users/hogehoge/serposcope/logs/2016-09-30.log Can't establish connection to database org.h2.jdbc.JdbcSQLException: データベースが使用中です: null. 可能な解決策: 他の接続を全て閉じる; サーバモードを使う Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-189] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) at org.h2.message.DbException.get(DbException.java:168) at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:187) at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167) at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99) at org.h2.engine.Database.getPageStore(Database.java:2450) at org.h2.engine.Database.open(Database.java:672) at org.h2.engine.Database.openDatabase(Database.java:269) at org.h2.engine.Database.(Database.java:263) at org.h2.engine.Engine.openSession(Engine.java:65) at org.h2.engine.Engine.openSession(Engine.java:175) at org.h2.engine.Engine.createSessionAndValidate(Engine.java:153) at org.h2.engine.Engine.createSession(Engine.java:136) at org.h2.engine.Engine.createSession(Engine.java:28) at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349) at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:107) at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:91) at org.h2.Driver.connect(Driver.java:72) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:270) at com.serphacker.serposcope.di.db.DataSourceProvider.get(DataSourceProvider.java:40) at com.serphacker.serposcope.di.db.DataSourceProvider.get(DataSourceProvider.java:21) at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81) at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53) at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61) at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45) at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103) at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:205) at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:199) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199) at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110) at com.google.inject.Guice.createInjector(Guice.java:96) at ninja.Bootstrap.initInjector(Bootstrap.java:204) at ninja.Bootstrap.boot(Bootstrap.java:94) at ninja.servlet.NinjaServletListener.createNinjaBootstrap(NinjaServletListener.java:131) at ninja.servlet.NinjaServletListener.getInjector(NinjaServletListener.java:109) at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47) at ninja.servlet.NinjaServletListener.contextInitialized(NinjaServletListener.java:61) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) at org.eclipse.jetty.server.Server.start(Server.java:387) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) at org.eclipse.jetty.server.Server.doStart(Server.java:354) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at ninja.standalone.NinjaJetty.doStart(NinjaJetty.java:107) at ninja.standalone.AbstractStandalone.start(AbstractStandalone.java:166) at ninja.standalone.AbstractStandalone.run(AbstractStandalone.java:87) at serposcope.lifecycle.Daemon.start(Daemon.java:19) at serposcope.lifecycle.Daemon.main(Daemon.java:15) Caused by: java.lang.IllegalStateException: The file is locked: nio:/Users/hogehoge/serposcope/db.mv.db [1.4.189/7] at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773) at org.h2.mvstore.FileStore.open(FileStore.java:172) at org.h2.mvstore.MVStore.(MVStore.java:342) at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2884) at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154) ... 57 more
以下のURLにアクセスしてユーザー作成画面が表示されたらインストールは完了です。
http://127.0.0.1:7134/create-admin
ユーザーの登録
Eメールアドレスとパスワードを入力して「Create」をクリック
Admin account createdと表示されたら管理ユーザー作成完了です。
最後に
以上で無料検索順位チェックツール「Serposcope」をMacにインストールが出来ました。
長くなりましたのでログイン〜キーワードの登録などは次の記事にしたいと思います。