All Projects → sundios → Google-rank-tracker

sundios / Google-rank-tracker

Licence: other
SEO: Python script + shell script and cronjob to check ranks on a daily basis

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Google-rank-tracker

poke
A simple tool to check your site for broken links, media, iframes, stylesheets, scripts, forms or metadata.
Stars: ✭ 24 (-80.65%)
Mutual labels:  seo, seotools, seo-optimization
seotool
New version of my keyword tracking tool with additional features - works currently for google.de!
Stars: ✭ 52 (-58.06%)
Mutual labels:  seo, seotools, seo-optimization
DNZ.SEOChecker
SEO Checker and Recommander Plugin (like wordpress Yoast) for ASP.NET Core.
Stars: ✭ 18 (-85.48%)
Mutual labels:  seo, seotools, seo-optimization
people-also-ask
People also ask Google scraper. Get as many questions as you need to optimize your site for voice or new content ideas or answering questions about your desired topic.
Stars: ✭ 39 (-68.55%)
Mutual labels:  seo, seotools, seo-optimization
ecommercetools
EcommerceTools is a Python data science toolkit for ecommerce, marketing science, and technical SEO analysis and modelling and was created by Matt Clarke.
Stars: ✭ 41 (-66.94%)
Mutual labels:  seo, seotools, seo-optimization
SeoTags
SeoTags create all SEO tags you need such as meta, link, twitter card (twitter:), open graph (og:), and JSON-LD schema (structred data).
Stars: ✭ 113 (-8.87%)
Mutual labels:  seo, seotools, seo-optimization
SEO-Dashboard
SEO dashboard from Search console Data using the Google Search API, Mysql database , NodeJS RESTAPI( ExpressJS) and reactJs Dashboard
Stars: ✭ 39 (-68.55%)
Mutual labels:  seo, seotools, seo-monitor
SEO-Manager-Electron
Generates SEO Report Easily
Stars: ✭ 24 (-80.65%)
Mutual labels:  seo, seotools, seo-optimization
spiderable-middleware
🤖 Prerendering for JavaScript powered websites. Great solution for PWAs (Progressive Web Apps), SPAs (Single Page Applications), and other websites based on top of front-end JavaScript frameworks
Stars: ✭ 29 (-76.61%)
Mutual labels:  seo, seo-optimization
text-generator
Golang text generator for generate SEO texts
Stars: ✭ 18 (-85.48%)
Mutual labels:  seo, seo-optimization
drupal 8 unset html head link
🤖 Module for unset any wrong HTML links (like rel="delete-form", rel="edit-form", etc.) from head on Drupal 8.x websites. This is trust way to grow up position in SERP Google, Yandex, etc.
Stars: ✭ 19 (-84.68%)
Mutual labels:  seo, seo-optimization
pagespeedParseR
pagespeedParseR is an R wrapper for Google Pagespeed Insights API, that also enables convenient parsing
Stars: ✭ 20 (-83.87%)
Mutual labels:  seo, seo-optimization
seo-genius
Lightweight WordPress SEO plugin
Stars: ✭ 15 (-87.9%)
Mutual labels:  seo, seo-optimization
keywordsextract
keywords-extract - Command line tool extract keywords from any web page.
Stars: ✭ 50 (-59.68%)
Mutual labels:  seo, seotools
silverstripe-seo
An all-in-one SEO module for SilverStripe 4.1+
Stars: ✭ 35 (-71.77%)
Mutual labels:  seo, seo-optimization
magento2-module-seo
Magento 2 Module for Search Engine Optimization
Stars: ✭ 100 (-19.35%)
Mutual labels:  seo, seo-optimization
awesome-search-engine-optimization
A curated list of backlink, social signal opportunities, and link building strategies and tactics to help improve search engine results and ranking.
Stars: ✭ 82 (-33.87%)
Mutual labels:  seo, seo-optimization
php-text-generator
Fast SEO text generator on a mask.
Stars: ✭ 19 (-84.68%)
Mutual labels:  seo, seo-optimization
Sitemap Generator Cli
Creates an XML-Sitemap by crawling a given site.
Stars: ✭ 214 (+72.58%)
Mutual labels:  google, seo
Silverstripe-SEO
A SilverStripe module to optimise the Meta, crawling, indexing, and sharing of your website content
Stars: ✭ 41 (-66.94%)
Mutual labels:  seo, seo-optimization

Google Keyword Ranking Check with Python

Are you poor and don’t have money to buy an enterprise rank tracker? Well, today is your lucky day. With this python script, a shell script and crontab, you can automate Google rank checker in a few simple steps. I will explain step by step how to implement this and leave it running daily. One thing to note, currently the script does not use proxies to check for the keyword rankings, so if you are looking to run big sets of keywords, Google will notice this and will start showing a captcha.

Update: I have updated the script by adding the possibility of choosing what device you want to make the rank check. The two options are Mobile and Desktop. I will still leave the old script here but will change the name to rank_legacy.py.

Update2: Included a keyword.xls file that will run all your keywords from there. No need to add each one of those on the .sh file anymore. I also added a random sleep between queries so that Google won't catch us. The script now is more simple and easy to use.

Table of Contents


Installation

Installation of Python robobrowser

pip install robobrowser

After all, dependencies are installed, we can start testing if the script is working fine.

Running tests

Before running any test, we want to go into the keywords.xls file and add the keywords we want to check the ranks. We can add as many as we wish to, but the more keywords, the higher the chances Google will block you. (I will soon include the option of using proxies.)

After that, we open the terminal and go to the folder that rank.py is saved and give the script executing rights.

chmod +x rank.py

Now we can call our script followed by two arguments: the website we are looking for and the device we want to check on this can be mobile or desktop.

python3 rank.py [website] [device] 

For example

We want to check the website https://www.uselessthingstobuy.com/ on mobile against the keyword nothing package we need to include the keyword on keywords.xls file and run:

python3 rank.py https://www.uselessthingstobuy.com/ mobile

This will output the keyword, the ranking of the keyword, the URL that is ranking on Google, the device you chose, and the date we did this rank check.

Make sure that the device is lower case. If you misspell the device or add capital, the script will run using mobile device as default

nothing+package 1 https://www.uselessthingstobuy.com/product/give-nothing-for-the-person-who-has-everything/ mobile 01-07-2020

This will also generate a CSV file in the folder where rank.py is located. This will include all the information the terminal is showing.

For example:

Keyword Rank URL Device Date
nothing+package 1 https://www.uselessthingstobuy.com/product/give-nothing-for-the-person-who-has-everything/ mobile 01-07-2020

Creating a shell script

Now that we tested that rank.py works fine, we will create a shell script that will run our python script.

We create a new .sh file and add the terminal commands we ran before. Since we are running everything out of a keyword.xls file to make everything easier, we can call the script with the URL we want and the device we want to check in our rank.sh file. So forget about adding multiple lines and sleep times. I included the sleep times on the script and they do random number between 1,10 so that Google wont catch us. So the only thing we need to have is the following:

#! /bin/bash

/usr/bin/python3 /path_to_my_script/rank.py [website] [device] 

After we create the shell script we would need to make the script executable

chmod +x rank.sh

and then to test the shell script. We go to the console and run it using

./rank.sh

This will output 5 csv files and the output file name is composed by the date + [keyword] + [device]

Cronjob

Now that we have our .sh file running fine, we will set up a cronjob that will run every day at 5:00 pm

In the terminal, we type:

crontab -e

Then we will press the letter i to star editing and we will add the following:

0 17 * * * path_to_my_script/rank.sh

after adding this we press esc and add :wq to save.

Contributing and Questions

If you want to contribute or fix anything please feel free to do so.

If you have any question or need help setting this up please open an issue and will try to help.

If you have a werkzeug Error Read this As of February 2020 werkzug upgraded to 1.0.0 and RoboBrowser lazy developers havent fixed. To fix this you need to go to your Robobrowser folder on your computer something like (/Users/yourusername/opt/anaconda3/lib/python3.7/site-packages/robobrowser/) and open browser.py and add change from werkzeug import cached_property to from werkzeug.utils import cached_property

Please take a look at this url for more info: Link to issue

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].