Title: Turk SEM Search Intent
Author: Turk SEM
Published: <strong>October 13, 2026</strong>
Last modified: October 13, 2026

---

Search plugins

![](https://ps.w.org/turksem-search-intent/assets/banner-772x250.png?rev=3743959)

![](https://ps.w.org/turksem-search-intent/assets/icon-256x256.gif?rev=3743959)

# Turk SEM Search Intent

 By [Turk SEM](https://profiles.wordpress.org/tatilpanosu/)

[Download](https://downloads.wordpress.org/plugin/turksem-search-intent.1.0.1.zip)

 * [Details](https://wordpress.org/plugins/turksem-search-intent/#description)
 * [Reviews](https://wordpress.org/plugins/turksem-search-intent/#reviews)
 *  [Installation](https://wordpress.org/plugins/turksem-search-intent/#installation)
 * [Development](https://wordpress.org/plugins/turksem-search-intent/#developers)

 [Support](https://wordpress.org/support/plugin/turksem-search-intent/)

## Description

Most analytics plugins count visits. Search Intent asks a different question: when
someone lands on a page, do they find what they searched for?

For every page it measures active time, scroll depth, and what the visitor did next.
A visit counts as satisfied when the visitor went on to another page, sent a form,
clicked a phone, email, WhatsApp or outside link, or stayed active on the page for
at least 30 seconds. A visit counts as a quick exit when the visitor left within
10 seconds without doing any of that.

Each page is then compared with similar pages on your own site, posts with posts
and pages with pages, and pages that leave visitors unsatisfied rise to the top 
of the list.

#### What you see

 * Satisfied rate, median active time, quick exits and continuation for the whole
   site, against the previous period.
 * Every page with a status (Good, Watch, Needs work) and the reasons behind it,
   with an Edit link next to it.
 * Before and after an update: the satisfied rate in the 28 days before a page was
   last updated, and since then.
 * The same status in your Posts and Pages lists, right where you edit content.
 * Expected time for posts, based on their length.
 * Search by title or address, and export the page report as CSV.
 * Where entries come from: Google organic and Google Ads as separate rows, Bing,
   AI assistants such as ChatGPT and Perplexity, social media, other sites and direct
   visits.
 * Referring sites, and when the browser shares it, the exact page that sent the
   visitor.
 * A page view for every page: how it compares with similar pages, what was found
   and what to try, entries per day with the last update marked, its sources and
   referring sites.
 * A built-in guide that explains every number and label, with longer articles for
   each topic.

#### The Lab: from numbers to a better page

Open a page that loses visitors in the Lab and work through three steps.

 1. **Diagnose.** Runs on your server, no AI and no cost: when the post was last updated,
    wording that dates it (“in 2023”), broken and moved links, images that no longer
    load or have no alt text, a missing meta description, and structure problems.
 2. **AI review.** Your AI provider reads the post together with its measured behavior
    and the diagnosis, and writes prioritized advice that points to the paragraphs 
    it is about.
 3. **Improve.** Choose what to change: an opening that answers the search first, the
    SEO title, the meta description, dated wording, internal links, image alt text,
    broken links, or your own instructions. Every change is shown as a before and after.
    You tick the ones to keep. When the text or headline changes, WordPress keeps a
    revision, and the last change can be undone from the Lab.

Guard rails: the AI never rewrites the raw post. It proposes edits to numbered paragraphs,
headings and list items, so block editor markup stays valid. A new link may point
only to an address already in that paragraph or to a related post of your site, 
links the AI invents are removed, and a change applies only if the post, its headline
or the SEO field has not been edited since it was proposed. Changes to dated statements
always come with a note on what to check.

On WordPress 7.0 and later, the Lab uses the WordPress AI Client: it works with 
the AI provider you set up for the whole site under Settings > Connectors, and this
plugin stores no key. On older versions, or if you prefer, connect OpenAI, Anthropic
Claude, Google Gemini, OpenRouter, Mistral AI, DeepSeek or xAI Grok directly with
your own key; the model list then loads live from the provider. Save your own prompts
for house style and tone, and set a monthly run limit to protect your bill.

#### How it measures

The clock runs while the tab is in front, from the moment the page opens, and pauses
after 30 seconds without a scroll, mouse move, key press or touch, so a tab left
open does not inflate the numbers. Medians are used instead of averages for the 
same reason.

Google Ads clicks also come from google.com. Search Intent separates them from organic
search by the click id that Google Ads adds to the landing page address (gclid, 
gbraid, wbraid), so auto-tagging must be on in your Google Ads account. Microsoft
Ads clicks (msclkid) and campaigns tagged with a paid utm_medium such as cpc are
counted as ads too.

#### Privacy

 * No cookies. Nothing is written to the visitor’s browser: no cookies, no localStorage,
   no sessionStorage.
 * No IP addresses and no user agents are stored. Only the type of device (phone,
   tablet or desktop) is kept, from the screen width.
 * For referring sites, the host name is stored, plus the page path when the browser
   sends it. The part of an address after the question mark is never stored.
 * The data stays in your WordPress database. Measurement makes no external requests.
 * Suggested text for your privacy policy is added under Settings, Privacy.
 * Turk SEM receives nothing from your site. Our own [privacy policy](https://www.turksem.com/en/privacy-policy)
   covers turksem.com only.

#### Fast by design

The tracker is a single script of about 3 KB compressed. It loads with defer, makes
no request while the page loads, and sends one small packet when the visitor leaves
the page or clicks a link. On the server, packets are appended to a buffer file 
and moved into the database in batches once a minute, so busy sites do not get one
database write per page view. The Overview and Pages reports read daily totals, 
so they stay fast as data grows, and report screens never process post content. 
The post a visit belongs to is checked on the server, never taken from the browser.
Views of published posts are always recorded; other addresses (home, archives, anything
else) are capped at 3,000 different ones per day, so even a flood of invented addresses
cannot grow the reports beyond what the server can handle.

#### Honest limits

 * Without cookies, visits cannot be linked across page loads, so there is no pages-
   per-session number.
 * Visits from logged-in users are not measured unless you turn that on, so your
   own visits do not skew the numbers.
 * Search Intent does not see which search query brought a visitor. Google began
   withholding that in 2011.

#### Learn more

 * [Search Intent on turksem.com](https://www.turksem.com/en/search-intent): what
   the plugin measures, with screenshots and answers to common questions.
 * [Our WordPress plugins](https://www.turksem.com/en/wordpress-plugins): everything
   we publish for WordPress.
 * [About Turk SEM](https://www.turksem.com/en/about-us): the agency behind the 
   plugin.
 * [Contact us](https://www.turksem.com/en/contact) with ideas or questions. For
   help with the plugin itself, the support forum here on WordPress.org is the quickest
   route.

### External services

Measurement and reports make **no** external requests, and no account is required.
Search Intent never contacts Turk SEM: the links to turksem.com in the guide, the
plugin header and this page are plain links.

Two Lab features talk to outside services, and only when an administrator uses them.
Nothing runs in the background.

 1. **AI review and improvements (off until an AI provider is set up).** On WordPress
    7.0 and later the request goes through the WordPress AI Client to the provider 
    set up for the site under Settings > Connectors; otherwise it goes directly to 
    the provider you connected with your own key in the plugin’s Settings. When you
    click “Review this page” or “Prepare improvements”, the plugin sends the following
    to that provider: the post’s text, title and address; the totals measured for that
    page (for example its satisfied rate and quick exits); the Lab diagnosis and the
    earlier AI review of that post; your admin language and your prompt; the file names
    of images when alt text is requested; and the titles and addresses of up to 25 
    related posts when internal links are requested. Data about single visits is never
    sent. The key is yours, it is stored only on your server, and the provider bills
    the usage to your account. Provider terms and privacy policies: [OpenAI terms](https://openai.com/policies/terms-of-use)
    and [privacy policy](https://openai.com/policies/privacy-policy); [Anthropic commercial terms](https://www.anthropic.com/legal/commercial-terms)
    and [privacy policy](https://www.anthropic.com/legal/privacy); [Gemini API terms](https://ai.google.dev/gemini-api/terms)
    and [Google privacy policy](https://policies.google.com/privacy); [OpenRouter terms](https://openrouter.ai/terms)
    and [privacy policy](https://openrouter.ai/privacy); [Mistral AI terms and privacy policy](https://mistral.ai/terms);
    [DeepSeek terms](https://cdn.deepseek.com/policies/en-US/deepseek-terms-of-use.html)
    and [privacy policy](https://cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.html);
    [xAI terms](https://x.ai/legal/terms-of-service) and [privacy policy](https://x.ai/legal/privacy-policy).
    Saving the provider settings, and opening the Settings screen at most once a day,
    also asks the provider for its list of models; that request carries only your key.
 2. **Link check (diagnosis).** When you click “Run diagnosis”, the plugin requests
    the link and image addresses in that one post (up to 60 links and 40 images) to
    see whether they still work, with a second try for servers that refuse a HEAD request.
    The requests go to the sites those links point to and carry no data about your 
    site. Redirects are followed one step at a time and every step is checked, and 
    each connection is pinned to the address that was checked, so addresses on private,
    local or reserved networks are never requested. On a server without cURL the pin
    is not possible, so outside links are then listed as not checkable instead of being
    requested.

Once a day, and when you save the settings, the plugin sends a test request to your
own site to check that visitors can reach its collection endpoint. That request 
goes only to your own site, carries no data, and is not recorded as a visit.

## Screenshots

[⌊Overview: satisfied rate, median active time, quick exits and the pages to start
with.⌉⌊Overview: satisfied rate, median active time, quick exits and the pages to
start with.⌉[

Overview: satisfied rate, median active time, quick exits and the pages to start
with.

[⌊Pages: every page with its status, the main reason, a comparison with similar 
pages and where its visitors come from.⌉⌊Pages: every page with its status, the 
main reason, a comparison with similar pages and where its visitors come from.⌉[

Pages: every page with its status, the main reason, a comparison with similar pages
and where its visitors come from.

[⌊One page: what was found and what to try, entries per day with the last update
marked.⌉⌊One page: what was found and what to try, entries per day with the last
update marked.⌉[

One page: what was found and what to try, entries per day with the last update marked.

[⌊The Lab diagnosis: freshness, broken links, images and structure.⌉⌊The Lab diagnosis:
freshness, broken links, images and structure.⌉[

The Lab diagnosis: freshness, broken links, images and structure.

[⌊The Lab AI review: prioritized advice that points to the paragraphs it is about.⌉⌊
The Lab AI review: prioritized advice that points to the paragraphs it is about.⌉[

The Lab AI review: prioritized advice that points to the paragraphs it is about.

[⌊The Lab improvements: every change as a before and after, with notes on what to
check.⌉⌊The Lab improvements: every change as a before and after, with notes on 
what to check.⌉[

The Lab improvements: every change as a before and after, with notes on what to 
check.

[⌊Sources: Google organic, Google Ads, AI assistants and social media side by side,
each with how often its visitors find what they came for.⌉⌊Sources: Google organic,
Google Ads, AI assistants and social media side by side, each with how often its
visitors find what they came for.⌉[

Sources: Google organic, Google Ads, AI assistants and social media side by side,
each with how often its visitors find what they came for.

[⌊The guide: every number and label explained.⌉⌊The guide: every number and label
explained.⌉[

The guide: every number and label explained.

## Installation

 1. Install and activate the plugin from Plugins > Add New Plugin.
 2. Measurement starts at once. Numbers appear after visitors leave their first pages.
 3. Open Search Intent in the admin menu. A page is judged once it has 30 views in 
    the selected period.

## FAQ

### Who makes Search Intent?

[Turk SEM](https://www.turksem.com/en), a search marketing agency founded in 1999.
The same measurement runs on our own site, turksem.com.

### Does it slow my site down?

The tracker is about 3 KB compressed, loads with defer and sends nothing while the
page loads. Data goes to a buffer file first and reaches the database in batches
once a minute.

### Does it work with caching and optimization plugins?

Yes. Page caching is safe: the tracker settings are part of the page and hold nothing
tied to one visitor, so cached pages are measured like fresh ones. When you activate
or deactivate the plugin, turn measurement on or off, or the endpoint changes, Search
Intent clears the cache of WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super 
Cache, WP Fastest Cache, WP-Optimize, Speed Optimizer, Breeze, Hummingbird, FlyingPress,
Cache Enabler and Nginx Helper.

The real risk is “delay JavaScript until user interaction”. With that setting, the
tracker never runs for a visitor who leaves without touching the page, so quick 
exits would go missing. Search Intent excludes its tracker automatically from the
delay, defer, combine and minify settings of WP Rocket, LiteSpeed Cache, FlyingPress,
Perfmatters, Hummingbird, Speed Optimizer, Jetpack Boost, Autoptimize, Breeze, WP-
Optimize, WP Fastest Cache, NitroPack and Cloudflare Rocket Loader.

If another tool still holds the tracker back, Search Intent notices it and shows
a warning with the fix: add `search-intent` to that tool’s list of scripts excluded
from delayed JavaScript.

### Is the buffer file protected on Nginx?

On Apache the plugin’s .htaccess blocks access to the buffer folder. Nginx ignores.
htaccess, so the buffer file relies on its unguessable, site-specific name, and 
it only holds page paths and referring hosts until the next minute’s batch. To block
the folder outright, add `location ^~ /wp-content/uploads/search-intent/ { deny 
all; }` to your server block.

### Do I have to run WP-Cron for it?

No setup is needed. Even when every page comes from the cache, each visitor packet
reaches WordPress, and that keeps the scheduled jobs running. If you turned WP-Cron
off and use a server cron job, that works too.

### Do I need a cookie banner for it?

Search Intent sets no cookies and stores nothing on the visitor’s device, and it
does not store IP addresses. Many site owners therefore do not need consent for 
it, but the rules differ by country and this is not legal advice. Check with your
own advisor.

### My security plugin blocks the REST API for visitors.

Nothing to do. A daily self-test checks whether visitors can reach the REST API.
If they can’t, Search Intent sends visits to admin-ajax.php instead. You can also
pick the endpoint yourself under Search Intent, Settings.

### Why are Google Ads visits counted as Google organic?

Turn on auto-tagging in your Google Ads account. Without the click id in the landing
page address, an ad click cannot be told apart from an organic one.

### What does the Lab change in my posts?

Only what you tick in the preview. Each proposal shows the paragraph before and 
after, with removed words struck through and added words highlighted. When the text
or headline changes, WordPress keeps a revision. The Lab’s history can undo the 
last change as long as the post text has not been edited since; a headline or SEO
field you changed afterwards is left as it is.

### Which AI model should I use?

A fast, low-cost model is enough for most posts. With the WordPress AI Client, WordPress
picks the model of the provider you set up. With your own key, the model list comes
live from your provider, and OpenRouter gives access to models from many providers
with one key.

### What language is the interface in?

English. Other languages are planned.

### What happens to my data when I delete the plugin?

By default, tables and settings are kept so a reinstall continues where it left 
off. Turn off “Keep data when the plugin is deleted” under Settings to remove everything
on deletion. The AI key is deleted in every case.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Turk SEM Search Intent” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Turk SEM ](https://profiles.wordpress.org/tatilpanosu/)

[Translate “Turk SEM Search Intent” into your language.](https://translate.wordpress.org/projects/wp-plugins/turksem-search-intent)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/turksem-search-intent/),
check out the [SVN repository](https://plugins.svn.wordpress.org/turksem-search-intent/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/turksem-search-intent/)
by [RSS](https://plugins.trac.wordpress.org/log/turksem-search-intent/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.1

 * The plugin and author links now open the English pages of turksem.com.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.1**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.3 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[broken links](https://wordpress.org/plugins/tags/broken-links/)
   [content audit](https://wordpress.org/plugins/tags/content-audit/)[search intent](https://wordpress.org/plugins/tags/search-intent/)
 *  [Advanced View](https://wordpress.org/plugins/turksem-search-intent/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/turksem-search-intent/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/turksem-search-intent/reviews/)

## Contributors

 *   [ Turk SEM ](https://profiles.wordpress.org/tatilpanosu/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/turksem-search-intent/)