=== Jralo for WooCommerce ===
Contributors: jralo
Tags: accessibility, wcag, woocommerce, a11y, monitoring
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

See your Jralo accessibility and website QA check inside WordPress, and add the live Monitored by Jralo badge to your store without code.

== Description ==

[Jralo](https://jralo.com/) checks a website for accessibility problems (WCAG 2.2 level A and AA rules, tested with axe-core) and for everyday faults such as broken links, broken images, page errors and slow pages. It keeps a dated record of every check.

This plugin connects your WordPress site or WooCommerce store to your Jralo account. It works on any WordPress site and adds store-specific help when WooCommerce is active.

**What you get in WordPress**

* **Your last check**, on a Jralo page in wp-admin: when it ran, how many pages it opened, the number of accessibility problems by severity (critical, serious, moderate, minor), the biggest problems, and the website QA results.
* **Check now**: start a new check from WordPress, within your Jralo plan's daily limit.
* **One button to the full report** and dashboard on jralo.com, where every problem is listed with how to fix it.
* **The Monitored by Jralo badge**, as a footer setting, a block and a shortcode, in four styles. The badge is off until you turn it on.
* **For WooCommerce stores**: a plain list of what a check covers on a store and what it does not, with links to your own shop, cart and checkout pages.

**What a check covers, and what it does not**

A check opens your homepage and up to 5 pages linked from it, the way a visitor who is not signed in sees them. On most stores these are the shop page, category pages and product pages.

A check never signs in, never adds anything to a cart and never places an order. It does not open cart, checkout, account or sign-in pages: links to them are skipped on purpose. Test those by hand.

Automated testing finds many accessibility problems, not all of them. A check result is not a statement that a site meets any law or standard, and this plugin does not make a site meet one. It does not change how your site looks or works for visitors: there is no overlay and no widget.

**You need a Jralo account**

The plugin is free and everything in it works with a free Jralo account: connecting, seeing your last check and running Check now. Jralo's paid plans are bought on jralo.com, not in this plugin. They add automatic daily checks and the public record that the badge links to. Nothing in the plugin is locked.

**The badge**

The badge is an image served live by jralo.com. It shows the date of your site's last check and links to your site's public record. It appears only while your site is on a Jralo paid plan with its public record turned on, and it disappears by itself if monitoring stops. The plugin prints nothing on your site until then, and nothing in your footer unless you turn the footer setting on.

Shortcode: `[jralo_badge]`, or with a style: `[jralo_badge style="light"]`. Styles: `dark`, `light`, `color`, `compact`.

== External services ==

This plugin connects to **Jralo** (https://jralo.com/), the service that runs the checks. It is needed for everything the plugin does. Jralo is run by Misimi Corp, the plugin's author.

**Nothing is sent to Jralo until you paste a connection token and press Connect.** Installing and activating the plugin makes no outside requests.

After you connect, the plugin makes these requests from your server to `https://jralo.com/api/v1/`:

* **Reading your site's check** (`GET /api/v1/site`): when you connect, when you open the Jralo page in wp-admin (at most once every 5 minutes), when you press Refresh, and twice a day in the background so the plugin knows whether your badge is still on.
* **Starting a check** (`POST /api/v1/site/check`): only when you press Check now.
* **Removing the connection** (`DELETE /api/v1/site/connection`): only when you press Disconnect.

What is sent with each request: your connection token, and the plugin's name and version as the user agent. As with any web request, Jralo also sees your server's IP address. The plugin sends nothing else: no site address, no content, no user, customer, order or product data.

What comes back: the web address of the site connected in your Jralo account, your plan's name, when the last check ran and its counts. The plugin stores this in your WordPress database to show it to you.

**Checks are made by Jralo's servers, not by this plugin.** When a check runs (because you pressed Check now, or daily on a paid plan), Jralo's browser opens your site's public pages over the internet, like any visitor.

**The badge**, if you choose to show it, is an image loaded from `https://jralo.com/badge/` by your visitors' browsers, and it links to `https://jralo.com/monitored/`. When a visitor opens a page that shows the badge, their browser asks jralo.com for the image, which tells Jralo the visitor's IP address and browser type, as with any image hosted on another site. The badge sets no cookies and runs no script. The plugin adds a suggested paragraph about this to Settings > Privacy > Policy Guide.

The plugin does no tracking and contains no analytics.

* Jralo Terms of Service: https://jralo.com/terms/
* Jralo Privacy Policy: https://jralo.com/privacy/
* Badge Terms: https://jralo.com/badge-terms/

== Installation ==

1. Install the plugin from Plugins > Add New, or upload the zip, and activate it.
2. Open the new **Jralo** page in your WordPress admin menu.
3. In your [Jralo dashboard](https://jralo.com/app/) (a free account is enough), add your site. Under the site, open "Connect a WordPress or WooCommerce site" and press "Create a connection token".
4. Paste the token into the Jralo page in WordPress and press Connect.
5. Press Check now to run your first check.
6. Optional: to show the badge, turn on the footer setting, or add the "Monitored by Jralo badge" block or the `[jralo_badge]` shortcode where you want it.

== Frequently Asked Questions ==

= Does this plugin make my site accessible, or meet a law? =

No. It shows you the problems an automated check found so you can fix them. It does not change your site for visitors, and no plugin or automated test can state that a site meets a law or standard. Automated testing finds many accessibility problems, not all.

= Is it an accessibility overlay? =

No. The plugin adds no toolbar, widget or script to your pages. The only thing it can add to your public site is the badge image, and only if you turn it on.

= Do I need WooCommerce? =

No. The plugin works on any WordPress site. When WooCommerce is active, the Jralo page also explains what a check covers on a store and links to your shop, cart and checkout pages.

= Does it cost anything? =

The plugin is free. A free Jralo account lets you check one site up to 3 times a day by pressing Check now. Paid plans, bought on jralo.com, add automatic daily checks, exports of your record and the public record with the badge.

= Does a check place test orders or touch my cart? =

No. A check only reads public pages. It never signs in, adds to a cart or places an order, and it skips links to cart, checkout, account and sign-in pages.

= Why is my badge not showing? =

The badge shows only while your site is on a Jralo paid plan and its public record is turned on in your Jralo dashboard (under Badge). A new site's badge appears after its first daily check. Until then the plugin prints nothing, so your footer never carries an empty link. The Jralo page in WordPress tells you which of these is missing.

= Check now ended with a message that my site stopped waiting. What happened? =

A check takes about a minute, and some hosts stop waiting for an answer sooner than that. The check may still finish at Jralo: press Refresh after a minute.

= Where is my connection token kept? =

In your WordPress database, in the options table. The Jralo page shows only its last four characters. The token can read your site's check results and start a check; it cannot change your Jralo account or billing. Pressing Disconnect removes it from your site and from Jralo, and you can also remove it in your Jralo dashboard.

= What is removed when I delete the plugin? =

Everything it saved: the token, the saved check result, the badge settings and its scheduled refresh.

= My site is on a local or private address. Will it work? =

The plugin will connect, but Jralo can only check sites that are reachable on the public internet.

== Screenshots ==

1. The Jralo page after connecting: the last check with accessibility problems by severity, the biggest problems and the website QA results.
2. Connecting: paste a connection token made in your Jralo dashboard.
3. Badge settings: the footer switch, the four styles, the shortcode and the block.
4. For WooCommerce stores: what a check covers and what it does not, with your store's pages.
5. The Monitored by Jralo badge in a store's footer.

== Changelog ==

= 1.0.0 =
* First release: connect with a token, see your last check, Check now, the badge as a footer setting, block and shortcode, and WooCommerce help.

== Upgrade Notice ==

= 1.0.0 =
First release.
