Hack The SEO does three things, free. It connects Claude to your site. A read-only MCP server (Model Context Protocol, the standard an AI client uses to read data from a tool) lets you ask Claude about your own pages instead of clicking through screens. In the Claude app for Mac and Windows, the Hac
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 5.9 and PHP 7.4.
SourceWordPress plugins · Nov 3, 2026
01 / Source details
Aboutthistool.
Hack The SEO does three things, free.
It connects Claude to your site. A read-only MCP server (Model Context Protocol, the standard an AI client uses to read data from a tool) lets you ask Claude about your own pages instead of clicking through screens. In the Claude app for Mac and Windows, the Hack The SEO extension for Claude makes the connection: download it from your WordPress admin, install it, and paste a key, nothing else.
It shows you which AI crawlers read your pages , which pages they read, and when. No analytics tool can tell you that.
It tells you what to fix so those pages are worth quoting: a GEO score per page, an llms.txt file, and the whole technical SEO layer, from schema and sitemaps to redirects and meta tags.
You do not have to choose. Hack The SEO runs next to Yoast SEO, Rank Math, All in One SEO and SEOPress . It detects the one you already have, then steps aside on everything that plugin already produces. Nothing is printed twice, and you configure nothing. What it adds is what none of them gives you: the AI crawler log, the GEO score, the cannibalization report.
Why your analytics cannot see this. GPTBot, ClaudeBot and PerplexityBot do not run JavaScript, so a JavaScript analytics tool never sees them. Hack The SEO reads the request on your server, before any script runs, and writes every visit into a table in your own database.
Safe to install today, on the site you already have
Nothing leaves your site on its own. No account, no API key, no telemetry. Out of the box the plugin makes zero outbound requests. Every request it can make is triggered by you, and listed under “External services”.
Nothing breaks if you uninstall. Your redirects, metadata and settings stay in the database unless you ask for them to be deleted.
Nothing slows your visitors down. No external call in the front-end path. Scores and audits run in the admin, never on a visitor’s request.
Runs on the hosting your clients actually have. PHP 7.4, WordPress 5.9, MySQL or MariaDB. No Composer, no build step.
Everything you get, and all of it is free
AI crawler log : 18 user agents from OpenAI, Anthropic, Perplexity, Apple, Google, Meta, Cohere and Common Crawl, recorded server-side.
Weekly report by email : once a week, your own site tells you how many AI crawlers came, on how many pages, how many visitors arrived from an AI chat, and which broken links appeared. Sent by WordPress, from your site, to you. Opt-in.
GEO score per page : generative engine optimization, also called AEO, scored out of 100 on six criteria, with the failing ones named.
Keyword cannibalization report : cannibalization is when two of your own pages chase the same search, so Google has to pick and both lose. The report names each competing pair and what to do with it.
A read-only MCP server (Model Context Protocol): connect Claude and ask your site directly. Twelve abilities, and all twelve read.
JSON-LD schema and structured data : the hidden summary Google reads to understand a page. 60+ types, generated automatically, editable page by page. It is what makes a page eligible for rich results, also called rich snippets.
XML sitemaps : sitemap index, per-type sitemaps, human-readable XSL stylesheet.
Redirects and 404 monitor : 301s, regex rules, CSV import and export, a 404 log with one-click 404-to-redirect.
Meta titles and descriptions : the blue line and the grey text Google shows. Templates, variables, and a live SERP preview.
Open Graph and Twitter Cards : the title, text and image people see when your link is shared on social media. On every post, page and custom post type.
Alt text auto-fill : images published without alt text get one, derived from the file name, the title or the focus keyword. The audit lists the ones still missing.
Canonicals, breadcrumbs, robots and noindex : which page is the original, the trail of links back to the home page, and what you keep out of Google. Per post, per type, per category. A robots.txt editor is included.
On-page audit (onpage SEO): 21 checks in the editor, a Google score and an AI citability score side by side.
Orphan detection : pages with no inbound internal link are flagged in the global score, because a page nothing links to is a page nothing finds.
IndexNow : ping Bing, Yandex, Naver, Seznam and Yep the moment you publish. Off until you switch it on.
llms.txt : a plain-text index of your key pages, for AI crawlers. Built from your real content, not from a template. Every page also gets a Markdown version at /your-page.md , the plain format an AI model reads most reliably.
WooCommerce : product and category schema, shop-aware sitemaps.
See which AI crawlers read your pages
Detection runs on your own server, while WordPress builds the page. No beacon, no tracking script, no external service.
GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, Perplexity-User, Applebot, CCBot, Bytespider and seven more.
Every hit is written to a table in your own database, with the URL and the timestamp.
Human visits arriving from an AI chat are counted through the referrer, so you see the crawler and the click it eventually sent.
Only agents these companies really send. Google-Extended is a robots.txt token, not a crawler, so counting it would count nothing.
Other plugins give you a switch to block AI crawlers. This one tells you whether they came. You configure nothing: the crawlers come on their own and the screen fills up on its own. The FAQ shows how to check it today, in ten seconds.
Find out which of your pages are worth quoting
GEO , generative engine optimization (also called AEO), is the work of making a page a generative engine can read, understand and quote. Each page is scored out of 100 on six questions:
Does the introduction answer the question directly?
Are there lists or tables a machine can parse?
Are there figures to quote: percentages, dates, amounts?
Are outside sources cited?
Is there an FAQ or a definition a model can lift as it stands?
Has the page been updated recently?
The rules are plain PHP in the plugin. Open the file and read them. No model decides your score, and no API key is involved.
Ask your site directly, from Claude
The plugin ships a read-only MCP server . Connect the Claude app (with the Hack The SEO extension for Claude), Claude Code, Cursor, Windsurf or the ChatGPT desktop app, and ask instead of clicking through screens:
Which published pages has no AI crawler read at all?
Why does this article score 38 out of 100?
Which of my pages compete with each other?
Which URLs return a 404 most often?
Twelve abilities, and all twelve read. No write among them, and no setting that turns one on. Every call is made by a signed-in WordPress user and checks a capability, so drafts and password-protected content stay out. The connection is inbound: your client calls your site, and no third party is contacted. It needs WordPress 6.9, where the Abilities API entered core. The FAQ has the detail.
Already running Yoast, Rank Math, All in One SEO or SEOPress?
Keep it. Hack The SEO installs next to it and steps aside on its own.
The usual reason not to run two SEO plugins is duplicate output: two title tags, two canonicals, two sets of schema. This plugin is built to avoid exactly that, without you configuring anything.
It gets out of the way, module by module. On activation it detects the plugin in place and stops emitting what that plugin handles: meta tags, canonical, schema, sitemap, breadcrumbs, robots, and hreflang. Nothing is emitted twice.
It never deactivates your plugin and never changes its settings.
What you came for works from day one. The AI crawler log, the GEO score and the cannibalization report print nothing on the front end, so nothing can overlap.
You stay in charge. A dedicated screen lists every overlap and lets you decide which plugin owns what. Your choice always wins.
And if you would rather replace than stack , the migration wizard imports your meta titles and descriptions, your robots and noindex rules, your canonicals, your redirects and your schema settings. It runs as a dry run first, so you see what will be imported, counted per type, before anything is written. It never deletes the source data.
Your data stays yours
AI crawler data, GEO scores and audit results stay in your database. No telemetry, no phone-home, no usage statistics.
Outbound requests happen only when you ask for them: IndexNow pings and the opt-in form for the guide and newsletter, both idle until you use them. The weekly report is your own WordPress writing to you.
Read the privacy policy if you want the long version.
Works with the tools you already use
Tested with Elementor, Divi, Bricks, Oxygen and WPBakery: it reads the rendered page, so scores and schema see what your visitors see. Multisite compatible. Works with caching plugins and CDNs, with one honest limit: a full-page cache that answers before WordPress loads also answers before this plugin runs, so those hits are not logged.
What this plugin will not do, and will not pretend to
It does not promise you a ranking or a position. Nobody can, and anyone who does is selling something.
It does not write your content for you, suggest internal links, or track your rankings.
It does not make you “visible in ChatGPT” by dropping an llms.txt on your server. That claim has no evidence behind it.
It does not block AI crawlers. It measures them.
Useful links
Documentation
Getting started
SEO and GEO glossary , 100+ terms defined
Free SEO audit
Blog
Support
Contact us
External services
This plugin connects to two external services, neither used out of the box: IndexNow is off by default, and hacktheseo.com is contacted only when you ask for the guide or the GEO tips.
IndexNow
What it is. IndexNow is an open protocol that lets a site notify participating search engines (Bing, Yandex, Naver, Seznam, Yep) that a URL has changed, instead of waiting to be crawled. The endpoint https://api.indexnow.org/indexnow is operated by the IndexNow sponsors:
See it in action
Screenshots & previews.
AI visibility: every visit from GPTBot, ClaudeBot, PerplexityBot and 15 other AI agents, measured server-side, page by page.SEO dashboard: module status, site health, SEO score, GEO score and AI crawler activity at a glance.Keyword cannibalization report: pages competing on the same keyword, with a recommended action for every pair.On-page SEO panel in the editor: a Google score and an AI citability score, meta title and description, and 21 checks.Every issue on your site, ranked: pages under 50, 404s, competing groups, images without alt, each with its fix.Overlaps: the plugin detected Yoast and stepped aside. Every overlap listed, and who owns what, module by module.Migration wizard: import meta, redirects and schema from Yoast SEO, Rank Math, All in One SEO or SEOPress.Schema JSON-LD settings: 60+ schema types generated automatically, configurable per page.Redirects and 404 log: 301 redirects, regex rules, CSV import and export, one-click 404-to-redirect.XML sitemap: sitemap index, per-type sitemaps and a human-readable XSL stylesheet.Health check: sitemap, schema and canonical verified against your rendered HTML.AI connection: two steps to connect Claude to your site. One button creates the WordPress application password and prints the line to paste into your AI client.The twelve read-only tools, what each one returns, and the minimum WordPress role it requires. There is no write among them.
02 / Source details
Gettingstarted.
From your WordPress admin
01Go to Plugins > Add New .
02Search for Hack The SEO .
03Click Install Now , then Activate .
Manual installation
04Download the ZIP file.
05Go to Plugins > Add New > Upload Plugin and select the ZIP.
06Click Install Now , then Activate .
07Or, over FTP, upload the hack-the-seo folder to /wp-content/plugins/ and activate it from the Plugins screen.
After activation
08Open the Hack The SEO menu. The “First steps” checklist adapts to what your site still needs and disappears once you are done.
09Already running another SEO plugin? Nothing to do: Hack The SEO detected it and stepped aside. The Compatibility screen shows you who handles what.
10Want to replace it instead? Run the Migration screen before deactivating it. Import first, deactivate second.
11Check Health to confirm your sitemap and schema are being served correctly.
12Submit /sitemap.xml to Google Search Console.
Requirements
13WordPress 5.9 or later (6.9 or later for the MCP server)
14PHP 7.4 or later
15No account, no API key, no subscription.
03 / Source details
Frequently asked questions.
Do I really need another SEO plugin?
Only if something is missing. If Yoast or Rank Math is doing the job and you have no idea whether ChatGPT reads your pages, install this one for that answer alone: the AI crawler log, the GEO score and the cannibalization report are things the big four do not give you. And you do not have to choose, see the next question.
Can I run it alongside Yoast, Rank Math, All in One SEO or SEOPress?
Yes, and that is the default behaviour. You do not have to choose.
On activation the plugin detects the SEO plugin already in place and stops emitting whatever that plugin handles: meta tags, canonical, schema, sitemap, breadcrumbs, robots, and hreflang when a multilingual plugin owns it. So there are no duplicate title tags, no duplicate canonicals and no duplicate schema. It never deactivates your plugin and never touches its settings.
Meanwhile the three things the big four do not give you keep working, because they produce no front-end output and therefore cannot conflict: the AI crawler log, the GEO score per page, and the keyword cannibalization report.
A dedicated screen lists every overlap and lets you take back any module, one by one. Your choice always wins over the automatic default.
If you would rather replace your current plugin than run both, the migration wizard imports its data first, as a dry run you can review. See “How do I switch from Yoast SEO, Rank Math, All in One SEO or SEOPress?” below.
How do I see which AI crawlers visit my site?
Activate the plugin and open the AI visibility screen. Every request from GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, Perplexity-User, Applebot, CCBot and eight more is recorded server-side, with the URL and the timestamp, in your own database. Nothing is sent anywhere.
To prove it to yourself in ten seconds: curl -A GPTBot https://your-site.tld/any-page/ , then refresh the screen. The row is there. Use a real post or page URL, not the home page: the detector only reads single pages. On a new site, real crawlers can take weeks to come, and an empty screen is an answer too.
A JavaScript analytics tool cannot do this. AI crawlers do not run JavaScript, so whatever your analytics says about GPTBot, it is guessing.
What is in the weekly report, and who sends it?
Your own site sends it, through WordPress, to the administrator email. Once a week: how many times AI crawlers read the site and on how many pages, how many visitors arrived from an AI chat, which new broken links appeared, and how the site score moved. Nothing is sent on a week with nothing to report. It is off by default, switched on from the AI visibility settings, and every email carries an unsubscribe link that works without logging in. No third party is involved and no outbound call was added: it is wp_mail() , the same function WordPress uses for password resets.
How do I connect Claude to my WordPress site?
Open the AI connection screen and create a connection key: one button, which creates a WordPress application password. Then pick your tool.
The Claude app, on Mac or Windows : the first tab downloads the Hack The SEO extension for Claude, made for your site with its address already filled in. Double-click it, click Install, and paste the key when Claude asks for it. No terminal and no configuration file.
Claude Code, Cursor, Windsurf or the ChatGPT desktop app : the screen prints the line or the block for your tool, with three numbered steps and how to tell it worked.
Either way, your client talks to https://your-site.tld/wp-json/htsfree/v1/mcp . No account with us, no OAuth relay, no companion plugin on your site.
Two things are required, and the screen tells you if either is missing: WordPress 6.9 or newer, because that is where the Abilities API entered core, and HTTPS, because WordPress only issues application passwords over a secure connection.
What can an AI agent read, and can it change anything?
It can read twelve things and change nothing. There is no write among the twelve abilities, and no setting that turns one on.
It reads: AI crawler activity three ways (totals per bot, the detail page by page including the pages no crawler has touched, and the day-by-day timeline), a page’s GEO, on-page and meta scores, the site-wide score distribution, the competing-pages report, your redirect rules, your 404 log, your llms.txt , the Markdown of any page, and the health check.
Every call is made by a signed-in WordPress user and checks a capability: administrator for the site-wide readings, and a user who can edit posts for the four that concern a single page. Unpublished and password-protected content stays out, and no visitor’s IP, referrer or user agent is ever returned. Delete the application password from your user profile and that client is locked out immediately.
What is the Model Context Protocol (MCP), and does WordPress support it?
The Model Context Protocol is the open standard an AI client uses to read data from a tool, instead of you copying and pasting it. WordPress 6.9 brought the Abilities API into core, and this plugin builds a read-only MCP server on top of it at /wp-json/htsfree/v1/mcp .
Twelve abilities, and all twelve read. Connect the Claude app or Claude Code and ask about your own site: which published pages no AI crawler has read, why an article scores 38 out of 100, which of your pages compete with each other. The connection is inbound, so your client calls your site and no third party is contacted. Below WordPress 6.9 the server simply does not register.
Does the MCP server send my data to OpenAI or Anthropic?
The MCP server sends nothing and contacts no third party. Your AI client calls your site, not the other way round. What you then read inside your client goes wherever that client goes, which is between you and the client you chose, exactly as if you had typed the same figures in by hand.
On the plugin’s side the MCP server changed nothing: it added no wp_remote_ call site of its own, and neither does the bundled library. If another plugin has already loaded the same MCP library in an older version, this server stays off rather than fight over it, and the AI connection screen says so plainly.
What is the best free SEO plugin for WordPress?
That depends on what you need, and anyone giving you a single answer is selling something. Yoast SEO and Rank Math are the two largest and have the biggest ecosystems. All in One SEO is the oldest. SEOPress is the leanest of the big four. Slim SEO is the right answer if you want zero configuration.
Hack The SEO is built for a specific case: you want the whole technical layer (schema, sitemap, redirects, canonical, robots, breadcrumbs) plus keyword cannibalization detection and real AI-crawler measurement, computed locally, with no account and none of it sent to a third party. If cannibalization or GEO measurement is what you are missing, this is the free plugin that has it, and it runs next to whichever of the others you already use. If you mostly want AI-generated content, it is not.
How do I add schema (JSON-LD) to WordPress?
Install Hack The SEO and it generates JSON-LD structured data automatically from what is already on each page: Article, BreadcrumbList, Organization, Person, Product, FAQPage, HowTo, QAPage, VideoObject and 60+ types in total, so your pages qualify for rich snippets. Types that cannot be detected reliably, such as LocalBusiness opening hours, are yours to enable per page in the Schema settings, so nothing is invented. Confirm the result in Google’s Rich Results Test or the Schema Markup Validator.
How do I create a 301 redirect in WordPress?
Open the Redirects screen, enter the old URL and the destination, and choose 301 (permanent). You can also use 302, 307 and 410, add regex rules for bulk migrations, and import or export everything as CSV. When you rename a post, a 301 from the old slug is created for you. Incoming 404s are logged, and any 404 can be turned into a redirect in one click. Redirects are served in PHP, so your .htaccess is never touched and it works identically on Apache, Nginx and LiteSpeed.
How do I generate an XML sitemap for WordPress?
It is served automatically at /sitemap.xml : a sitemap index plus one sitemap per content type, with image, video and news extensions and an XSL stylesheet so it is readable by a human. It respects noindex and is cached on disk so it does not rebuild in PHP on every request. Submit /sitemap.xml to Google Search Console. The “First steps” checklist reminds you to.
What is llms.txt, and how do I add it to WordPress?
llms.txt is a plain-text file listing your key content for AI crawlers, in the same spirit as robots.txt for search crawlers. Hack The SEO serves it virtually at /llms.txt , generated from your real content, with no file written to disk. It also serves a Markdown version of every page at /your-page.md , which is the format an LLM parses most reliably and most cheaply. Both are on your own server, both are free, and neither requires an account.
What is GEO (generative engine optimization) and AEO?
GEO, sometimes called AEO (answer engine optimization), means making your content easy for generative engines (ChatGPT, Claude, Perplexity, Gemini, Google AI Overviews) to read, understand and cite. Classic SEO optimises for a ranked list of links; GEO optimises for being the source quoted inside an answer.
In practice it comes down to: answer the question explicitly and early, keep facts stable and attributable, structure the page so a machine can parse it, expose clean formats (schema, Markdown, llms.txt), and then measure whether the AI crawlers actually come. Hack The SEO does all five, locally, in the free version.
What is keyword cannibalization, and how do I fix it?
Keyword cannibalization is when two or more of your own pages target the same query, so search engines have to pick between them and both underperform. It is one of the most common causes of a site that has plenty of content and no rankings.
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati