SEO順位チェックツール「SERPOSCOPE」をSynology NASにDockerインストールする手順
本記事はアフィリエイト・プロモーションを含みます
収益はブログ運営に充てられますので、記事が役に立ったと思ったらPRもクリックしていただけたら嬉しいです
無料で使えるSEO順位チェックツール「SERPOSCOPE」。
SERPOSCOPEは、WindowsやMac版のクライアントソフトウェアをインストールすることで、毎日決まった時刻に自動で検索順位チェックを基本無料で行ってくれる優れモノだ。しかもキーワードの数やサイトURLの数も無制限だ。
本記事では、そんな素敵なSEO順位チェックツールのSERPOSCOPEを、SynlogoyのNASにDockerでインストールして動かす手順を解説する。NASの電気料金はかかるが、PCとアプリを立ち上げておかなくても、毎日勝手に順位を取得してくれるので非常に便利だ。
VPSへSERPOSCOPEをインストールする場合も概ね同じような手順ではあるが、Synologyが優れているのは、一切CUI(コマンド)を書く必要無くGUIでDockerからインストール作業が完結する点だ。ストレージやバックアップ用途だけでなく、webアプリケーション環境も簡単に立ち上げられるのは、Synologyの素晴らしいところだ。
もしバックアップやデータストレージ用にNASの導入を検討しているのであれば、SynologyであればDockerでjavaやphpを動かしたり、VPSのように使うことができる。値段は張るが、メリットも大きいので参考になれば幸いだ。
SynologyのNASにDockerでSerposcopeをインストール
SynologyのNASは、アドオンパッケージの導入で簡単にDockerを利用できる。DSMのバージョン6.2では「Docker」、バージョン7.2では「Container Manager 」のパッケージを導入する。廉価版などモデルによっては対応していないので、対応状況はSynologyの公式情報をチェック。
DSMバージョン | パッケージ名称・対応機種 |
6.2 | Docker |
7.2 | Container Manager |
一応、非対応のDS218playにもDockerをインストールする裏技があるらしい。
なお、実際にSERPOSCOPEのインストールに用いたNASは、Synology DS916+(DSMバージョン7.1.1)。2016年のモデルだが、今日も元気に動いている。ちなみにHDDの稼働時間は48,036時間(5.48年)らしい。購入から5年経過したあたりで故障したACアダプターのみ買い替えたが、本体の信頼性・耐久性については申し分ない。
Synology DSシリーズの名称は数字3桁の1文字目がストレージの最大スロット数(拡張ユニットを含む)、2-3文字目は製品モデル年度、末尾の+(プラス)とかjとかはグレードを示す。DS923+なら、ストレージ最大9台搭載可能な2023年のモデルで、グレードはDS Plusシリーズ。
現行モデルはDS923+/DS423+/DS224+のあたり。廉価版モデルもあるが、搭載可能メモリの最大量やCPUのスペックに如実な差があるので、可能ならDS923+(2コア 3.1Ghz・最大メモリ32GB)を選んでおくとwebアプリを入れる際にも余裕だろう。
DS916+のコスパ(48,036時間稼働)
DS916+本体(59,288円)、Western digital red 3TBを4基(43,120円)、換装用メモリ8GB(12,252円)、ACアダプター(7,313円)で合計121,973円。
これらの費用をHDDの稼働時間で割ると、1時間あたり2.54円となった。またDS916+の消費電力を20W、1kWh単価30円とすると、1時間あたり電気料金は0.6円。あわせて3.14円/時。24時間で75.36円、1ヶ月(30日)で2260.8円。
RAID5の7.8TBがVPSライクに使えて月に2,260円は、安い。
Conoha VPSのメモリ8GB・ストレージ100GBが36ヶ月契約で2,075円/月。
BoxのBusinessプランがストレージ容量無制限で5,940円/月(3ユーザー契約が必要)が最安クラス。Dropboxの個人向け2TB 1,200円やiCloud+の2TB 1,300円/6TB 3,900円/12TB 7,900円も比較的安価に見える。
これらと比較しても安価である上に、なおかつ用途やユーザー数の制限が無いのでストレスフリーだ。
ストレージだけでなく、端末の自動バックアップ・同期、開発環境、メディアサーバー、webアプリケーションなど、様々な用途で使うなら、SynologyはNAS以上に大活躍するおすすめのデバイスだ。
使用するDockerイメージ(Serposcope v3)
Docker>レジストリから「serposcope」を検索するといくつも候補が出てくる。このうち、最新版(2024年2月現在)であるバージョン3.4
に対応しているbenoitpodwinski/serposcope
を選択してダウンロードする。タグの選択は「latest」。
公式に配布されているものではないので自己責任で利用していただきたいが、公式フォーラムのトピックと同一のコントリビューター(Benoit Podwinski氏)のようなので、ある程度は信用して良いと思われる。
なおmartinbouillaud/serposcope
も実績の多いイメージだが、こちらはバージョンが2.1.5
と古いので注意。WEB上のSERPOSCOPEについてのレビューもバージョン2系について書かれたものが多い。
Dockerイメージを起動する
ダウンロードが終わったら、イメージ>benoitpodwinski/serposcope:latest
を選択して「起動」。ネットワークは「bridge」を使用する。
全般設定は特にいじる必要は無いが、再起動の際に自動で立ち上がって欲しいので「自動再起動を有効にする」にチェック。
ポート設定では、予めコンテナのポート「6333」が入力されているので変更しないこと。
ローカルポートについては、Dockerコンテナが起動するたびにポート番号が変わると困る場合は任意の値を設定する。このローカルポート番号は、インストール後に実際にSERPOSCOPEを使用する際に用いる。たとえばローカルネットワーク内でポート番号49158
の場合だと、ブラウザにhttp://192.168.XXX.XXX:49158
のように入力してSerposcopeを利用する。後述するリバースプロキシによる外部アクセス設定でも、ここで指定したローカルポート番号を入力する。
ローカルポート番号の設定については、synologyのDSMサービスで使用するポート番号と重複しないよう留意する。自信がなければ、ローカルポートを自動にしたまま一度Dockerコンテナを起動して実際に割り当てられたポートを再度指定するのも良いだろう。
ボリューム設定では、Synology NAS内のDockerフォルダに新たにSerposcope
フォルダを作成して、マウントパスは/data
とした。最後に「要約」という名の確認画面が出るので、「ウィザード終了後、このコンテナを実行」にチェックを入れて「完了」。
コンテナが立ち上がると、CPU・RAMの仕様状況や、ポート番号等が確認できるようになる。
Synology Docker上のSerposcopeにアクセスする(ローカルネットワーク)
自宅・社内などのローカルネットワーク内であれば、ブラウザに次のように入力してアクセスする。
http://192.168.XXX.XXX:ポート番号
たとえばSynology NASのIPアドレスが192.168.1.10
で、Dockerで設定したSerposcopeのポート番号が49158
の場合だと、http://192.168.1.10:49158
のようになる。
Serposcopeのバージョン3.4では、バージョン2系にあったユーザーアカウント登録やログイン画面は存在しないので、即利用開始となる。
ローカルネットワークであれば、利用者は限定されるのでログインなしでも許容できそうだが、外部アクセスなど公開環境で運用する際は注意が必要だ。
Synology NAS上のSerposcopeをHTTPS化して外部アクセス可能にする
Synology NAS上にDockerでインストールしたSerposcopeをHTTPS化し、外部アクセスを可能にする手順は次のとおりだ。
- Synology DDNS証明書をワイルドカード証明書に変更してサブドメインに対応させる
- リバースプロキシを設定する
- アクセスコントロールを設定する(外部アクセスを制限する)
1.Synology DDNS証明証をワイルドカード証明書に変更してサブドメインに対応させる
Synology NASのDDNSの証明書は、デフォルトのままだとサブドメインに対応していない。これをサブドメインに対応させるため、ワイルドカード証明書に変更する。証明書のコモンネーム(CN)に「*(アスタリスク)」を含むように指定することで、www.
やdev.
、serp.
など複数のサブドメインに対応することができる。
セキュリティ>証明書から、DDNSの証明書(ここではmyds.me
)を選択して「追加」。
「既存の証明書を置き換えます」を選択し、次へ。
「Let’s Encryptからの証明書をお受け取りください」を選択肢、次へ。
ドメイン名 | これまで設定されていたものと同じ(sample.myds.me ) |
---|---|
電子メール | これまで設定されていたものと同じ |
サブジェクトの別名 | *.ドメイン名(*.sample.myds.me ) |
以上を設定することで、証明書のワイルドカード化は完了だ。数分で既存の証明書が、新しくワイルドカード証明書のものに置き換わる。この後のリバースプロキシ設定をあわせて行うことで、Synology NAS上のSERPOSCOPEにserp.sample.myds.me
といったサブドメインURLでアクセスが可能になる。
2.リバースプロキシ設定を行う
コントロールパネル>ログインポータル>詳細設定から、「リバースプロキシ」の設定を行う。
触るのは全般タブだけでOK。最初の項目「プロキシ名を反転」は管理上の名前(=説明)のようなので、適当に任意の名前を入力。ここではサブドメインと同じserp
を設定した。
※ドメイン(DDNS)については、Synologyから提供されるmyds.me
を使用しているが、利用環境にあわせて調整されたし。
Target
プロキシ名を反転 | 任意のわかりやすい名前 |
---|---|
プロトコル | HTTPS |
ホスト名 | 設定したいサブドメイン名(serp.****.myds.me) |
ポート | 443 |
アクセスコントロールプロファイル | 別途設定したアクセス制限 |
送り先
プロトコル | Serposcopeのローカルネットワーク内でのプロトコル |
---|---|
ホスト名 | localhost |
ポート | Dockerコンテナに設定したローカルポート番号 |
SERPOSCOPEのDockerコンテナを設定する際に指定したローカルポート番号を、「送り先」のポート番号に設定する。
以上の設定で、Synology DDNSのサブドメインでSERPOSCOPEへのアクセスが可能となる。
なお、外部アクセスの際のルーターのポート番号はコントロールパネル>外部アクセス>ルーターの設定より確認できる。
SERPOSCOPEのURLは、例えばhttps://serp.sample.myds.me:54321のように、https://サブドメイン(ホスト名):ルーターのポート番号となる。
https://リバースプロキシのTargetに設定したホスト名:ポート番号
このポート番号は、Dockerコンテナに設定したポート番号ともまた異なるので要注意。たとえばDockerコンテナのポート番号に49158
が設定されていて、上記リバースプロキシのルーターポートが54321
だとしよう。
ローカルネットワークからアクセスする際のURLhttp://192.168.1.10:49158
だったものが
外部アクセス(リバースプロキシ)の場合はhttps://serp.sample.myds.me:54321
となる。
さらにややこしい話だが、ローカルからアクセスする際にリバースプロキシを利用する場合のURLは、https://serp.sample.myds.me
となる(:ポート番号が不要)。
3.アクセスコントロールプロファイルでIPアドレスを制限
「アクセスコントロールプロファイル」を用いることで、リバースプロキシにユーザーのIPアドレスの制限をかけることができる。
例えば、ローカルネットワーク内の端末に限定する場合なら、「ソースまたはCIDR」の項目に192.168.1.0/24
を入力して「許可する」を設定したものを用意しておく(プロファイル名はローカルアクセス等)。これを、先程のリバースプロキシの設定で「アクセスコントロールプロファイル」の項目から選択することで、リバースプロキシにプロファイルが適用される。
外部からアクセスする特定の端末に制限したい場合は、グローバルIPアドレスを「ソースまたはCIDR」に入力するが、固定IPアドレスサービスの利用者でも無い限り、IPアドレスを変更の都度入力する必要があるので推奨しない。
実際に外部からアクセスする際は、ローカルネットワーク内に制限した上で、VPN接続するのが現実的だと思う。Synology NASであれば「VPN Server」のアドオンで無料でVPNが利用できる。Dockerに対応しているSynology NASであれば概ね対応していると思われるが、対応状況はこちらからチェック。
なおSynologyとmacbook(macOS)でVPN環境を構築する手順は次の投稿で解説しているので参考にしてほしい。
SERPOSCOPEは無料だが、アンチCAPTCHAのコスト負担は必要
以上、無料の順位チェックツール「SERPOSCOPE」をSynology NASにDockerでインストールして使用する方法について解説してきたが、SERPOSCOPEは完全無料で使うことは実は難しい。
冒頭にSERPOSCOPEが「基本無料」と書いたのは、現実的には、検索エンジン=Googleのボット対策(CAPTCHA)の対策(Anti-CAPTCHA)に追加コストを支払う必要がある為だ。ボット対策コストを支払わずに完全無料で使った場合、SERPOSCOPEはGoogleにCAPTCHAで弾かれてしまうエラーが頻発する。SERPOSCOPEを利用する場合は、月$1程度ではあるが、Anti-CAPTCHAのコスト負担が必須だ。
SERPOSCOPEは日本語化されていない。ドキュメントも、注意書きも、エラーも全て英語のため、前述のCaptchaについても日本人の理解が得られないまま「使えない認定」されがちなツールでもある。
Anti-CAPTCHAの費用は微々たるもの(1000回で$1〜2程度)なので、しっかり設定さえすれば他のツールと遜色ない精度で、相当なコスパの良さで日々の順位チェックが可能だ。
SERPOSCOPEのアンチCAPTCHA設定
SERPOSCOPEのSettings>Captchasに、事前に契約したアンチCAPTCHAサービスのAPIキーを入力する。利用可能なサービスは以下の4つだが、Google reCAPTCHA(v2およびv3)に対するコスパと速度のバランスが良いanti-captcha.comが日本語対応しておりオススメだ。
anti-captcha.comの場合は、Paypalの他に暗号通貨(BTC/ETH/BNBなど)でも支払が可能だ。Paypalでは$10が最小単位だが、暗号資産の場合は$0.1など任意の数量で決済が可能。送金手数料(ガス代)が別途かかるため、手数料の低い通貨を用いると良い。
なお、送金の際は利用するネットワークにも注意。上記はBNBで決済する例だが、「Binanceスマートチェーンネットワークトークンにのみ対応しています。」と注意書きがある。誤ってopBNBや BNB Beacon Chain(BEP2)で送金してしまうと、セルフGOXで当該の暗号通貨は永久に失われてしまう。BNBで入金する場合は必ずBSC(Binance Smart Chain)のネットワークを利用すること。
また、anti-capthca.comとあわせて2つ以上のアンチCAPTCHAサービスを登録しておくことを推奨する。
SERPOSCOPEで順位チェックする時間帯にもよるが、アンチCAPTCHAサービスのWorker(労働者=CAPTCHAを解く人)が居ない場合や解答に時間がかかる場合など、1つのサービスだけではCAPTCHAエラーとなってしまう場合がある。
弊社の利用環境(5サイトx20キーワード=100キーワード程度)においては、anti-captcha.comと2captcha.comを併用することで、CAPTCHAが原因のエラーはほぼ発生していない。日によってばらつきはあるが、2つあわせて1日あたり$0.06(約10円)だ。
なお順位チェックに時間をかけてよいのであれば、Scraping>Pauseの設定を増やすことでCAPTCHAを回避できる。30秒の設定だとCAPTCHAによるチェックが1日に10〜15回程度発生して前述の費用負担があったが、試しにPauseを60秒に増やしたところCAPTCHAが0回=無料になった。ただし、1回順位チェックするたびに60秒の間隔をおくため、100ワード×10ページ(100位)までの場合1000分(16.6時間)かかる計算だ。
何ページまで取得するか、何秒間隔で取得するかは、時間とコストのバランスをみて設定するのがよいだろう。
その他の順位チェックツール
無料のSERPOSCOPEをクラウド(Synology NAS)上で動かすのも、アンチCAPTCHAの登録&設定もなんだか大変そうだなあと思ったなら、次に紹介する順位チェックツールがおすすめだ。設定の手間やアンチCAPTCHAへの支払を考えると、100キーワード程度であればクラウド型の順位チェックツールは決して高い金額ではない。
Nobilista(ノビリスタ)
はじめて順位チェックに取り組むのであれば、クラウド型の順位チェックツールNobilista(ノビリスタ) がオススメ。使いやすい画面デザインでいい感じに表示してくれるだけでなく、検索ボリュームや競合数、想定流入数といった重要な指標もチェックできるのがNobilistaの強みだ。サイト数が3つ・登録キーワードが150までであれば月額990円〜で利用可能だ。
GMO順位チェッカー
料金面では、GMO順位チェッカー が優れている。1サイト・10キーワードなら月額0円で利用可能。5サイト100キーワードのプラン「プロ100」でも月額485円なので、立ち上げたばかりのサイトや、はじめてSEOに取り組む場合にも適している。
難点は、データが二次利用される点と、画面デザインがイマイチで見にくい事。
後述するGRCと同じくらいのコストで、クラウド型の順位チェックツールが利用できるのは非常にコスパに優れたサービスと言える。
GRC
同じくインストール型のSEO順位チェックツールといえば、GRCが有名である。2004年の公開以来プロユースとしてSEO業界で使われてきた実績がある。3URL・20キーワードまでは無料で使用できる。有料ライセンス(月額495円〜/年額4,950円〜)の契約で、5サイト・500キーワードの計測が可能となる。
GRCとSERPOSCOPEはエラー表示=ボット対策(CAPTCHA)の面で比較されているのをよく目にするが、実際GRPはこのCaptchaの問題が出にくい模様。検索エンジンの仕様変更にも、原則即日対応を謳っている。提供はWindows版のみだが、GRCは安心して使える(安心して課金できる)メリットが大きい。
なお同一IPから同じキーワードを1日に2回検索した際にはGRCでもGoogle:ERR(x)の表示が出るケースもあるようなので、用法用量は守るのが吉。
もちろん、既にSynology NASを持っているとか、英語に抵抗がないとか、Macユーザーの場合には、ぜひSERPOSCOPEの導入にチャレンジしてみてほしい。