تفصیل
The Discover & AI-Visibility OS for WordPress Publishers
Built for newsrooms, publishers, and high-frequency editorial teams — not generic blogs.
Pro license: newsos.io — one key per site, same plugin you already install.
Yoast and Rank Math optimize posts. Newsroom OS runs the newsroom: Discover-ready signals, semantic JSON-LD, assignments, and writer guidance in one editorial layer on top of WordPress.
Classic Editor & Gutenberg (Block Editor)
Newsroom OS is built for real newsroom setups — including sites that still use Classic Editor, sites on full Gutenberg, and hybrid installs (block editor with the classic Tags metabox).
Gutenberg / Block Editor
- Publication Readiness sidebar (Editorial + Discover twin gauges, Next Best Action)
- REST-aware duplicate tag guard (snackbar + “Use existing” / “Keep anyway”)
- Breaking news mode, live H3 update insertion via blocks
- Trend Radar, Smart Tags, AI Assist (Pro) in the editor sidebar
- JS strings via
wp_set_script_translations(el, en, de, es)
Classic Editor
- Same Publication Readiness panel and scores (TinyMCE /
#contenthooks — no block editor APIs on classic screens) - Classic Tags metabox duplicate guard (AJAX before the tag chip is added)
- Breaking mode, live updates, and smart tag insert via Classic UI
- Stability: Gutenberg-only APIs (
wp.data.subscribe,getEditedPostContent) run only whenblock-editor-pageis present — prevents Classic Editorblocks.min.jsstack overflows on large sites
Works with any theme (Astra, GeneratePress, Newspaper, NewsMag, Flavor, etc.) and alongside Yoast SEO, Rank Math, WooCommerce, and SureCart.
Five pillars
1. Discover optimization
- Publication Readiness — twin scores in the editor: Editorial (article quality) and Discover (distribution potential). They are separate on purpose.
- Discover Score — Google-aligned: hero 1200px+, 16:9, 300k pixels, alt; clear 55–70 headline (anti-clickbait); topic/tags; optional trend fit; saved OG image when available.
- Breaking news mode — one toggle: LiveBlogPosting schema, faster IndexNow/Google ping, optional “developing story” badge, auto-expire, live-update workflow (H3 headings).
- Trend Radar — Google Trends + Google News in the sidebar, localized per country.
2. Semantic schema & entities
- NewsArticle / LiveBlogPosting JSON-LD —
@graphwith Organization, WebPage, authorPerson, geo,about/mentions. - Entity tags — Wikidata Q-IDs, coordinates, entity types woven into schema.
- Richness presets — Minimal / Balanced / Full; optional
articleBodymodes (omit, full, first N words). - Works with Yoast SEO & Rank Math — reads your meta; does not replace them.
3. Editorial workflow
- Tasks & assignments — deadlines, keywords, briefs, reference links.
- Dashboard — active / overdue / completed, KPIs, SEO health.
- Roles — chiefs see the full desk; writers see My Inbox only.
- Content Decay Radar (Pro) — flags stale evergreen posts and opens refresh tasks.
4. AI newsroom (Pro, BYOK)
- OpenAI, Gemini, or Groq — your API key stays on your site; free tiers supported (Groq / Gemini).
- Discover-optimized titles (55–70 chars, five angles), targeted optimization hints, trend-aware keywords.
- Geo-aware language — answers in the language of your configured region (40+ locales).
5. Knowledge layer
- Smart Tag Suggester — weighted, confidence-scored tags from your taxonomy; one-click insert; duplicate-tag guard (Pro).
- Story timelines — archive clusters + internal-link blocks + CollectionPage schema.
- Archive link finder — evergreen internal links from your own back catalog.
- Author E-E-A-T — profiles, schema
Person, performance analytics (Pro).
UI in Greek, English, German, and Spanish (per-site language picker). See languages/README.txt for gettext catalogs.
🆓 What you get for FREE
Everything below ships in the free plugin — no signup, no rate limits, no nag screens:
- Publication Readiness — Editorial score + Discover Score, Next Best Action, detailed checklists
- Breaking news mode — LiveBlog schema workflow with auto-expire (when LiveBlog is enabled in settings)
- Smart Tag Suggester — confidence levels, one-click insert
- Editorial dashboard — tasks, deadlines, keywords, briefings
- Trend Radar — Google Trends + News in the editor
- Auto-story timeline + archive internal-link finder
- NewsArticle JSON-LD — entities, geo, E-E-A-T author signals
- SEO auditor, 4-step wizard, 4-language UI
🚀 PRO Features (Buy at [newsos.io](https://newsos.io/) — €29/month per site)
Pro is a single license key tied to one site, activated inside your dashboard at “Editorial Control 🚀 PRO”. No separate plugin to install — Pro unlocks inside the same plugin you already trust. Need more than one site? Buy one license per site at newsos.io.
🤖 AI Assist (BYOK – Bring Your Own Key)
Bring your own API key for OpenAI, Google Gemini, or Groq. Newsroom OS never proxies AI traffic through our servers — your key stays on your site.
💸 Free AI tier supported: Groq offers a very generous free tier (no credit card) on llama-3.3-70b-versatile. The settings page links directly to:
- https://platform.openai.com/api-keys (OpenAI)
- https://aistudio.google.com/apikey (Google Gemini — free tier available)
- https://console.groq.com/keys (Groq — free tier, no card required)
You can write your first AI-assisted article with $0 of API spend.
Direct in-editor actions:
- 🎯 Discover-optimized Title Suggestions — five alternative headlines on every run, each in a different angle: facts-first / human impact / aftermath / authority / Discover hook. Every title is 55–70 characters (the Google Discover sweet spot), front-loaded with the news, and live-validated by a character counter and angle badge in the UI.
- ✨ Targeted Content Optimization — non-rewrite editorial suggestions per paragraph, categorized (readability / seo / eeat / structure / factcheck) and ranked by impact.
- 🔥 Trend-Aware Keywords — pulls current Google Trends for your region, picks the ones that genuinely fit the article, and tells you exactly where to weave them in (headline / lede / paragraph / tag).
- FAQ Block generation in valid FAQPage JSON-LD
- Key Takeaways block
- Per-user daily rate limits + transient caching so you never burn budget twice on the same prompt
🌍 Geo-aware language output — the AI answers in the correct language for your geo target automatically. GR/CY Greek, BR Brazilian Portuguese, MX Mexican Spanish, JP Japanese, IL Hebrew, and 40+ more locales — even on aggressive English-leaning models like Llama. Filter newsai_ai_geo_to_locale for custom multilingual newsrooms.
Default models are kept current (gpt-4o-mini, gemini-2.5-flash, llama-3.3-70b-versatile) with transparent auto-migration of deprecated providers.
📈 Author Performance Analytics (NEW in 1.7.0)
A complete writer performance dashboard for chiefs:
- Per-author cards: posts published in the window, tasks done/open/overdue, average Focus Score at publish time, 30/60/90-day trend
- Inline expandable details: top recent articles with score, top categories, edit/view shortcuts
- Personal “Your own performance” card on top — chiefs that also write see their own numbers without drilling down
- Cached aggregates with smart invalidation on post publish / task completion / score change
- Phase 2-ready: filter hooks for Discover and Google News click integration via Search Console
💬 Editorial Comms (Task Threads + Email)
- Two-way messaging thread per task — chief assignee, with unread badges in the menu
- Capability-aware visibility: writers only see their own threads, never peers’
- Configurable email alerts: new assignment, new message, task completed
- Auto-purge old threads on a configurable retention window
🛡️ Duplicate-Tag Guard
Site-wide audit that surfaces near-duplicate tags so you can merge them and consolidate authority. Tied directly into the Smart Tag system.
🔥 Content Decay Radar
Detects evergreen articles losing freshness signals and automatically creates a “Needs Refresh” task with target keyword and reference URL. Configurable batch size, views threshold, and meta key.
⚡ Instant Indexing API
Direct integration with Google Indexing API (service account JSON or bearer token) + IndexNow for Bing/Yandex. Async pings on publish, per-post diagnostics in postmeta, full status panel in settings.
📰 LiveBlogPosting Schema
One toggle on a post turns it into a fully valid LiveBlogPosting JSON-LD with chronological updates — exactly what Google requires for Top Stories live coverage.
🖼️ Google Discover Image Validator
Pre-publish check that flags featured images that fail the 1200px-wide minimum that Google Discover requires.
🧪 Advanced Sidebar Modules
- Auto-Timeline triggers refined for high-frequency desks
- Writer leaderboard widget in the sidebar (legacy)
- Reusable Pro lock cards with custom UTM tracking
🔧 Priority Support & Updates
License-gated updates flow through the same plugin. Verify your license at newsos.io and you keep receiving fixes + new features without re-uploading anything.
Why publishers choose us
- Category: Discover & publishing infrastructure — not “another SEO plugin”
- Trusted by 2,000+ active installs in 20+ countries
- Built for high-traffic desks: event-driven editor JS, strict API timeouts, smart caching
- Zero conflicts with Yoast / Rank Math / SureCart / WooCommerce
- 30-day money-back guarantee on Pro
👉 Buy Pro at newsos.io — €29/month or $233/year (save 33%). One license key per site, instant delivery via email.
Translators / i18n
- Text domain: newsroom-ai-assistant — every string uses
__(),_e(),esc_html__(), and the editor script is registered withwp_set_script_translations()so Gutenberg sidebar strings translate too. - Compiled
.mocatalogs for el, en_US, de_DE, es_ES ship under/languages, alongside the correspondingnewsroom-ai-assistant-{locale}-newsai-script.jsonfiles for JS translations. - The plugin loads catalogs directly with the resolved request locale (
determine_locale()), making it compatible with the WordPress 6.7+ Just-In-Time loader and the newWP_Translation_Controller. The Site Details Language picker switches the UI language per site without touching the global WP locale. - Want to add another language? Drop a new
newsroom-ai-assistant-{locale}.mo(and optionally the matching-newsai-script.json) into/languages. Loco Translate orwp i18n make-moare the usual tools. Seelanguages/README.txtfor details.
سکرین شاٹاں

Publication Readiness — Editorial + Discover twin gauges and Next Best Action 
Breaking news mode — live coverage panel, insert H3 update, schema-ready workflow 
Editorial dashboard — tasks, KPIs, desk overview 
Trend Radar — Google Trends and News in the editor sidebar 
Smart tags — confidence-scored suggestions, one-click insert 
Author Performance (Pro) — per-writer cards and drill-down 
Schema — NewsArticle / LiveBlogPosting JSON-LD in page source 
Setup wizard — four steps, under one minute 
انسٹال کرݨ
- Upload the plugin folder to
/wp-content/plugins/, or install via Plugins Add New Upload. - Activate “Newsroom OS – Editorial Control & AI Assistant”.
- Run the 4-step Wizard (it auto-launches on first activation).
- Open any post in Gutenberg or Classic Editor — the Newsroom OS sidebar appears on the right (same features in both editors).
- (Optional) Activate Pro by going to “Editorial Control 🚀 PRO” and pasting the license key from your newsos.io confirmation email.
ہرہک دے سوال
-
Does it work with Classic Editor and Gutenberg?
-
Yes — both, out of the box. All core editor features (Publication Readiness scores, Discover Score, Trend Radar, Smart Tags, Breaking news mode, live H3 updates, task sidebar) work in the Gutenberg Block Editor and the Classic Editor. Pro duplicate-tag guard uses REST + snackbar in Gutenberg and AJAX + inline notice in Classic. Hybrid sites (block editor + classic Tags metabox) are supported. No extra plugin or setting is required; use whichever editor your site already uses.
-
Does it work with my theme?
-
Yes. Newsroom OS is compatible with any standard WordPress theme (Astra, GeneratePress, Flavor, Newspaper, NewsMag, etc.). Frontend output is limited to optional schema, timeline blocks, and breaking badges — your theme layout is unchanged.
-
Will it conflict with Yoast SEO or Rank Math?
-
No. Newsroom OS reads your existing SEO data and layers an enterprise-grade Schema Knowledge Graph on top. Yoast and Rank Math keep doing their job for meta tags and sitemaps; Newsroom OS handles editorial workflow, smart tags, Decision Engine, and JSON-LD enrichment.
-
Will it slow down my website?
-
No. Strict timeouts on every external request, transient-based caching, event-driven JavaScript (no polling), capability-aware UI loading. Frontend speed is unaffected.
-
How does the Smart Tag system actually work?
-
It runs entirely in the editor (no API call) by normalizing your title/lead/body, scanning against your existing site tags, and ranking matches by a weighted formula that respects editorial position and tag popularity. Each suggestion comes with a HIGH/MEDIUM/LOW confidence badge so you know if it’s safe to add.
-
Where do I buy Pro?
-
At https://newsos.io/. One license key per site, instant delivery via email. Cancel anytime — 30-day money-back guarantee. If you run multiple sites, buy one license per site.
-
What if I cancel Pro?
-
Your site keeps working normally. All articles, tags, schema, tasks, and Focus Scores remain intact. You just stop receiving new Pro features and priority support. You can reactivate the license anytime.
-
Which AI providers does Pro AI Assist support? Can I use AI for free?
-
Yes. Pro AI Assist supports:
- OpenAI — GPT-4o-mini and above (paid)
- Google Gemini —
gemini-2.5-flashby default (free tier available at aistudio.google.com) - Groq —
llama-3.3-70b-versatileby default (generous free tier, no credit card, at console.groq.com)
Bring your own key — Newsroom OS never proxies AI traffic through our servers. You can run every Pro AI feature (Discover-optimized titles, content optimization, trend keywords) with $0 of API spend by using the Groq or Gemini free tiers.
-
Will the AI answer in my language?
-
Yes. The AI auto-detects the language from your configured geo target (Settings Site Geo). Greece Greek, Brazil Brazilian Portuguese, Mexico Mexican Spanish, Japan Japanese, Israel Hebrew, and 40+ more locales. We send aggressive language directives to the provider on every prompt so even English-leaning models like Llama answer in the right language.
-
Does the plugin store any private data?
-
No. Everything (tasks, messages, Focus Scores, AI cache) lives in your own database. Pro licensing pings newsos.io once a day to validate the key and nothing else.
ریویو
There are no reviews for this plugin.
Contributors & Developers
“Newsroom OS – Discover & AI-Visibility OS for WordPress Publishers” is open source software. The following people have contributed to this plugin.
حصہ پاوݨ آلے“Newsroom OS – Discover & AI-Visibility OS for WordPress Publishers” دا آپݨی زبان وچ ترجمہ کرو۔
ڈیویلپمنٹ وچ دلچسپی ہے؟
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
تبدیلی لاگ
1.8.0
- RELEASE: Major public release since 1.7.4 — bundles Discover Score v2, Breaking News Mode + live coverage tools, Author Performance Discover layer, Classic Editor stability fixes, duplicate tag guard fix, and readme/positioning refresh (see 1.7.5–1.7.12 entries below for detail).
- DOCS: WordPress.org readme —
Stable tag1.8.0, dedicated Classic Editor & Gutenberg section, FAQ, installation step, and plugin tags for block/classic editor discoverability. - SAFE: No database migrations. Existing posts, tags, schema, tasks, Focus/Discover scores, and settings stay intact. Safe direct upgrade from 1.7.4+ on small and large sites.
1.7.12
- FIX: Classic tag duplicate guard — AJAX check used invalid
assign_termscapability (always denied for Authors/Editors), so the UI silently added tags without the “keep or use existing?” prompt. Fixed taxonomy capability check; classic script no longer bypasses on 403. Improved typo detection (e.g. NEWSOS vs NEWSSS). Classic script also loads when the classic Tags metabox is shown alongside the block editor.
1.7.11
- NEW (Pro): Author Performance — Discover readiness layer — per-writer avg Discover Score, up to 3 coaching weak spots (16:9 hero, headline, topic, OG, author profile), Discover column on cards, and Focus + Discover per article in drill-down. Uses saved
_newsai_discover_score/ breakdown meta from the editor (Phase 2 GSC traffic stays separate).
1.7.10
- CHANGE: Discover Score v2 aligned with Google Discover best practices: hero 1200px+, 16:9, 300k+ pixels, descriptive alt (35 pts); headline 55–70 chars with anti-clickbait penalties (25 pts); softer timeliness/trends (10 pts); saved OG image from Yoast/Rank Math when post is saved (5 pts). Not scored in-editor:
max-image-preview:large, Core Web Vitals.
1.7.9
- DOCS: Positioning & readme refactor — hero “Discover & AI-Visibility OS”, five-pillar narrative (Discover / Semantic / Workflow / AI / Knowledge), clearer free vs Pro story; updated screenshot list and plugin short description. No feature code changes.
1.7.8
- FIX: Classic Editor crash —
Maximum call stack size exceededinblocks.min.jswhen Breaking/live-update code called Gutenberg APIs (getEditedPostContent,createBlock,wp.data.subscribe) on Classic Editor screens. Block APIs now run only whenblock-editor-page+core/block-editorstore are present; Classic uses TinyMCE/textarea only.
1.7.7
- NEW: Live coverage editor tools — collapsible “How to write live coverage” guide, Insert live update (H3) button (Gutenberg heading block or Classic insert), and a warning when Breaking is active but the post has no H2/H3 headings (live
liveBlogUpdateneeds structured headings). - FIX: LiveBlog schema — no more fallback
liveBlogUpdatebuilt from the first 24 words when Breaking/LiveBlog is on or when content looks like a pasted plugin readme; avoids bogus updates on announcement posts. - i18n: Greek, English, German, and Spanish catalogs updated for Discover Score, Breaking News Mode, and new editor strings (PHP
.po+ JSnewsai-script.json).
1.7.6
- NEW: Breaking News Mode — replaces the editor “LiveBlogPosting” checkbox with a unified workflow: enable breaking coverage (LiveBlog schema +
liveBlogUpdate), optional “developing story” badge on the article, IndexNow / Google ping on enable, Resolve now, and auto-expire (24/48/72h, hourly cron). AJAX toggle works in Gutenberg; classic editor uses the same metabox save path. - NEW: Settings Schema: breaking auto-expire hours and frontend badge toggle.
1.7.5
- NEW: Discover Score — separate from Editorial (Focus) score: hero image width/aspect/alt, cached regional trend token fit (daily refresh + on-demand when empty), entity/tag/category/geo cues, author E-E-A-T fields, internal links / storytelling; headline subscore (50–65 char sweet spot, numbers, power chars, recency cues, specificity) merged in the editor. Publication Readiness meta box: twin gauges, Editorial / Discover tabs under Score Details, combined Next Best Action across both tracks. Postmeta:
_newsai_discover_score,_newsai_discover_score_breakdown. Filter:nros_discover_score_weights. - NEW:
includes/discover-score.php— AJAXnewsai_discover_score_partial,newsai_save_discover_score, cronnros_refresh_trend_keyword_cache(cleared on plugin deactivation).
1.7.4
- FIX: JSON-LD dates use site local time —
datePublished,dateModified,dateCreated, LiveBlog coverage times, and videouploadDatenow output ISO 8601 with the WordPress timezone offset (e.g.2026-05-16T09:45:00+03:00) instead of UTC (+00:00), aligning with wp-admin display and Rank Math Open Graph. - FIX: Site Health REST false alarm — removed a UTF-8 BOM (3 bytes) at the start of
includes/admin-ui.phpthat WordPress reported ascharsout=3on activation and that could prefix REST loopback responses so Site Health showed “The REST API did not process the context query parameter correctly” even when the endpoint returned HTTP 200. - FIX: REST-safe i18n — on
/wp-json/*requests the plugin no longer reloads its text domain or overridesplugin_localefornewsroom-ai-assistant, so core REST and Site Health checks stay stable while the per-site language picker (1.7.1+) continues to work in wp-admin. - FIX: Per-site UI language picker — restored the 1.7.3 gettext loading path (
load_textdomainwithdetermine_locale()lookup) after an experimental init-only loader caused the dashboard to stay in English regardless of Settings Language. - FIX: Task assignment dropdown uses
capability=>edit_postsinstead of deprecatedwho=>authors(WordPress 5.9+). - IMPROVEMENT:
the_content/ timeline shortcode and speakable snippet bail out during REST/JSON requests (no mutation of API payloads).
1.7.3
- IMPROVEMENT: Author E-E-A-T split (posts vs profile) — single posts (Balanced & Full presets) now embed only a pointer-style
Personin@graph(@type,@id,name,url,avatarimage) withNewsArticle.authoras{ "@id": "…/author/name/#author" }. FullPersonmarkup (description, jobTitle, sameAs, alumniOf, knowsAbout) is emitted only on the author archive (ProfilePage+ full entity +mainEntityOfPage), matching the same#author@id so crawlers resolve one canonical author entity per writer. - IMPROVEMENT:
thumbnailUrluses lead-sized images — prefersfull,2048×2048,1536×1536,large,medium_large(widest available among those), so the URL is not the smallthumbnailcrop. Falls back to the attachment file URL, then to the previous widest-candidate logic. Image candidates also accept URLs when WordPress returns 0×0 dimensions in the src tuple, filling width/height from attachment metadata when possible. - IMPROVEMENT:
NewsArticle.imageavoids 150×150 (and similar micro-crops) winning aspect slots: only variants whose larger side is ≥ 600px compete for 1:1 / 4:3 / 16:9 picks, with a stronger width penalty so wide lead images beat perfect-ratio thumbnails. - ADD:
nros_attachment_image_src_dims()— fills missing featured-image width/height from attachment metadata whenwp_get_attachment_image_srcreturns zeros;nros_schema_parse_speakable_selectors()— normalizes bare class tokens and space-separated classes on one element (e.g.entry-content clear.entry-content.clear) for valid SpeakablecssSelectorvalues. - IMPROVEMENT:
SpeakableSpecification—speakableis now emitted on single posts for Balanced and Full presets when CSS selectors are configured (still off for Minimal). Bare tokens likeentry-titleare normalized to.entry-titlein JSON-LD. Settings preview mirrors this; a warning appears if selectors are set but the preset is Minimal. Saving other options no longer clears speakable when the field is absent from a partial POST. - IMPROVEMENT: Speakable on
WebPagetoo — the sameSpeakableSpecificationis attached to bothNewsArticleandWebPagein@graph(Google’s primary example usesWebPage). Developers can adjust selectors withnros_schema_speakable_css_selectors(receivesarray $selectors,int $post_id,WP_Post $post). - IMPROVEMENT: Speakable concise lede snippet — optional visible paragraph (class
.nros-speakable-snippet, default 400 characters from excerpt or trimmed lede) prepended on single posts; the selector is auto-prepended toSpeakableSpecification.cssSelectorwhen enabled (Settings Schema & SEO). Filtersnros_speakable_snippet_textand existingnros_schema_speakable_css_selectorsallow overrides. - FIX: Speakable max characters vs. full article in validators — the character cap applies only to
.nros-speakable-snippet; selectors like.entry-contentstill matched the whole article in the DOM, so Rich Results Test could show huge repeated text. With the snippet enabled, the engine now omits common wide-body selectors fromcssSelectorby default (filternros_speakable_body_selector_substrings). New checkbox omit wide body selectors (default on).nros_speakable_finalize_schema_selectors()centralizes this for JSON-LD and the settings preview. Snippet-only mode: snippet on + empty Speakable CSS field still emits.nros-speakable-snippetand prepends the lede (Balanced / Full). - IMPROVEMENT: Schema JSON-LD transients bumped to
v154(busts cached@graphafter Speakable selector changes; supersedes v153 keys).
1.7.2
- NEW: Schema richness presets (Minimal / Balanced / Full) under Settings Schema & SEO.
- Minimal — no separate tag entity graph (
about/mentions/keywords), no video object, nospeakable; author is a lightweight inline name + URL only; still uses the slim publisher on posts (below). - Balanced — tag entities run with caps (
about≤ 1,mentions≤ 3, keywords ≤ 8); slimPersonin@graph(dropsalumniOf/knowsAboutand short bio); video allowed; nospeakable. - Full — same richness as before (full
Person, all tag entities, video,speakablewhen configured). Single posts still use the slim publisher node so VAT/legal is not repeated on every URL.
- Minimal — no separate tag entity graph (
- NEW: Article body in JSON-LD — choose omit, full post text, or first N words only (N clamped 30–2000, default 200). Cuts duplicate payload on long articles while keeping headline, dates, images, and other core
NewsArticlefields. - IMPROVEMENT: Organization (VAT, legal ID, full address, contact, etc.) is output as the full
Organizationnode on the homepage (and blog index / custom feed cases handled by the engine). Category archives, tag archives, author archives, and single posts add a slim publisher in@graph: same@idas the home organization (#organizationon the site URL) with@type,name,url, andlogo(with dimensions when known).NewsArticle.publisherkeeps pointing at that@idso knowledge-graph linking stays valid site-wide. - IMPROVEMENT:
NewsArticle.imageis a list of Schema.orgImageObjectentries (url+width+heightwhen WordPress provides them). The engine samples registered sizes (full,large,medium_large,medium,thumbnail,1536x1536,2048x2048), de-duplicates by URL, then outputs up to three images tuned for 1:1, 4:3, and 16:9 aspect ratios (Discover-oriented), not every intermediate file size. - IMPROVEMENT: Schema JSON-LD transients version bumped to
v146so cached markup refreshes after upgrade without manual cache flush.
1.7.1
- NEW: Full multilingual UI (Greek, English, German, Spanish) — the entire plugin (settings tabs, dashboards, sidebar, editor strings, email subjects, error messages) now flows through native WordPress gettext under the
newsroom-ai-assistanttext domain. Includes compiled.mocatalogs andwp_set_script_translationsJSON for the editor JS, so writers see consistent translations from the dashboard through to the Gutenberg sidebar. - NEW: Per-site UI language picker — Settings Site Details Language. Switch between EL / EN / DE / ES independently of the global WordPress locale, perfect for international newsrooms where the chief and the writers prefer different UI languages.
- IMPROVEMENT: WordPress 6.7+ Just-In-Time textdomain loader compatibility — the plugin now loads its translation catalog directly with the resolved request locale (
determine_locale()), so__()/_e()calls hit the right bucket on the newWP_Translation_Controller. Previously, the picker could silently fall back to English on admin screens served under a different user-locale than the site locale. - IMPROVEMENT: Predictable script translation file routing — JS catalogs now resolve to readable filenames (
newsroom-ai-assistant-{locale}-newsai-script.json) instead of the default md5-of-relative-path naming, so packaging translations no longer breaks if the plugin folder is renamed (e.g.newsroom-ai-assistantvsnewsroom-ai-assistant-pro). - FIX: Instant Indexing “Test now” false negative — the IndexNow self-test no longer reports “Key file unreachable (HTTP 200)” when the key file is actually served correctly. Strict body equality was tripping on UTF-8 BOMs and minor whitespace added by some CDNs / caching layers. The verifier now strips BOM and accepts any 200 response whose body contains the configured key. The real Bing/Yandex submission was always working — only the in-dashboard verification was lying about it.
- FIX: Focus Score never drops on republish — when a post transitions to
publish(or is re-published after an edit), the pinned analytics score is nowmax(previous_pinned, current_live). Earlier behavior could overwrite a higher historical score with a lower mid-edit value, deflating author averages on the Performance dashboard. Live, in-editor saves remain unchanged. - FIX: Editor sidebar rendering bug — a stray
?>sequence inside a comment block on certain PHP parsers was causing the Newsroom OS meta box to print raw PHP into the Gutenberg sidebar. Sidebar now renders cleanly on all PHP 7.4 – 8.3 builds. - FIX: Decision Engine score persistence honors the 10-second debounce on the client and an idempotent server write — repeated saves of the same value no longer bust the Author Performance transient cache (was causing unnecessary re-aggregation queries on long edit sessions).
- IMPROVEMENT: Pro license activation now surfaces the real reason when the NewsOS API rejects a key — the previous flow swallowed the response and printed a generic “License validation failed.” The error now includes the HTTP status and a snippet of the server response (e.g.
License validation failed (HTTP 404). Server response: rest_no_route), so license issues can be diagnosed without enabling WP_DEBUG. - IMPROVEMENT: License response parser tolerates UTF-8 BOM and leading whitespace before the JSON payload — previously, a license server whose PHP files were saved with a BOM (a very common WordPress packaging mistake) would silently fail every activation because
json_decode()returned null on the BOM-prefixed body.
1.7.0
- NEW (Pro): Author Performance dashboard with per-writer cards, inline expandable details, top recent articles + categories, 7d/30d/90d live AJAX toggle, personal “Your own performance” card for chiefs.
- NEW (Pro): Focus Score persistence — the client-side Publish Confidence is now saved to postmeta (
_newsai_focus_score) on a 10-second debounce and pinned at publish time (_newsai_focus_score_at_publish) so analytics aren’t skewed by later edits. - NEW (Pro): Groq AI provider with free-tier support (no credit card required) — drop-in next to OpenAI and Gemini, using
llama-3.3-70b-versatileby default. - NEW (Pro): Discover-optimized Title Suggestions — five headlines per run, each in a different editorial angle (facts / impact / aftermath / authority / Discover hook), strictly 55–70 characters, with live char counter + angle badges in the editor sidebar.
- NEW (Pro): Geo-aware AI language — AI prompts now answer in the correct language for the configured geo target (50+ locales: GR, BR, MX, ES, JP, IL, AR, DE, FR, IT, PL, RO, TR, RU, +more), even on aggressive English-leaning models. New filter
newsai_ai_geo_to_localefor custom multilingual setups. - NEW: Chiefs can now also access “My Inbox” via a dedicated submenu, so they can operate in writer-mode for their own assignments without losing the chief dashboard.
- NEW: Personal performance card inside “My Inbox” for every writer (Pro) — posts, tasks, avg Focus Score, trend, top categories.
- IMPROVEMENT: Trend Radar fallback uses stable Google News topic RSS first, then localized search query — fixes empty feeds on EL/BR/MX installs.
- IMPROVEMENT: Capability-based access tightened. “Chief” now strictly means
edit_others_postseverywhere (menu, dashboard widget, AJAX endpoints, email notifications) — peer writers can no longer leak into each other’s threads. - IMPROVEMENT: Gemini default model upgraded to
gemini-2.5-flashwith transparent auto-migration of deprecated1.5-*model names. - IMPROVEMENT: AI Settings page now links directly to OpenAI / Gemini / Groq API-key dashboards with one-line guidance — including the free Groq + free Gemini paths so writers can start with zero spend.
- IMPROVEMENT: Pro purchase CTAs across the plugin (banner, lock cards) point to newsos.io and carry UTM tracking.
- FIX: Author Performance expanded view now spans the full grid row with a clean article list (no more clipped tables on narrow screens).
1.6.0
- Editorial Intelligence: Publish Confidence + Next Best Action gauge, refined Auto-Timeline rules, soft profile presets.
- Wizard copy updated to reflect new settings model.
1.5.0
- Schema Engine v3 (Knowledge Graph build-out) and full E-E-A-T author profile support.
- Smart Tag Suggester rebuilt with confidence levels and phrase-aware matching.
