=== AIFQ Site Review ===
Contributors: aifq
Tags: site health, diagnostic, plugin-overlap, maintenance, woocommerce
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.1
Stable tag: 1.6.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aifq-site-review

A calm, local-first site review for WordPress: what needs attention, why it matters, and who should handle it.

== Description ==

AIFQ Site Review is the clean second opinion for WordPress.

It helps site owners understand what needs attention, why it matters, and who should handle it — the site owner, a developer, or the hosting provider.

AIFQ Site Review is especially useful when a WordPress site has many plugins, Elementor, WooCommerce, caching questions, maintenance pressure or unclear technical responsibility.

Instead of giving you a long technical checklist, AIFQ Site Review focuses on practical clarity:

* a recommended first or next step
* clear attention points and improvement opportunities
* plain-language explanations
* "Best handled by" labels for each finding
* a copyable summary
* a copyable message for your developer or hosting provider

AIFQ Site Review works as a calm layer on top of WordPress Site Health. It does not replace security plugins, caching plugins, SEO plugins, backup solutions, professional maintenance or hosting support.

Use it when you want to understand what is going on and prepare a better question for the right person.

== Privacy ==

AIFQ Site Review is local-first:

* No external API calls are made by this version.
* No telemetry or tracking is included.
* No website visitor data, user account details, WooCommerce customer data, orders or payments are scanned.
* No passwords, API keys, salts or secrets are scanned.
* Scan results are stored locally in WordPress options.

== Important limits ==

AIFQ Site Review provides practical indications, not guarantees.

It is not:

* a full security audit
* a malware scanner
* a speed test or PageSpeed tool
* a speed guarantee
* an automatic fixer
* a vulnerability database scanner
* a replacement for a developer, hosting provider or maintenance provider

AIFQ Site Review helps you understand setup signals and prepare better questions for your developer or hosting provider. It does not provide custom support for fixing individual websites.

== Translation status ==

AIFQ Site Review 1.6.0 is English-first. The plugin shell, Copy Summary, finding titles, recommendations, previews, helper explanation strings and natural issue text are translation-ready.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`.
2. Activate AIFQ Site Review in WordPress.
3. Open AIFQ Site Review from the admin menu.
4. Click Scan website.

== FAQ ==

= Does AIFQ Site Review send scan data externally? =

No. This version runs local checks inside WordPress and does not send scan data to an external service.

= Does AIFQ Site Review fix issues automatically? =

No. AIFQ Site Review is a clarity and second-opinion tool. It explains signals and next steps, but it does not automatically change your website.

= Who is AIFQ Site Review for? =

AIFQ Site Review is for WordPress site owners, WooCommerce store owners, freelancers, agencies and hosting/support teams who want a clearer second opinion before making changes or asking for help.

= Does AIFQ Site Review provide custom support for my website? =

No. AIFQ Site Review helps you understand setup signals and prepare better questions for your developer or hosting provider. It does not provide custom support for fixing individual websites.

= What should I do after a scan? =

Start with the recommended first or next step. Then use the "Best handled by" label to decide whether the item is best handled by you, your developer, your hosting provider, or both.

= Is AIFQ Site Review a security scanner or malware scanner? =

No. AIFQ Site Review can show basic security-related setup signals, but it is not a vulnerability scanner, malware scanner, firewall or full security audit.

= Is AIFQ Site Review a speed test? =

No. AIFQ Site Review does not run live speed tests or replace tools such as PageSpeed Insights, WebPageTest or GTmetrix. It reviews setup signals that can affect maintainability, complexity and performance expectations.

= Does AIFQ Site Review guarantee that my site is secure, fast or fully optimized? =

No. AIFQ Site Review provides practical indications based on local WordPress data. It does not guarantee security, performance or complete optimization.

= Can AIFQ Site Review detect hosting backups, server-side caching or CDN behavior? =

Not reliably from inside WordPress. Where those signals are uncertain, AIFQ Site Review should present them as things to verify rather than hard facts.

== Screenshots ==

1. First-run screen explaining what AIFQ Site Review helps with before the first scan.
2. Dashboard with overall score, recommended next step and copy buttons.
3. Recommended steps and top opportunities help site owners understand what to do next.
4. Finding cards show attention points, opportunities and who should handle each item.
5. The Looks good section confirms what already appears to be in good shape.

== Upgrade Notice ==

= 1.6.0 =
WordPress.org review fix: new AIFQ Site Review name, unique prefixes and cleanup requested by reviewers.

= 1.5.1 =
Plugin Check cleanup for WordPress.org submission. No feature, scoring or UI changes.

= 1.5.0 =
Rename and WordPress.org readiness update. Introduces AIFQ Site Review positioning, support boundaries and submission-ready metadata.

= 1.4.1 =
Priority and copy clarity polish: improves top-step prioritization, object-cache/caching wording, autoload safety copy and low Setup health context without new checks or feature expansion.

= 1.4.0 =
Communication and targeted detection release: adds Best handled by labels, a developer/host handoff message, environment context, WP_DEBUG_DISPLAY, URL mismatch and object-cache signals.

= 1.3.6 =
Maintenance polish: improves translation coverage for opportunity review time, aligns resolved-opportunity wording, and removes small unused internals. No scan logic or design changes.

= 1.3.5 =

Micro-polish release. Refines wording and small interaction cues after the UX clarity polish without scoring, detection or architecture changes.

= 1.3.4 =

UX clarity polish release. Reframes score/category labels, reduces dashboard count overload and adds safer guidance for technical recommendations without scoring, detection or architecture changes.

= 1.3.3 =

Natural issue text i18n foundation release. Makes the remaining natural issue text translation-ready with sentence-level escaping and without design changes, scoring changes, detection changes or copy changes.

= 1.3.2 =

Plain-string i18n foundation release. Makes finding recommendations, previews and helper explanation strings translation-ready without design changes, scoring changes, detection changes or copy changes.

= 1.3.1 =

Finding-title i18n foundation release. Makes attention-point titles and first-action titles translation-ready without design changes, scoring changes, detection changes or copy changes.

= 1.3.0 =

Hardening release. Removes unused score_gain scan data, renders time estimates live for old-scan compatibility and splits Elementor add-on findings into stable keys without design changes, scoring changes or new detection features.

= 1.2.10 =

Minor polish release. Adds the Domain Path header, removes one unused internal method and aligns the cache conflict map without design changes, scan logic changes or external calls.

= 1.2.9 =

Copy Summary call-site fix. Restores correct Since last scan and Main attention point data after the 1.2.8 i18n refactor.

= 1.2.8 =

WordPress.org polish release. Improves Copy Summary translation readiness, readme sections, key fallback safety and small code cleanup without changing scan design or adding external calls.

== Changelog ==

= 1.6.0 =
* Renamed plugin to AIFQ Site Review and changed slug/text domain to `aifq-site-review`.
* Replaced old internal prefixes with `aifq_sr_`, `aifq-sr-`, `AIFQ_SR_` and `aifqSrI18n`.
* Removed an unnecessary direct include of a WordPress admin theme file.
* No new checks, scoring changes, UI redesign, external calls or telemetry.

= 1.5.1 =
* Plugin Check cleanup for WordPress.org submission.
* Removed manual translation loading for WordPress.org-hosted translations.
* Added translator comments for placeholder strings.
* Improved escaping visibility for internal UI markup.
* Removed the root privacy markdown file from the plugin package.
* Kept checks, scoring, UI, CSS, JavaScript and product behavior unchanged.

= 1.5.0 =
* Renamed the product to AIFQ Site Review for WordPress.org availability.
* WordPress.org readiness and positioning pass.
* Updated first-run and hero copy around AIFQ Site Review as the clean second opinion for WordPress.
* Emphasized what needs attention, why it matters and who should handle it.
* Added clearer support boundaries and FAQ entries.
* Renamed copy buttons to clarify the audience of each copied text.
* No new checks, scoring changes, cluster changes, CSS redesign, external calls or telemetry.

= 1.4.4 =
* Added a small debug/development cluster proof of concept.
* Combines related production debug findings into one clearer attention point when WP_DEBUG, SAVEQUERIES and a non-empty WordPress error log are active together.
* No new checks, UI sections, CSS changes, scoring model changes, external calls or telemetry.

= 1.4.3 =
* Full copy audit and beginner clarity pass.
* Safer wording for debug logs, revisions, plain permalinks, PHP memory and SAVEQUERIES.
* Removed handler labels from the external developer/host message to keep support tickets clearer.
* Clarified object cache, WooCommerce mail delivery, XML-RPC and security-plugin guidance.
* Updated readme positioning and privacy wording.
* No new checks, scoring changes, detection changes, CSS changes, external calls or telemetry.

= 1.4.2 =
* Added high-confidence local checks for SAVEQUERIES, default admin username and public user registration.
* Added WooCommerce email-delivery and Action Scheduler status signals without reading order, customer or payment data.
* Added a multiple page builders signal using exact active plugin slugs.
* Kept public registration and WooCommerce mail delivery as improvement opportunities rather than hard problems.
* Used safe Action Scheduler COUNT queries on status columns only; no action payloads or order data are read.
* No external calls, telemetry, broad plugin-overlap expansion, scan history, reports or Pro features.

= 1.4.1 =
* Improved recommended-step priority so scenario-specific setup issues can outrank generic hardening checks.
* Clarified object-cache wording to explain that object caching is separate from normal page caching and is not always needed.
* Made caching terminology more conservative with “No clear caching layer detected” display wording.
* Strengthened database/autoload safety copy for beginners.
* Added extra low Setup health context explaining that Setup health is not a live speed test.
* No new checks, scoring model changes, broad detection expansion, external calls or telemetry.

= 1.4.0 =
* Added “Best handled by” labels for attention points and opportunities.
* Added a copyable message for developer/host handoff.
* Added environment-type context for safer staging/development handling.
* Added checks for WP_DEBUG_DISPLAY, Site URL/Home URL mismatch and object-cache drop-in opportunities.
* Kept the release local-first with no external calls, telemetry or custom database tables.


= 1.3.6 =
Maintenance and copy consistency:
* Fixed opportunity review-time translation coverage.
* Aligned resolved-opportunity wording with the rest of the scan comparison language.
* Made the first-scan comparison prompt more action-oriented.
* Removed unused internal helper code and an unused variable.
* Fixed a minor passed-check title map mismatch.
* No design changes, scan logic changes, scoring changes or external calls.

= 1.3.5 =
Micro-polish:
* Shortened the score context below the score.
* Changed the top action label to Recommended next step when there are no important issues.
* Made See all findings below more action-like and softened the repeated current-signal line.
* Improved good-score summary wording and issue-card Review time spacing.
* No scoring changes, no detection changes, no new features and no external calls.

= 1.3.4 =
UX clarity polish:
* Renamed visible category labels from Performance/Security to Setup health/Security signals while keeping internal category keys unchanged.
* Added score context near the score and removed the prominent potential-points card.
* Moved the recommended first step higher in the status card and simplified the top summary counts.
* Replaced the remaining-attention-count message with a calmer See all findings below note.
* Added a Review time label to issue-card time estimates.
* Improved user-facing copy and added safer developer/host guidance for technical items.
* No scoring changes, no detection changes, no CSS refactor, no new features and no external calls.

= 1.3.3 =
Natural issue text i18n foundation:
* Wrapped natural issue text prose in render_natural_issue_text() with gettext.
* Added reusable translated labels for Advice: and Technical detail:.
* Kept HTML structure outside translation strings and escaped translated prose.
* No design changes, no scoring changes, no detection changes and no copy changes.

= 1.3.2 =
Plain-string i18n foundation:
* Wrapped finding recommendations in gettext via display_issue_recommendation().
* Wrapped issue previews in gettext via issue_preview().
* Wrapped helper explanation strings in gettext via issue_simple_explanation() and issue_if_ignored().
* Wrapped first-action reason strings in gettext via short_action_reason().
* Added missing recommendation cases for inactive_plugins_soft and inactive_themes_soft.
* Updated the translation template for the new plain-string msgids.
* No design changes, no scoring changes, no detection changes and no copy changes.

= 1.3.1 =
Finding-title i18n foundation:
* Wrapped attention-point titles in gettext via display_issue_title().
* Wrapped first-action titles in gettext via short_action_title().
* Updated the translation template for the new title strings.
* No design changes, no scoring changes, no detection changes and no copy changes.

= 1.3.0 =
Hardening and maintenance:
* Removed the unused score_gain field and helper parameter from issue and suggestion creation.
* Rendered issue time estimates live instead of reading stored scan text, improving old-scan compatibility for future translation work.
* Split the shared Elementor add-on key into elementor_addons_many and elementor_addons_several while preserving old scan compatibility.
* Added translation wrappers for issue time-estimate strings.
* No design changes, no scoring changes, no new detection features and no external calls.

= 1.2.10 =
Minor polish:
* Added Domain Path to the plugin header.
* Removed an unused internal method (render_area_change_pills).
* Added no_cache_layer to the conflict-group map for consistency.
* No design changes, no scan logic changes and no external calls.

= 1.2.9 =
Copy Summary call-site fix:
* Fixed the Copy Summary call site after the 1.2.8 i18n refactor so Since last scan and Main attention point receive the correct data again.
* No design changes, no scan logic changes and no external calls.

= 1.2.8 =
WordPress.org polish:
* Made Copy Summary strings translation-ready.
* Added FAQ, Screenshots and Upgrade Notice sections to readme.txt.
* Improved title_to_key() fallback so unmapped future titles get a unique sanitized key instead of generic.
* Removed a duplicate transient deletion.
* Fixed memory_to_mb() indentation.
* Added a basic aifq-site-review.pot translation template.
* No design changes, no scan logic changes and no external calls.

= 1.2.7 =
Release candidate regression fix:
* Added the new WooCommerce cache finding title to the stable key map while keeping the legacy title for old scans.
* Bumped Tested up to to WordPress 7.0 after testing.
* No design changes, no new checks and no external calls.

= 1.2.6 =
Release candidate cleanup:
* Cleaned public package readmes and privacy text.
* Softened WooCommerce cache detection to "No caching plugin detected for WooCommerce" and lowered it to medium severity.
* Lowered large-image sample severity from high to medium.
* Reordered first-action priority so HTTPS and core updates rank above WooCommerce cache conflicts.
* Aligned backup-related passed-check key mapping.
* No design changes, no external calls and no new database tables.

= 1.2.5 =
Public release readiness:
* Improved autoloaded-options detection for modern WordPress autoload values.
* Included multisite network-active plugins in plugin detection.
* Made file-editor detection consistent with DISALLOW_FILE_MODS.
* Improved XML-RPC detection by respecting WordPress-level filters and lowered its first-action priority.
* Made large-image sample checking deterministic by scanning the most recent media sample.
* Renamed the backup opportunity to "No known backup plugin found".
* Stored new scan timestamps as Unix timestamps while preserving legacy date support.

= 1.2.4 =
Trust & detection accuracy:
* Added a stable key for the "No cache layer detected" attention point.
* Corrected Elementor add-on counting so Elementor core and Pro are not counted as add-ons.
* Excluded the required parent theme of an active child theme from inactive theme counting.
* Made backup, update, large-image and HTTPS copy more conservative.
* Lowered XML-RPC severity from medium to low and clarified that server-level blocks may still exist.

= 1.2.3 =
Category clarity cleanup:
* Renamed the Health display label to Site basics.
* Simplified category subtitles so they focus on attention points and opportunities.
* Removed passed-check details from category accordions.
* Kept the global Looks good section as the single place for passed checks.

= 1.2.2 =
* Fixed Since last scan area-score deltas rendering as separate micro-pills.

= 1.2.1 =
* Rebuilt the 1.2 branch from the approved 1.1.10 visual baseline and refreshed admin asset versions.

= 1.2.0 =
* Added smarter scan insights, View changes, improved Copy Summary and refined inactive plugin/theme thresholds.

= 1.1.10 =
* Approved visual/design baseline.

= 1.0.0 =
* Internal foundation baseline.
