GuestPostSuggester / README.md
vivekchakraverty's picture
Add GuestPostSuggester: search, rank, and analyze guest-post sites
91d75c7
|
Raw
History Blame Contribute Delete
2.4 kB

A newer version of the Gradio SDK is available: 6.26.0

Upgrade
metadata
title: GuestPostSuggester
emoji: 😻
colorFrom: blue
colorTo: red
sdk: gradio
sdk_version: 6.19.0
python_version: '3.13'
app_file: app.py
pinned: false
license: mit
short_description: Find live guest-post sites, ranked by authority

GuestPostSuggester

Search a catalog of ~32,000 guest-post-accepting websites for sites relevant to your topic. Search is free and local (TF-IDF text matching, no AI call). Results are live-checked for reachability and ranked by OpenPageRank domain authority. Click "Analyze" on any result to crawl its blog and get ~5 AI-suggested guest-post topic ideas that fit its niche but aren't already covered β€” this step calls an LLM billed to your own Hugging Face token.

How it works

  1. Search β€” enter a topic. A local TF-IDF text match (no LLM, no cost) shortlists relevant sites from the catalog by their title/domain/niche.
  2. Availability check β€” before any site is shown, its root domain is checked for live reachability (httpx), so dead/parked/unreachable sites never appear in results.
  3. Ranking β€” surviving sites are sorted by precomputed OpenPageRank domain authority and shown 10 at a time; "More" reveals the next 10 below.
  4. Analyze (per result, needs your HF token) β€” crawls the site's blog for its existing post titles (RSS β†’ WordPress REST API β†’ sitemap β†’ keyword-based blog-page discovery β†’ AI-assisted HTML discovery, cheapest method first, AI only as a last resort), then an LLM suggests ~5 guest-post topics that fit the site but aren't already covered.

Configuration (Space owner)

  • Secret OPR_API_KEY β€” a free OpenPageRank API key. Only needed to re-run/refresh the authority-score precompute later β€” the Space ships with data/opr_scores.json prebuilt, so this isn't required for normal operation.
  • Persistent storage (optional) β€” if enabled, /data caches domain-availability checks, crawled title libraries, and suggestions across restarts. Without it the app still works; caches just don't persist between restarts.

Billing

The search and ranking steps are entirely free and local. The Analyze step's LLM calls run through Hugging Face Inference Providers using the token you enter in the UI, so they are billed to you. The token is used only for that request and is not stored.