Deploy OpenSEO Rank Tracking

Track Google keyword positions from your own server

Deploy OpenSEO Rank Tracking

Just deployed

/app/.wrangler

Just deployed

Deploy and Host self hosted OpenSEO Rank Tracking (Open-Source Keyword Rank Tracker) on Railway

This template gets you a private OpenSEO rank tracker on your own Railway project, with a password-protected gateway in front.

About Hosting OpenSEO Rank Tracking open-source software on Railway (self hosted OpenSEO rank tracking template)

Your keyword list, project data and rank history sit in a SQLite database on a volume attached to the OpenSEO service, so the positions you track stay on infrastructure you control.

Why Deploy OpenSEO Rank Tracking, the Ahrefs Rank Tracker alternative on Railway (Railway Free Trial)

Ahrefs Rank Tracker is solid, but it means a monthly subscription and your positions sitting on their servers. The data and history stay on your own volume.

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying OpenSEO Rank Tracking on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

Railway vs Other Hosting Providers and VPS for OpenSEO Rank Tracking self hosting

Railway runs the two-service OpenSEO stack for you, while a VPS means you handle Docker, the gateway and the scheduler yourself. The table compares the trade-offs.

ProviderWhat You Get with RailwayWhat You Get with the Other Provider
DigitalOceanOne-click deploy, a persistent volume for SQLite and public HTTPS.Cheap droplets and root access, but you run Docker and keep checks alive.
AWSTwo services wired together with no VPC or IAM setup.Deep networking control, but many moving parts for a small team.
HetznerBuilds at boot and a volume that survives redeploys.Low cost per gigabyte of RAM, but patching and uptime are on you.

Common Use Cases for hosted OpenSEO Rank Tracking

  • Weekly rank checks for a keyword list: Load your core terms into one project and let the scheduler check them on a fixed cadence. Read the movers list on Monday instead of pulling positions by hand. Each check spends DataForSEO credits, so trim the list to terms you act on.
  • Client reporting for an agency: Keep one project per client and share the report link so they see positions without a login. Share the report, not the admin password.
  • Watching positions after a site migration: Track old and new URLs for the same keywords for a few weeks after a move. Dips that recover quickly are usually noise, while drops that hold point to redirects or content gaps.
  • Local rankings by location: Set the location on each keyword so a local business is not measured against national results. Add the same term for two cities to see how far your reach really goes.
  • Comparing desktop and mobile positions: Add a keyword once per device and compare the two histories. Gaps of five or more positions usually mean the page renders differently on phones.

Dependencies for OpenSEO Rank Tracking Docker hosted on Railway

This template runs two services: the OpenSEO app on the private network and a Caddy gateway that is the only public entry point and handles login.

Deployment Dependencies for Managed OpenSEO Rank Tracking Service (SEO Rank Tracking)

  • OpenSEO service: image ghcr.io/every-app/open-seo:v0.1.13, private only, port 3001, health check at /api/health.
  • Gateway service: image caddy:2.11.7-alpine, the only public service, port 8080, health check at /healthz.
  • Volume: mount at /app/.wrangler on the OpenSEO service for the SQLite database and state.
  • DataForSEO account: a pay-as-you-go API login with a funded balance.

Implementation Details for OpenSEO Rank Tracking (Using OpenSEO official docker image)

The OpenSEO service sets AUTH_MODE=local_noauth, PORT=3001, ALLOWED_HOST=.railway.app and a generated BETTER_AUTH_SECRET.

How does OpenSEO Rank Tracking compare against other rank tracking tools

OpenSEO vs Ahrefs Rank Tracker (Ahrefs Rank Tracker Alternative)

  • Cost model: OpenSEO is free to self host, and you pay DataForSEO directly per check. Ahrefs bundles rank tracking into a monthly subscription.
  • Data depth: Ahrefs has a large proprietary index that OpenSEO does not match. Ahrefs wins on breadth of research around the rankings.
  • Control: Your keyword list and history stay on your own Railway service.

OpenSEO vs Semrush Position Tracking (Semrush Position Tracking Alternative)

  • Scale: Semrush handles large keyword sets with polished dashboards and team features. OpenSEO is an early v0.1.x project, so expect rough edges.
  • Per-check cost: Your DataForSEO spend scales with keywords, locations and check frequency. Semrush hides that behind plan limits.
  • Team access: OpenSEO runs behind one basic-auth login, which suits a single team. Semrush gives you per-user accounts.

OpenSEO vs SE Ranking (SE Ranking Alternative)

  • Ownership: SE Ranking is hosted, so the vendor owns the data and uptime. OpenSEO runs on your Railway project.
  • Features: SE Ranking has mature reporting and integrations. OpenSEO has shareable reports and an MCP endpoint, but fewer connectors.
  • Maintenance: With OpenSEO you handle redeploys, which cause about 2 minutes of downtime.

OpenSEO vs Google Search Console (Google Search Console Alternative)

  • Coverage: Search Console only reports queries your site already gets impressions for. OpenSEO tracks a fixed keyword list, including terms you do not rank for yet.
  • Data source: Search Console is free and uses Google's own click data. OpenSEO pulls live SERP positions from DataForSEO, which costs money per check.
  • Locations and devices: Search Console does not let you pick a city or device per keyword. OpenSEO does.

How to use OpenSEO Rank Tracking (the OSS SEO toolkit)?

Work through these steps on day one, once both services are green. The first boot takes about 2 minutes.

  1. Create a DataForSEO account and generate an API password. It is not your login password.
  2. Base64-encode login:API password:
printf 'you@example.com:YOUR_API_PASSWORD' | base64
  1. On the OpenSEO service, add DATAFORSEO_API_KEY with that value (the template leaves it blank) and redeploy.
  2. Sign in through the gateway as admin with OPENSEO_PASSWORD from the Gateway service.
  3. Create a project for your site.
  4. Add keywords, choosing a location and device for each, since desktop and mobile positions often differ.
  5. Schedule checks. The built-in scheduler looks for due jobs every five minutes.
  6. After the first run, confirm each keyword has a position before trusting the movers view.

How to self host OpenSEO Rank Tracking on other VPS Services (OpenSEO self hosting guide)

Clone the Repository

Start on any Linux VPS with Docker and Docker Compose installed. Clone the upstream project and move into it.

git clone https://github.com/every-app/open-seo.git
cd open-seo

Install Dependencies

You don't need to install Node or workerd on the host. Copy the example environment file so Compose can read your settings.

cp .env.example .env

Configure Environment Variables

Open .env and set DATAFORSEO_API_KEY to the base64 of login:API password from your DataForSEO API access page. Set ALLOWED_HOST to your hostname, for example your-domain.

Start the OpenSEO Rank Tracking Application

Bring the stack up in the background and check that the health endpoint answers.

docker compose up -d
curl http://localhost:3001/api/health

Open the app through your proxy once the health check passes.

Official Pricing of OpenSEO Rank Tracking (OpenSEO pricing)

OpenSEO is free and open source under the MIT license, so self hosting costs you nothing in software fees. New accounts get $1 of free credit, and the minimum top-up is $50.

OpenSEO Rank Tracking cloud vs self hosted comparison (Pricing, features, costs, and more)

Hosted OpenSEO at openseo.so costs $10 a month and adds 28% to every DataForSEO request. Self hosting skips both, so you pay DataForSEO directly and only the server bill remains.

Monthly cost of self hosting OpenSEO Rank Tracking on Railway

Expect roughly $5 to $15 a month for the OpenSEO service and gateway at light use, plus your DataForSEO usage. Rank checks are the part that scales, since each keyword check is a DataForSEO request.

System Requirements for Hosting OpenSEO Rank Tracking on a VPS

The app builds itself at boot, and memory peaks around 4 GB during that build. Plan for at least 4 GB of RAM for the first start.

Frequently Asked Questions (FAQs)

How often do rank checks run?

The built-in scheduler checks due rank-tracking jobs every five minutes, so no separate cron service is needed. Each keyword follows the schedule set for its project.

What does each check cost?

Each keyword check is a DataForSEO request billed to your own pay-as-you-go account. Keep the list lean, since a few hundred keywords checked daily adds up quickly.

Why does my project show no rankings?

Usually DATAFORSEO_API_KEY is missing or wrong. Confirm /api/health reports dataforseo as ok before expecting data.

Can I track local and mobile rankings?

Yes. Keep those settings consistent, or the movers report compares unlike results.

Can my clients log in to view reports?

Not as separate accounts. The gateway uses one basic auth login, so this is a single-team private tool. Share a report link when a client needs to see positions.

How is this different from Search Console?

Search Console shows average positions for queries you already get impressions for, and it's free. Use both for a fuller picture.


Template Content

More templates in this category

View Template
NEW
Plausible WordPress
Cookie-free WordPress stats from your own Plausible

onepush
0
View Template
Typesense Multilingual
Locale-aware multilingual search with Typesense

onepush
0
View Template
Formbricks | Open-Source Typeform & Qualtrics Alternative
Surveys, NPS and in-app feedback on your own Postgres, Hub and Cube

Two Workspaces
2