Plug your keywords and websites to monitor and voila!
Almost 2 years ago, I have presented SEOPanel, to manage your Search Engine Optimization (SEO) on a web based interface.
This tool was about to monitor your keyword position, submit your website to several directories, etc…. but its development has been quite slow in the past year and we still have some important bugs. Also, I was not a big fan of its user interface.
As I’m helping the french webplatform MyUneo, which is a free platform to connect professionals and individuals where you can find the best professional around you, get quote or prices, get some good deals, etc… they needed a tool to better monitor their rank.
This is where I found Serposcope, an open source SEO rank tracker to monitor your position on Google and improve your SEO performance.
On top of a modern and intuitive interface, Serposcope let you monitor an unlimited number of keywords (But above 1,000 they recommend to use a database like MySQL for greater performance and reliability), allows you to track our own website but also your competitors, perform localized searches (based on Google extension, like .co.uk, .fr, etc…). Serposcope is also multi users and support proxies (To go faster on your queries or to avoid being temporarily blocked by Google) and also Captcha solving (through 3rd party services).
Serposcope is written in Java (I’m not a big fan of it tho) but do not require much dependencies apart from Java 1.8
Now, let’s see how to install Serposcope on your own server (Debian in my case).
1) Install or check you have Java >1.8
To check your java’s version, simply run:
sudo java -version
And you should see something like:
java version "1.8.0_66"
- If you don’t have Java or >1.8, here is how you can install it.
You can use the WebUpd8 Oracle Java PPA repository to simplify its installation
su - echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 apt-get update apt-get install oracle-java8-installer
You should now have Java 1.8 installed.
2) Download and install Serposcope
The good news is they have a .deb! (Version 2.2 as of today)
Simply run in root (or with sudo):
wget https://serposcope.serphacker.com/download/2.2.0/serposcope_2.2.0_all.deb dpkg -i serposcope_2.2.0_all.deb
And it’s all good!
You should now have access to Serposcope through http://YourIP:7134.
If you prefer to access it through a dedicated domain name/sub-domain, please check the final part on the virtualhost configuration.
3) Start your first monitoring project
When you access to your web instance, it will first ask you to create an admin account. Once done and logged, you can go to settings to tweak the default settings. For example to add a Captcha solver or proxy. If you don’t do it, you will need to limit the number of requests in order not to be blocked by Google. You could for example, display only 1 page but with 50 results and extend the time between each query. It will slow down the process but you will not be blocked.
You can also set the language of search by using the TLD of google (.fr, .co.uk, etc…)
Then, to start your first project, go to GROUPS, New Group, then add your keywords (You can also do a bulk import) and websites to monitor.
And finally click on CHECK POSITIONS.
4) Setup a CRON task
If you want to check your positions everyday, you could setup a CRON task directly inside the web interface in GENERAL. Simply enter what time the CRON task should start.
– Obviously, the first thing you need to do is to create a CNAME or A redirection through your domain name registrar, like seo.domain.tld
– Then, you need to install the mod-proxy-html
apt-get install libapache2-mod-proxy-html
while you will also need to activate the mod-proxy-http (Already installed)
– Then reuse this simple virtualhost:
Still in root:
and copy paste:
<VirtualHost *:80> ServerAdmin email@example.com ServerName seo.domain.tld ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:7134/ ProxyPassReverse / http://localhost:7134/ </VirtualHost>
Simply restart your apache service
Now you should be able to access to your Serposcope service directly through http://seo.domain.tld