pshapiro / rankenberry

Simple rank tracking off of 3rd party api with advanced data features
GNU Affero General Public License v3.0
38 stars 10 forks source link

rankenberry-logo Rankenberry: SEO Rank Tracker

License: AGPL v3

"A simple rank tracking application leveraging a 3rd party API with advanced data features."

Project Overview

This SEO Rank Tracker is a web application that allows users to track search engine rankings for specified keywords across different projects. It utilizes multiple 3rd party APIs to fetch SERP data, such as SpaceSERP (lifetime deal on AppSumo), and search volume information, providing advanced features for data analysis and visualization.

Key Features

Tech Stack

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/seo-rank-tracker.git
    cd seo-rank-tracker
  2. Set up the backend:

    cd backend
    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
    pip install -r requirements.txt
  3. Set up the frontend:

    cd ../frontend/rankenberry-frontent
    npm install
  4. Install additional JavaScript libraries:

    npm install axios pinia v-calendar plotly.js-dist-min
  5. Create a .env file in the backend directory and add your API keys:

    SPACESERP_API_KEY=your_spaceserp_api_key_here
    GREPWORDS_API_KEY=your_grepwords_api_key_here
    GOOGLE_CLIENT_ID=your_google_client_id_here
    GOOGLE_CLIENT_SECRET=your_google_client_secret_here

    To obtain your Google Search Console API credentials:

    1. Go to the Google Cloud Console.
    2. Create a new project or select an existing one.
    3. Enable the Google Search Console API for your project.
    4. Go to the "Credentials" section and create a new OAuth 2.0 Client ID.
    5. Choose "Web application" as the application type.
    6. Add authorized redirect URIs (e.g., http://localhost:5000/oauth2callback for local development).
    7. After creating, you'll receive a Client ID and Client Secret. Use these in your .env file.

Additional JavaScript Libraries

These libraries are essential for the functionality of the frontend application. They handle API communication, state management, date selection, and data visualization respectively.

Getting Started

Prerequisites

Running the Application

  1. Start the backend server:

    cd backend
    uvicorn app:app --reload
  2. In a new terminal, start the frontend development server:

    cd frontend/rankenberry-frontent
    npm run dev
  3. Open your browser and navigate to http://localhost:5173 to use the application.

Usage

  1. Add a new project with a domain.
  2. Add keywords to track for each project.
  3. Fetch SERP data for your keywords.
  4. View and analyze ranking data over time.
  5. Use the tagging system to organize and filter keywords.
  6. View historical data for individual keywords.
  7. Export keyword history data as needed.

New Features

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Acknowledgments

TODO

For a list of planned features and improvements, please see our TODO list.


Note: The SpaceSERP link is an affiliate link, which means I may receive commission if you sign up from those links.