Google AdSense
OFF on staging. Track crawlability, ads.txt, trust pages, navigation quality and thin/placeholder-page risk.
Private owner CMS · nothing publishes automatically
Self-service password reset is intentionally disabled. Use the documented database-safe owner recovery procedure.
Phase 7 workflow UI · Publishing is OFF by default. Verify → select → review → approve. Live publishing remains a separate guarded action.
Prioritised from verified site checks and imported research. Nothing publishes automatically.
Runs only the checks available safely on this server. External ranking, Search Console and trend data remain clearly marked as not connected until authorised.
What can be acted on now, what needs review, and what remains blocked by missing live integrations.
Security first, then broken/local page issues, then evidence-led opportunities and fresh updates.
Separates technical/on-page checks from real Google performance. Internal scores are diagnostics, not Google rankings.
Scores come only from checks the CMS can verify. Imported recommendations do not change a verified score until the page itself changes and is re-scanned.
Scans local public pages for title, description, canonical, H1, schema, mobile viewport and Open Graph coverage.
Upload researched metadata proposals. They are stored for review only; this build cannot write them directly to pages.
Columns: page_url, seo_title, meta_description, canonical_url, robots, og_title, og_description, schema_type, primary_keyword, secondary_keywords, source, source_url, checked_date, reason, risk_level
Import research without pretending that every trend is a ranking opportunity. Rows remain recommendations until mapped, reviewed and approved.
Required for a mapped content recommendation: keyword, page_url, field_key, proposed_text
V2 research fields: user_problem, mindset, decision_stage, intent, country, trend, trend_velocity, trigger_type, priority, source, source_url, checked_date, relevance_score, opportunity_score, risk_level, adsense_safe, amazon_affiliate_safe, cannibalisation, recommended_action
For global AI announcements, new tools, feature/pricing changes and carefully selected AI news. Import creates update drafts only.
Recommended columns: update_type, tool_name, title, short_summary, full_update, source_url, source_type, checked_date, expiry_review_date, tags, featured, placement, page_url, risk_level
Editorial states: Draft → Needs review → Content approved. “Content approved” still does not publish; the authoritative publisher remains a separate locked step.
The CMS never invents visitor or Search Console data. Connect an approved read-only source after launch.
Showing all workflow items.
Choose the exact page and section first. Edit opens a ready-filled mapped draft.
The sitemap is generated only from verified page mappings below. Staging URLs are converted to https://aitoolshortlist.com; sections and invented URLs are never added.
Upload recommendations once. The CMS matches each row to its page and section, reads the current text and creates staging drafts.
Required columns: page_url, field_key, proposed_text
Optional: title, page_title, section_title
Readiness checks only. Monetisation never changes editorial ranking or publishes automatically.
OFF on staging. Track crawlability, ads.txt, trust pages, navigation quality and thin/placeholder-page risk.
OFF on staging. Require disclosure, approved placement, tagged links and stale-price warnings before activation.
Mechanical checks are separate from security-critical backend changes. Phase 5 prepares the controls without replacing unknown authoritative authentication/database code.
—/100
Provision only. OTP is not enabled in this candidate.
Change the owner password without exposing it in the URL. Passwords are stored only as secure hashes.
External data policy: Google rankings, clicks, impressions, traffic, trends and news must come from a connected/verified source or a dated CSV. The CMS must never invent them.
Connection status is explicit. “Not connected” means no automatic data is being collected.