=== QueryCatch ===
Contributors: querycatch
Tags: search console, google analytics, seo, analytics, dashboard
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

QueryCatch inside WordPress: Search Console and Analytics numbers, search clicks per post, and AI-suggested SEO titles and descriptions.

== Description ==

QueryCatch is a search intelligence platform that brings Google Search Console, Google Analytics, site health and content optimisation together. This plugin brings your QueryCatch numbers into WordPress, so you don't have to leave your site to see how it's doing in search.

**What you get**

* A QueryCatch page in your WordPress admin with your Google Search clicks, impressions, click-through rate and average position, compared with the previous period, plus a chart of clicks per day.
* Your top searches and top pages, and your Google Analytics visitors, visits, page views and where visitors came from.
* A dashboard widget with the last 30 days at a glance.
* A "Search clicks" column in your Posts and Pages lists, so you can see which posts bring visitors from Google.
* Titles & descriptions: every post and page with its SEO title and meta description, checked against your QueryCatch rules. Click Suggest for an AI suggestion written to your rules and brand voice, edit it, and Apply.
* A QueryCatch panel in the block editor with the page's search clicks, the searches it's found for, and suggested titles and descriptions.
* Works with Yoast SEO and Rank Math, saving titles and descriptions where they keep them. Without an SEO plugin, QueryCatch keeps them and adds them to your pages itself.

**How connecting works**

Click Connect, sign in to QueryCatch, and choose which of your organisations this site is. The connection is locked to that one organisation. Through it, the plugin can read that organisation's numbers and rules and ask QueryCatch's AI for suggestions; it can't change anything in QueryCatch. A title or description only changes on your site when an administrator clicks Apply in WordPress. You can disconnect at any time, from the plugin or in QueryCatch under Profile settings, AI assistants.

Only WordPress administrators see the QueryCatch screens. Every administrator of the site can see the numbers, so connect only the organisation they should see.

**What you need**

* A QueryCatch account on an active plan, with Google Search Console connected (Google Analytics is optional).
* To be an admin of the QueryCatch organisation you connect.
* A site served over HTTPS.

== External services ==

This plugin connects to QueryCatch (https://www.querycatch.com), a service run by QueryCatch, to show your search and analytics numbers. Nothing is sent until an administrator clicks Connect.

* **When you click Connect**, the plugin registers this site with QueryCatch, sending the site's sign-in return address (an address in this site's admin area) and the plugin's name. Your browser then goes to QueryCatch, where you sign in and choose an organisation.
* **When an administrator opens a QueryCatch screen, the dashboard, a Posts list or the editor**, the plugin asks QueryCatch for that organisation's Google Search Console and Google Analytics numbers and its rules for titles and descriptions. Each request carries this site's connection token, the date range shown and, for one page's searches, that page's address. Answers are cached on this site for an hour.
* **When an administrator clicks Suggest**, the plugin sends that page's title, address, type, its current SEO title or description, the search it's most found for and the first 3,000 characters of its text to QueryCatch, whose AI (Google's Gemini) writes the suggestion. Suggestions count towards a daily limit for the organisation.
* **When you disconnect or delete the plugin**, it tells QueryCatch to end the connection. (If your site's secret keys have changed, the plugin can no longer read the connection to end it: end it in QueryCatch under Profile settings, AI assistants, Your connections.)

The plugin sends no information about your visitors or users to QueryCatch, and only sends a post's content when you ask for a suggestion for it.

QueryCatch's terms of service: https://www.querycatch.com/terms
QueryCatch's privacy policy: https://www.querycatch.com/privacy

== Installation ==

1. Install the plugin from Plugins, Add New, or upload the zip under Plugins, Add New, Upload Plugin, then activate it.
2. Open QueryCatch in the admin menu and click Connect to QueryCatch.
3. Sign in to QueryCatch, choose the organisation this site belongs to, and click Allow.

== Frequently Asked Questions ==

= Do I need a QueryCatch account? =

Yes. The numbers come from your QueryCatch organisation, which needs Google Search Console connected and an active plan.

= Can the plugin change my site? =

Only when an administrator clicks Apply on a suggested title or description. It saves it where your SEO plugin keeps it (Yoast SEO or Rank Math), or, with no SEO plugin, in its own field, which it then adds to the page. Nothing else on your site changes, and nothing changes through QueryCatch.

= Which SEO plugins does it work with? =

Yoast SEO and Rank Math. With All in One SEO, SEOPress, The SEO Framework, Slim SEO, SmartCrawl, Squirrly, WP Meta SEO or Jetpack's SEO tools, you can get suggestions and copy them into that plugin, but the plugin doesn't save them for you. With none of these, QueryCatch saves them and adds the page title and meta description itself. If your theme or another tool already adds them, return 'other' from the `querycatch_seo_provider` filter so they aren't added twice.

= What does a suggestion cost? =

Nothing extra: suggestions are part of your QueryCatch plan, up to a daily limit per organisation.

= Who can see the numbers? =

WordPress administrators only. Editors, authors and other roles don't see the QueryCatch screens, the dashboard widget, the Search clicks column or the editor panel.

= Why does a post show a dash in the Search clicks column? =

The column covers your 250 most clicked pages over the last 30 days. A post outside those, or not published, shows a dash.

= How are the connection details stored? =

Encrypted, with a key made from your site's secret keys in wp-config.php, so a copy of your database alone can't use them. If your wp-config.php has no secret keys of its own, WordPress keeps them in the database instead, and then it can; add keys to wp-config.php to close that. If you change the keys, connect again.

= Who can see who connected the site? =

The QueryCatch page shows every administrator which organisation the site is connected to and the email address of the QueryCatch account that connected it.

= My site isn't on HTTPS. Can I connect? =

No. QueryCatch only sends sign-ins back to secure addresses.

== Screenshots ==

1. Your Google Search and Google Analytics numbers inside WordPress.
2. Choosing which organisation the site is, on QueryCatch's consent screen.
3. Search clicks beside every post.
4. The dashboard widget.
5. Titles & descriptions, with a suggestion ready to apply.
6. The QueryCatch panel in the block editor.

== Changelog ==

= 1.1.0 =
* Titles & descriptions: AI-suggested SEO titles and meta descriptions, written to your QueryCatch rules and brand voice, saved in Yoast SEO, Rank Math or by QueryCatch itself.
* A QueryCatch panel in the block editor with the page's search clicks and top searches.

= 1.0.0 =
* First release: connect to one QueryCatch organisation; the QueryCatch page, the dashboard widget and the Search clicks column.

== Upgrade Notice ==

= 1.1.0 =
Adds suggested titles and descriptions. To use them, disconnect and connect again after updating, so QueryCatch can allow suggestions.

= 1.0.0 =
First release.
