32 Commits

Author SHA1 Message Date
Ben Senescu
23fb595755
chore: rename references to open-rank back to open-seo (#35)
* docs: move project docs into docs directory

* docs: rebrand landing site as OpenSEO

* fix: update remaining OpenSEO backlinks links

* Change landing page copy + format

* website: add www custom domain route

* Tweak README

* save
2026-03-16 18:58:44 -04:00
Ben Senescu
8405564925
feat: Add Backlinks page (#23)
* feat: add backlinks setup and overview workflow

* save

* fix backlinks timeseries and refine overview layout

* update backlinks table guidance

* refactor backlinks CI cleanup

* refactor backlinks page state colocation

* fix backlinks access error handling

Differentiate DataForSEO subscription access failures from billing issues and preserve exact page hosts for page-level backlink lookups.

* fix backlinks project scoping and error states

* simplify backlinks billing and lazy loading

* harden backlinks profiling and access flow

* refine backlinks access status typing

* update backlinks scope selection and access handling

* fix backlinks scope fallback and cache scoping

* fix backlinks ci checks

* docs: simplify backlinks pricing

* refine backlinks search: move scope toggle below input, remove redundant description

* refine backlinks summaries and help text

* refine backlinks table sorting

* fix backlinks invalid target handling

* delete docs

* fix backlinks scope inference and domain normalization

* docs: mark backlinks as a supported workflow

* fix backlinks links badge wrapping

* test: split backlinks test suites
2026-03-16 17:48:13 -04:00
Ben Senescu
b859fae8dc
docs: move project docs into docs directory (#32) 2026-03-16 17:38:24 -04:00
Ben Senescu
534d4e2093 docs: clarify updating docker self hosted instances 2026-03-16 15:10:05 -04:00
Ben Senescu
33173f5c04
chore: publish OpenSEO Docker images and use image-first self-host flow (#18)
* chore: add published Docker image workflow and self-host image flow

* fix: align Docker publish and build paths

Use the canonical GHCR image name and correct Dockerfile path references so CI publishing and documented local builds work as expected.

* fix: restore Docker self-host runtime defaults

Use the full Node base image and expose Compose env vars to the Cloudflare Vite runtime so local self-hosting keeps auth bindings and outbound HTTPS working.
2026-03-12 19:28:45 -04:00
Ben Senescu
6017fbc4ef
feat: Add DataForSEO key setup guard and onboarding help (#12)
* add DataForSEO key setup guard and onboarding help

Detect missing DataForSEO credentials at app load so users get a clear setup path before running SEO workflows.

* fix api key setup warning visibility and help docs

Make the setup warning fail-safe when status checks error, switch the top notice to DaisyUI alert styling, and add Cloudflare dashboard secret instructions to the help page.

* fix README formatting for CI

* fix seo api key status fallback behavior

* harden DataForSEO setup status checks and modal UX

Gate API key status behind authenticated middleware and improve the setup modal’s keyboard/accessibility behavior, with a clearer fallback notice when status checks fail.

* refine setup UX and local env docs

Hide the API key setup modal on the setup guide route to avoid a self-blocking flow, and clarify README local configuration for DATAFORSEO_API_KEY format.
2026-03-11 15:12:29 -04:00
Ben Senescu
f75bbaeb37
Enforce type-aware TypeScript linting and remove unsafe assertions (#15)
* Enforce safe TypeScript assertions and validate runtime payloads

* Fix CI knip config and floating promise lint

* Validate DataForSEO payloads with Zod schemas

Replace weak object guards with endpoint-level schema parsing so invalid API shapes fail fast instead of being silently filtered. Align downstream keyword mapping with the stricter validated payload contracts.
2026-03-11 11:56:48 -04:00
Ben Senescu
a3b1f6e967
update README (#11) 2026-03-10 22:51:40 -04:00
Ben Senescu
991799932f
docs: Add better Cloudflare Hosting docs (#10)
* chore: bump @every-app/sdk to 0.1.14 for deploy install

* Add selfhosting to Cloudflare file

* Revise Cloudflare deployment instructions in README

Updated instructions for Cloudflare deployment and setup.

* docs: streamline self-hosting docs and split Cloudflare guide

* save
2026-03-10 21:44:50 -04:00
Ben Senescu
3e489d0771
feat: remove Every App dependency (#8)
* remove Every App SDK and add auth modes for Cloudflare Access and local_noauth

* align local dev auth defaults and normalize Access team domain

* Apply suggestions from code review

* restore local drizzle D1 URL helper

* save

* fix auth error mapping and document self-hosting setup

* Tweak readme

* improve auth config error UI and remove manifest link

* fix team domain config validation and docs anchor
2026-03-10 14:36:16 -04:00
Ben Senescu
0bd61ae264 Link portless in local development docs 2026-03-09 23:49:16 -04:00
Ben Senescu
d60276de9e Remove Cloudflare self-hosting section from README 2026-03-09 23:47:26 -04:00
Ben Senescu
d490dde51f Simplify Docker self-hosting configuration 2026-03-09 23:37:58 -04:00
Ben Senescu
2d01ce5196 Remove obsolete Docker helper scripts 2026-03-09 23:25:47 -04:00
Ben Senescu
71da670924 Simplify Docker self-hosting commands and env flow 2026-03-09 23:20:23 -04:00
Ben Senescu
2acf943346 Standalone OpenSEO docker 2026-03-08 15:21:01 -04:00
Ben Senescu
c20ea9f851 Update .env.example 2026-03-04 20:46:42 -05:00
Ben Senescu
be50738dad
Use portless for local dev and agents (#5)
* Use portless for local dev and agents

* save

* save
2026-03-04 16:33:55 -05:00
Ben Senescu
35700ca80a
Improve error handling + local setup (#4)
* Add unified Docker self-host stack for OpenSEO and Gateway

* Fix self-host migration flow and env wiring

* Track latest gateway release by default and harden migrations

* Fix gateway static asset serving in self-host runtime

* Run gateway self-host from source with .env-based Vite runtime

* Harden self-host env mode and remove apt dependency from gateway build

* Avoid gateway build ENOSPC by installing deps at runtime

* Revert temporary ENOSPC workaround for gateway Docker setup

* Use Cloudflare selfhost env precedence for Docker runtime

* Add selfhost wrangler environment and tighten Docker docs

* Stabilize selfhost Docker runtime and persistence

Use full Node base images for reliable TLS trust, simplify selfhost startup/env handling, and persist local gateway wrangler state to avoid resets between restarts.

* Simplify Docker selfhost: rename scripts to docker:selfhost:*, remove GATEWAY_RELEASE_REPO, default to latest gateway

* Remove selfhost wrangler env, use .env.local everywhere, simplify docker script names

* Simplify selfhost compose: remove D1 preflight, conditional migration, and healthcheck

* Extract inline Node.js from gateway Dockerfile into standalone scripts

* Save

* Move OpenSEO dependency install from container startup to image build step

* Move self-host docker scripts and compose into dedicated folder

* save

* disable TanStack devtools in Docker self-host

* Make edits

* clarify self-hosting env setup docs

* save

* save

* centralize server-function error middleware and simplify client-safe messaging

* remove local migration-specific error remapping

Keep auth middleware simple by letting DB/schema failures flow through the centralized error handler and remove the unused LOCAL_DB_MIGRATION_REQUIRED client/server code path.

* remove custom error logging in favor of plain console.error

* standardize PSI error codes and sanitize non-Error throws
2026-03-04 16:27:41 -05:00
Ben Senescu
4350b12c67 Support docker compose self hosting 2026-03-04 14:45:36 -05:00
Ben Senescu
b1e634166a
Fix grammatical error in README description 2026-03-03 12:05:20 -05:00
Ben Senescu
d3cce8e0b1
Add walkthrough video 2026-03-02 17:25:14 -05:00
Ben Senescu
5d2f867316
Clarify OpenSEO description in README
Removed 'professionals' from the description for clarity.
2026-02-28 19:49:12 -05:00
Ben Senescu
aa518b6e0b
Add Community section to README
Added a Community section with Discord link and social media.
2026-02-27 17:06:50 -05:00
Ben Senescu
4fe0a1a73c
Update demo image link in README.md 2026-02-27 16:58:59 -05:00
Ben Senescu
2c90e05368
Revise README for Self Hosting and API Key Setup
Updated the README to remove the DataForSEO API Key Setup section and adjust the Self Hosting instructions.
2026-02-27 15:51:53 -05:00
Ben Senescu
236694032d Fix reference to super-seo 2026-02-27 15:18:52 -05:00
Ben Senescu
45412263b2
Update README links and structure for clarity 2026-02-27 15:04:23 -05:00
Ben Senescu
e8ab41e91b save 2026-02-27 15:01:43 -05:00
Ben Senescu
86341b2608
Clarify account creation steps in README
Updated instructions for creating an account after deployment.
2026-02-27 14:49:29 -05:00
Ben Senescu
d24cdc9ac7
Revise README for clarity and updated information
Updated README to clarify OpenSEO's purpose, pricing, and self-hosting instructions.
2026-02-27 14:42:32 -05:00
Ben Senescu
e36abbf19b Initial public release 2026-02-27 14:09:33 -05:00