seonaut is a free, open source marketing & customer engagement project written in Go and released under MIT. It has 786 GitHub stars, 133 forks and 9 open issues, and was last pushed 4 months ago. On this registry it ranks #41 of 50 tracked projects in Marketing & Customer Engagement, with 5 head-to-head comparisons available. It gained 3 stars over the last 3 tracked days.

What is seonaut?

What it is

SEOnaut is an open-source SEO auditing tool written in Go under the MIT license. It is a web-based application that analyzes websites for issues that may affect search engine rankings. The project belongs to the self-hosted technical SEO and marketing software ecosystem.

The concrete problem it solves is the need to find technical website issues before they harm search visibility. SEOnaut performs a comprehensive site scan and generates a report that organizes findings by severity and potential SEO impact. It groups issues into critical, high, and low levels, covering broken links, redirect issues, missing or duplicate meta tags, and incorrectly ordered headings.

Key capabilities

  • SEOnaut crawls a target website and creates a report of issues that may affect search engine rankings.
  • It detects broken links, which helps reviewers address pages that can lead to 404 errors.
  • It identifies redirect problems, including temporary redirects, permanent redirects, and redirect loops.
  • It finds missing or duplicate meta tags, which are common technical SEO problems on web pages.
  • It flags incorrectly ordered headings, giving auditors a clearer view of content structure issues.
  • It provides a web-based dashboard that uses Apache ECharts and can be deployed with Docker Compose.

Who uses it and how

  • Technical SEO reviewers use SEOnaut to scan websites and collect issues that may affect search engine visibility.
  • Self-hosted teams use Docker Compose to run the application alongside a MySQL 8.4 database, then open the dashboard at port 9000.
  • Developers can clone the repository, build the Docker containers with the provided development compose file, and run the application locally.
  • Marketing teams can incorporate the audit report into a website maintenance workflow for pages, headings, meta tags, links, and redirects.

Getting started

The README recommends Docker Compose with the ghcr.io/stjudewashere/seonaut:latest image and the mysql:8.4 image, and it also offers a hosted version at seonaut.org.

When to use it — and when not to

Use SEOnaut when you need an MIT-licensed Go-based SEO crawler and can operate the required MySQL database and Docker deployment. Avoid it if you do not want to manage database configuration or provide HTTPS through a reverse proxy, because the default setup runs on port 9000 over unencrypted HTTP. The hosted version is the alternative for users who want the audit workflow without managing infrastructure.

project readme (upstream, from github) — read inline

SEOnaut

Go Report Card GitHub GitHub Workflow Status

SEOnaut is an open-source SEO auditing tool designed to analyze websites for issues that may impact search engine rankings. It performs a comprehensive site scan and generates a report detailing any identified issues, organized by severity and potential impact on SEO.

SEOnaut categorizes issues into three levels of severity: critical, high, and low. The tool can detect various SEO-related problems, such as broken links (to avoid 404 errors), redirect issues (temporary, permanent, or loops), missing or duplicate meta tags, incorrectly ordered headings, and more.

A hosted version of SEOnaut is available at seonaut.org.

seonaut

Technology

SEOnaut is a web-based application built with the Go programming language and a MySQL database for data storage. The frontend is designed for simplicity, using custom CSS and minimal vanilla JavaScript. Apache ECharts is used to provide an interactive dashboard experience.

While it is possible to configure a custom database and compile SEOnaut manually, using the provided Docker files is recommended. These files simplify the setup process and eliminate the need for manual configuration, allowing for quicker and easier deployment.

Quick Start Guide

Using docker compose

Using docker is the recommended way of running SEOnaut. As you need to provide a database, you can use docker compose to do so creating a docker-compose.yml file like this:

services:
  db:
    image: mysql:8.4
    container_name: "SEOnaut-db"
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=seonaut
      - MYSQL_USER=seonaut
      - MYSQL_PASSWORD=seonaut
    networks:
      - seonaut_network

  app:
    image: ghcr.io/stjudewashere/seonaut:latest
    container_name: "SEOnaut-app"
    ports:
      - "${SEONAUT_PORT:-9000}:9000"
    depends_on:
      - db
    command: sh -c "/bin/wait && /app/seonaut"
    environment:
      - WAIT_HOSTS=db:3306
      - WAIT_TIMEOUT=300
      - WAIT_SLEEP_INTERVAL=30
      - WAIT_HOST_CONNECT_TIMEOUT=30
      # Seonaut config overrides
      # - SEONAUT_SERVER_HOST=${SEONAUT_SERVER_HOST:-0.0.0.0}
      # - SEONAUT_SERVER_PORT=${SEONAUT_INTERNAL_PORT:-9000}
      # - SEONAUT_SERVER_URL=${SEONAUT_SERVER_URL:-http://localhost:${SEONAUT_PORT:-9000}}
      # - SEONAUT_DATABASE_SERVER=${SEONAUT_DB_SERVER:-db}
      # - SEONAUT_DATABASE_PORT=${SEONAUT_DB_PORT:-3306}
      # - SEONAUT_DATABASE_USER=${SEONAUT_DB_USER:-seonaut}
      # - SEONAUT_DATABASE_PASSWORD=${SEONAUT_DB_PASSWORD:-seonaut}
      # - SEONAUT_DATABASE_DATABASE=${SEONAUT_DB_NAME:-seonaut}
    networks:
      - seonaut_network

networks:
  seonaut_network:
    driver: bridge

This uses the default settings, which you can overwrite using environment variables if needed.

Using docker from source code

To run SEOnaut from source code, follow these steps to run it using Docker:

  1. Install Docker
    Ensure Docker is installed on your system. You can download and install Docker from the official website.

  2. Clone the Repository
    Clone the SEOnaut repository:

    git clone https://github.com/stjudewashere/seonaut.git

  3. Navigate to the Project Directory
    Change into the project directory:

    cd seonaut

  4. Build and Run Docker Containers
    Run the following command to build and start the Docker containers:

    docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build

  5. Access the Application
    Once the containers are running, open your browser and visit:

    http://localhost:9000

    SEOnaut is set up to run on port 9000 using unencrypted HTTP by default. For added security, it is recommended to configure HTTPS using a reverse proxy. This will ensure encrypted communication between the client and the server.

For more detailed installation and configuration instructions, refer to the INSTALL.md file.

Contributing

Please see CONTRIBUTING for details.

License

SEOnaut is open-source under the MIT license. See License File for more information.

Frequently asked questions

Is seonaut free to use?

seonaut is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does seonaut do?

Open source SEO audit tool.

What is seonaut written in?

seonaut is primarily written in Go. Its source is publicly available at https://github.com/StJudeWasHere/seonaut, and it has 786 GitHub stars.