{"id":381959,"date":"2026-10-20T17:54:52","date_gmt":"2026-10-20T17:54:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-rank-ai-search-and-geo-optimizer\/"},"modified":"2026-10-20T17:54:33","modified_gmt":"2026-10-20T17:54:33","slug":"evoka","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/evoka\/","author":23580222,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.5.0","stable_tag":"0.5.0","tested":"7.1.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Evoka - AI Search Visibility and Schema","header_author":"Evoka","header_description":"See if AI engines (ChatGPT, Perplexity, Google AI Overviews) can find and cite your site: get an AI-readiness score, a prioritized fix list, and AI-specific structured data.","assets_banners_color":"235cdd","last_updated":"2026-10-20 17:54:33","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/evoka\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":33,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.5.0":{"tag":"0.5.0","author":"shuraimaaziz","date":"2026-10-20 17:54:33","revision":3757238}},"upgrade_notice":{"0.5.0":"<p>Every feature is included and fully available.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3757237,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3757237,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3757237,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3757237,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.5.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3757377,"resolution":"1","location":"assets","locale":"","width":1280,"height":2099},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3757377,"resolution":"2","location":"assets","locale":"","width":1280,"height":1849},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3757377,"resolution":"3","location":"assets","locale":"","width":1078,"height":393},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3757377,"resolution":"4","location":"assets","locale":"","width":1280,"height":1596},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3757377,"resolution":"5","location":"assets","locale":"","width":1280,"height":1020},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3757377,"resolution":"6","location":"assets","locale":"","width":1280,"height":1020},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3757377,"resolution":"7","location":"assets","locale":"","width":1280,"height":1658}},"screenshots":{"1":"The AI-Readiness dashboard: your 0-100 score and the prioritized fix list.","2":"Settings: structured data, llms.txt, AI crawler policy and your own API key.","3":"The optional live citation check - ask a question, see if your site is mentioned.","4":"The AI Visibility Log - AI crawler and referral visits to your site.","5":"Citation Tracking - saved questions checked every week, with history.","6":"Content Scores - every post and page scored for AI-citability, worst first.","7":"The client-ready report, saved as a PDF."}},"plugin_section":[],"plugin_tags":[244526,220145,2591,1117,1121],"plugin_category":[49,55],"plugin_contributors":[287773],"plugin_business_model":[],"class_list":["post-381959","plugin","type-plugin","status-publish","hentry","plugin_tags-aeo","plugin_tags-ai-search","plugin_tags-geo","plugin_tags-schema","plugin_tags-structured-data","plugin_category-maps-and-location","plugin_category-seo-and-marketing","plugin_contributors-shuraimaaziz","plugin_committers-shuraimaaziz"],"banners":{"banner":"https:\/\/ps.w.org\/evoka\/assets\/banner-772x250.png?rev=3757237","banner_2x":"https:\/\/ps.w.org\/evoka\/assets\/banner-1544x500.png?rev=3757237","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/evoka\/assets\/icon-128x128.png?rev=3757237","icon_2x":"https:\/\/ps.w.org\/evoka\/assets\/icon-256x256.png?rev=3757237","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/evoka\/assets\/screenshot-1.png?rev=3757377","caption":"The AI-Readiness dashboard: your 0-100 score and the prioritized fix list."},{"src":"https:\/\/ps.w.org\/evoka\/assets\/screenshot-2.png?rev=3757377","caption":"Settings: structured data, llms.txt, AI crawler policy and your own API key."},{"src":"https:\/\/ps.w.org\/evoka\/assets\/screenshot-3.png?rev=3757377","caption":"The optional live citation check - ask a question, see if your site is mentioned."},{"src":"https:\/\/ps.w.org\/evoka\/assets\/screenshot-4.png?rev=3757377","caption":"The AI Visibility Log - AI crawler and referral visits to your site."},{"src":"https:\/\/ps.w.org\/evoka\/assets\/screenshot-5.png?rev=3757377","caption":"Citation Tracking - saved questions checked every week, with history."},{"src":"https:\/\/ps.w.org\/evoka\/assets\/screenshot-6.png?rev=3757377","caption":"Content Scores - every post and page scored for AI-citability, worst first."},{"src":"https:\/\/ps.w.org\/evoka\/assets\/screenshot-7.png?rev=3757377","caption":"The client-ready report, saved as a PDF."}],"raw_content":"<!--section=description-->\n<p>Evoka checks how ready your WordPress site is to be read, understood and cited by AI answer engines such as ChatGPT, Perplexity and Google AI Overviews, and helps you add the structured data and signals those engines rely on.<\/p>\n\n<p>It gives you an AI-readiness score, a prioritized list of fixes, the AI-specific JSON-LD structured data your content needs, an llms.txt file, AI-crawler controls, and an optional live check (using your own API key) of whether an AI assistant actually mentions your site.<\/p>\n\n<h4>What you get (free, no account, no API key)<\/h4>\n\n<ul>\n<li><strong>AI-Readiness Score (0-100)<\/strong> for your site - checks your home page plus your latest posts.<\/li>\n<li><strong>Prioritized fix list<\/strong> - the changes that most improve your AI visibility, in order, with the specific reason when something can't work (e.g. Plain permalinks).<\/li>\n<li><strong>AI-specific structured data (JSON-LD)<\/strong>: <code>Organization<\/code>, <code>WebSite<\/code>, <code>Article<\/code>, <code>Person<\/code> with author credentials (E-E-A-T), <code>Breadcrumb<\/code> and <code>Speakable<\/code>.<\/li>\n<li><strong>llms.txt<\/strong> generation at <code>\/llms.txt<\/code> (needs any permalink setting other than \"Plain\").<\/li>\n<li><strong>AI crawler controls<\/strong> in robots.txt: allow all AI crawlers, allow AI search\/citation crawlers while blocking AI training crawlers (GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot), or block them all.<\/li>\n<li><strong>Entity schema<\/strong>: add your social\/profile links (<code>sameAs<\/code>) and the topics you're known for (<code>knowsAbout<\/code>) so AI engines can connect your site to the same brand entity elsewhere on the web.<\/li>\n<li><strong>AI Visibility Log<\/strong> - passively records when known AI crawlers (GPTBot, PerplexityBot, ClaudeBot...) request your pages, and referral visits from AI assistants (where a referrer is sent). No API key needed; nothing to configure. See the Privacy section below for exactly what is stored.<\/li>\n<li><strong>Content Scores<\/strong> - every published post and page scored 0-100 on the signals associated with AI citation (a short direct opening answer, question-style headings, FAQ\/HowTo data, depth, freshness), worst first, with the single biggest fix for each one.<\/li>\n<li><strong>Bulk structured data<\/strong> - adds <code>FAQPage<\/code> schema to posts\/pages with question-style headings and <code>HowTo<\/code> schema (with steps) to clearly instructional posts. Safe and reversible - your content is never rewritten.<\/li>\n<li><strong>Weekly re-audits<\/strong> with score history.<\/li>\n<li><strong>Client-ready report<\/strong> you can save as PDF, with your own \"Prepared by\" label.<\/li>\n<\/ul>\n\n<h4>Optional: bring your own API key<\/h4>\n\n<p>For the live \"is an AI citing me?\" checks, you can add your own OpenAI or Perplexity API key in Evoka -&gt; Settings. This is entirely optional - every feature above works without a key. When a key is set:<\/p>\n\n<ul>\n<li><strong>Live citation check<\/strong> - ask a question on the Dashboard and see whether the AI's answer mentions your site, and which sources it cites.<\/li>\n<li><strong>Citation Tracking<\/strong> - save up to 20 questions you want to be cited for; Evoka checks them automatically once a week and builds a per-question history so you can see whether it is improving.<\/li>\n<\/ul>\n\n<p>Your key is stored only in your own WordPress database and is sent only to the provider you choose. See the External services section below.<\/p>\n\n<h4>Who it's for<\/h4>\n\n<ul>\n<li>Site owners who want to understand how AI answer engines see their content.<\/li>\n<li>Agencies and SEOs who want a shareable AI-readiness report for clients.<\/li>\n<li>Anyone who wants to improve the structured data and signals that help AI assistants cite their site.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>Evoka's audit, score, fix list, structured data, llms.txt, crawler controls, Visibility Log and Content Scores all run entirely on your own server and do not contact any external service.<\/p>\n\n<p>The optional live citation checks (the Dashboard \"Live citation check\" and the Citation Tracking feature) connect to a third-party AI provider <strong>only if you choose to add your own API key<\/strong> and run a check. Evoka does not operate any service of its own and never receives your key or your data. You can use these features with either of the following providers:<\/p>\n\n<p><strong>OpenAI (api.openai.com)<\/strong>\nUsed to generate an answer to a question you enter, so Evoka can check whether the answer mentions your site. The question text you type and your site's domain are sent to OpenAI only when you run a check (either by pressing the button, or once a week for questions you have added to Citation Tracking). Your OpenAI API key is sent with the request for authentication. No request is ever made unless you have entered a key and chosen OpenAI as the provider.\nTerms of Use: https:\/\/openai.com\/policies\/row-terms-of-use\/\nPrivacy Policy: https:\/\/openai.com\/policies\/privacy-policy\/<\/p>\n\n<p><strong>Perplexity (api.perplexity.ai)<\/strong>\nUsed for the same purpose as above when you choose Perplexity as the provider. The question text you type and your site's domain are sent to Perplexity only when you run a check (on demand, or once a week for tracked questions). Your Perplexity API key is sent with the request for authentication. No request is ever made unless you have entered a key and chosen Perplexity as the provider.\nTerms of Service: https:\/\/www.perplexity.ai\/hub\/legal\/terms-of-service\nPrivacy Policy: https:\/\/www.perplexity.ai\/hub\/legal\/privacy-policy<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Evoka does not set cookies and does not use any analytics or tracking service.<\/p>\n\n<p>The <strong>AI Visibility Log<\/strong> records a small log row only for requests that match a known AI crawler (identified by its User-Agent) or a known AI-assistant referrer (identified by the Referer header's domain). For each matching request it stores the bot\/referrer name, the requested path, and the date\/time. It does <strong>not<\/strong> store IP addresses, does <strong>not<\/strong> store anything for ordinary human visitors, and does <strong>not<\/strong> identify individual people. Rows are automatically deleted after 90 days. If you prefer not to keep this log, you can leave the Visibility Log page unused; uninstalling the plugin removes the log table entirely.<\/p>\n\n<p>Your OpenAI\/Perplexity API key (if you add one) is stored only in your own WordPress database and is sent only to the provider you chose, for the checks described in the External services section.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>evoka<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via Plugins -&gt; Add New.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>Evoka<\/strong> in the admin menu and run your first audit.<\/li>\n<li>(Optional) To use the live citation checks, add your own OpenAI or Perplexity API key in Evoka -&gt; Settings.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20without%20an%20api%20key%3F\"><h3>Does this work without an API key?<\/h3><\/dt>\n<dd><p>Yes. The audit, score, fix list, structured data, llms.txt, crawler controls, Visibility Log and Content Scores all work with no key and no account. An API key is only needed for the optional live \"is an AI citing me?\" check - and it's your own key.<\/p><\/dd>\n<dt id=\"will%20this%20guarantee%20chatgpt%20cites%20my%20site%3F\"><h3>Will this guarantee ChatGPT cites my site?<\/h3><\/dt>\n<dd><p>No tool can guarantee that. Evoka gives you diagnostics and the structured data\/signals that make citation more likely, plus (with your own key) a real check of whether it is happening.<\/p><\/dd>\n<dt id=\"does%20it%20work%20alongside%20my%20seo%20plugin%20%28yoast%2C%20rank%20math%2C%20aioseo%29%3F\"><h3>Does it work alongside my SEO plugin (Yoast, Rank Math, AIOSEO)?<\/h3><\/dt>\n<dd><p>Yes. Duplicate schema types are harmless, and you can switch Evoka's structured data off in Evoka -&gt; Settings if your SEO plugin already adds it.<\/p><\/dd>\n<dt id=\"where%20is%20my%20api%20key%20stored%3F\"><h3>Where is my API key stored?<\/h3><\/dt>\n<dd><p>In your own WordPress database, on your own server. It is sent only to the provider you choose (OpenAI or Perplexity). Evoka has no server of its own and never receives it.<\/p><\/dd>\n<dt id=\"my%20site%20is%20in%20a%20subfolder%20%28example.com%2Fblog%29.%20does%20the%20crawler%20policy%20work%3F\"><h3>My site is in a subfolder (example.com\/blog). Does the crawler policy work?<\/h3><\/dt>\n<dd><p>Crawlers only read robots.txt at the root of your domain, which WordPress can't serve from a subfolder. Evoka detects this, flags it in the audit, and shows the exact lines to paste into your root robots.txt in Evoka -&gt; Settings.<\/p><\/dd>\n<dt id=\"llms.txt%20shows%20%22not%20found%22\"><h3>llms.txt shows \"not found\"<\/h3><\/dt>\n<dd><p>Go to Settings -&gt; Permalinks and choose any option other than \"Plain\", then save.<\/p><\/dd>\n<dt id=\"does%20the%20visibility%20log%20count%20all%20ai%20traffic%3F\"><h3>Does the Visibility Log count all AI traffic?<\/h3><\/dt>\n<dd><p>Crawler visits are reliable - those bots identify themselves on every request. Referral visits undercount: most AI assistants (including ChatGPT and Claude, most of the time) don't send a referrer when a person clicks through from an answer, so treat that number as a floor, not a total.<\/p><\/dd>\n<dt id=\"does%20citation%20tracking%20call%20the%20ai%20on%20its%20own%2C%20without%20me%20asking%3F\"><h3>Does Citation Tracking call the AI on its own, without me asking?<\/h3><\/dt>\n<dd><p>Only for questions you explicitly add to the tracked list, and only using your own API key - once a week automatically, or on demand with \"Check now\". The one-off \"Live citation check\" on the Dashboard never repeats on its own.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Renamed to Evoka.<\/li>\n<li>Every feature is included and fully functional for everyone: AI Visibility Log, Citation Tracking, Content Scores, bulk structured data, weekly re-audits and the client report.<\/li>\n<li>The client report is now a standard admin screen with enqueued styles (no inline CSS) and prints\/saves to PDF from your browser.<\/li>\n<li>Added External services and Privacy documentation to this readme.<\/li>\n<\/ul>\n\n<h4>0.4.2<\/h4>\n\n<ul>\n<li>Fixed: the \"\/100\" label next to the score overlapped the score ring's arc. It is now grouped with the score and correctly centered.<\/li>\n<\/ul>\n\n<h4>0.4.1<\/h4>\n\n<ul>\n<li>Fixed: the dashboard's score ring rendered as a solid-filled circle regardless of the actual score. It now shows the correct proportional arc.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>New AI Visibility Log - passively logs AI crawler visits (by user-agent) and AI referral visits (by referrer), with recent activity, top sources and top pages.<\/li>\n<li>New Citation Tracking - save questions to track; checked automatically every week, with a visual history and \"other domains mentioned\" per question.<\/li>\n<li>New Content Scores - every post\/page scored for AI-citability with the single biggest fix, worst first.<\/li>\n<li>Organization schema can now include <code>sameAs<\/code> (social\/profile links) and <code>knowsAbout<\/code> (topics), set in Evoka -&gt; Settings.<\/li>\n<li>Admin menu reorganized into separate screens (Dashboard, Settings, Visibility Log, Citation Tracking, Content Scores).<\/li>\n<li>Visual refresh of the admin UI.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Audit now also inspects your latest post (and a post with FAQ schema), so the author (Person) and FAQ checks can pass.<\/li>\n<li>Audit reads robots.txt from the domain root, handles <code>User-agent: *<\/code> and grouped user-agent rules, and warns when your crawler policy isn't actually being served.<\/li>\n<li>Audit explains why llms.txt is unreachable (e.g. Plain permalinks) and reports when the home page can't be loaded.<\/li>\n<li>\"Allow indexing but discourage training\" now blocks AI training crawlers in robots.txt while allowing AI search crawlers.<\/li>\n<li>Fixed HTML entities (<code>&amp;amp;<\/code>, <code>&amp;#8220;<\/code>) leaking into structured data and llms.txt.<\/li>\n<li>HowTo schema is only added to clearly instructional posts and now includes the required steps.<\/li>\n<li>Citation check matches your domain exactly (no false positives on look-alike domains) and lists Perplexity's cited sources.<\/li>\n<li>Your API key is no longer printed into the settings page; leave the field blank to keep it.<\/li>\n<li>Dashboard loads instantly; the audit runs in the background and the page refreshes with each result.<\/li>\n<li>Disabled llms.txt now returns a proper 404 page.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Bulk-apply safe, reversible FAQ\/Article\/HowTo structured data across all posts and pages.<\/li>\n<li>Client-ready, print-to-PDF report with a custom \"Prepared by\" label.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: AI-Readiness audit + score, prioritized fixes, AI-specific JSON-LD, llms.txt, AI crawler controls, optional bring-your-own-key live citation check.<\/li>\n<\/ul>","raw_excerpt":"Audit your WordPress site for AI search readiness, add AI-specific structured data, and check whether ChatGPT and Perplexity cite you.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/381959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=381959"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shuraimaaziz"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=381959"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=381959"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=381959"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=381959"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=381959"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=381959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}