=== Aetos SEO Audit – AI Readiness Checker ===
Contributors: aetosseo
Tags: ai seo, llms.txt, seo audit, technical seo, schema
Requires at least: 6.2
Tested up to: 7.1
Stable tag: 4.0.18
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

See what blocks your site in Google and AI answers: AI crawler access, llms.txt, schema, canonicals, broken links. Read-only, beside your SEO plugin.

== Description ==

**Can ChatGPT, Claude, Perplexity and Google's AI features reach, read and
cite your site?** Aetos SEO Audit answers that from inside WordPress, together
with the classic technical SEO defects that stop a page from being indexed or
quoted in the first place.

It checks whether your robots.txt blocks the AI crawlers you actually want
(GPTBot, ClaudeBot, PerplexityBot, Google-Extended and others), whether
`/llms.txt` exists and says something useful, whether your structured data
names the entity behind the site, and whether your pages are built in passages
an answer engine can lift. Then it ranks every finding by severity so you know
what to fix first.

**What it never does:** it does not write meta tags, redirects, schema or
sitemaps, needs no account or API key, and sends nothing to an outside service.
It reads and reports, so it runs beside Rank Math, Yoast, AIOSEO or SEOPress
without conflict.

= What the free edition checks =

* **AI readiness** - AI crawler access in robots.txt, llms.txt, JSON-LD entity
  coverage (Organization, sameAs, author, publisher), FAQ and HowTo schema,
  heading structure for answer extraction and Open Graph completeness.
* **Technical SEO** - indexability, canonicals, robots directives, sitemaps,
  redirects, broken links and HTTP error pages.
* **On-page** - titles, meta descriptions, headings, duplicates, and `lang` and
  `dir` correctness for Arabic and RTL sites.
* **Mobile, media and performance** - viewport, alt text, oversized images,
  lazy loading, cache headers and heavy assets.
* **Analytics and security basics** - GA4, Tag Manager, Clarity and Meta Pixel
  detection, HTTPS, mixed content and exposed endpoints.

Every finding shows a severity (High, Medium, Low or Info), the pages where it
was found, why it matters, the fix steps and how to confirm the fix. You can
mark it done and follow its status from one audit to the next.

The admin interface is available in English and Arabic. Pick the language in
Settings.

= Free and Pro =

The WordPress.org edition is a complete local audit. It shows every finding it
computes in full, and you choose the scan depth in Settings (50 pages by
default, or 0 for every page).

Pro is a separate add-on sold at [aetosseo.com](https://aetosseo.com/) and
uploaded by you. It adds 22 deeper audit modules (answer-engine and AI Overview
patterns, question coverage, E-E-A-T, entity and GEO signals, e-commerce,
local, news and content depth), a redacted JSON bundle you can hand to ChatGPT
or Claude for a site-specific fix plan, a ranked list of the top open actions,
and client reports as printable HTML (save as PDF), Markdown and CSV. Pro also
runs inside WordPress and does not connect your site to any external SEO,
analytics or AI service.

== Installation ==

1. In **Plugins -> Add New**, search for "Aetos SEO", then install and activate it.
2. Open the **Aetos SEO** menu and click **Refresh crawl and audit site**.
3. The scan runs in background batches, so you can keep working. Open
   **Findings** when it finishes.

== Frequently Asked Questions ==

= Does it replace my SEO plugin? =
No. It runs alongside your SEO plugin and never outputs meta tags, schema or
sitemaps, so it cannot conflict with Rank Math, Yoast, AIOSEO or SEOPress.

= Does it send my data anywhere? =
No. The audit reads your public pages with same-site requests and keeps the
results in your own database. See External services below.

= Can I control how many pages it scans? =
Yes. Settings has the page count and crawl limits. The default of 50 pages
keeps the first scan light on shared hosting; set 0 to analyze every page.

= Does it support Arabic and RTL sites? =
Yes. The interface is available in Arabic, and the audit checks `lang` and
`dir` on your pages.

= How often should I run an audit? =
After a redesign, a migration, a new SEO, cache or security plugin, or a
content batch. Weekly on a production site is also fine.

== Screenshots ==

1. Dashboard: what to fix first, the overall score and the score for each area, including AI readiness.
2. Findings: every issue ordered by severity, with the pages where it was found and a status you can mark.
3. Finding detail: the evidence, why it matters for search and AI answers, the fix steps and how to confirm the fix.
4. Upgrade page: what the separate Pro add-on adds and its one-site licence terms.
5. Settings: admin language (English or Arabic), how many pages to scan, crawl pace and email summary.

== External services ==

The free edition does **not** automatically contact any third-party
service. Updates ship through WordPress.org like any other free plugin
(handled by WordPress core, not by this plugin).

During an audit, the plugin performs HTTP requests **against your own
WordPress site** to inspect your public pages, robots.txt, sitemaps, and
internal links. These are same-site requests; no page content leaves your
server. To run audits in the background it may also trigger WordPress cron
through a same-site loopback request to this same WordPress installation
(the standard WP-Cron mechanism); this never contacts Aetos servers or any
third-party API in the free edition. The admin interface also contains a few
user-clicked links to documentation, pricing, changelog, and support on
aetosseo.com — those open only when you click them; the plugin never
requests those pages itself.

Some checks look for analytics or tag-manager fingerprints already present in
your site's rendered HTML. The plugin may recognize strings such as
googletagmanager.com, google-analytics.com, analytics.google.com,
connect.facebook.net, clarity.ms, clarity.microsoft, plausible.io,
cdn.plausible.io, cdn.segment.com, segment.com, posthog.com, matomo.js,
matomo.php, and piwik.js, plus the matching client-side API names these tools
place in page scripts (for example gtag, fbq, and _paq). These are
**detection strings only**: Aetos SEO does not contact those providers, does
not send them data, and does not load their scripts. If your public pages
already include one of those scripts, the plugin records that it was detected
so the audit can avoid false "analytics missing" findings.

To put findings in context, the audit also detects which SEO, performance,
caching, security, and page-builder plugins or themes are active on your site
and reads their settings from your **local** WordPress database through the
standard options API. This information is shown only inside your own WordPress
admin, to explain a finding (for example, that a caching plugin controls a
header the audit flagged). It is never transmitted anywhere, and the plugin
never contacts those plugins' vendors.

== Upgrade Notice ==

= 4.0.18 =
Findings now follow your admin language, scan results are more accurate, the same issue is no longer counted twice, and the Findings, Dashboard and Settings screens are simpler, especially on phones.

== Changelog ==

= 4.0.18 =
* Findings are saved in Arabic and English, so switching the admin language shows every finding, explanation and fix step in the new language. Audits from earlier versions keep their original language.
* New checks: internal links that point to redirected addresses, empty category and tag pages, and pages that no link on the site points to (separate from pages linked only from the menu).
* Password-protected pages are no longer judged for thin content, structured data, share tags or descriptions.
* One problem reported by two checks now appears once and lowers the score once (share cards, structured data, thin content, duplicate titles, freshness, image formats, broken links, canonical links and more).
* When the site does not answer a request during the audit, the item is listed as "could not check" instead of being reported as missing or silently skipped. Failed requests are retried once.
* Missing cache headers on the homepage are now a low-priority hint instead of a high-severity penalty. Draft web conventions (API catalog, agent skills, Markdown negotiation, content signals) and the text-to-code ratio no longer lower the score.
* Fixed image addresses in evidence being shortened to "htt<WP_CONTENT>".
* The Findings page is one list of cards grouped into "needs fixing", "improvements" and "notes", with one main action per card. Internal IDs moved to the developer section of the details dialog. Evidence labels are in your language and long lists say how many items are not shown.
* The Dashboard opens with the score and the next step, then the top priorities and the results by area. The first screen before any audit has one clear action.
* Settings use simple choices for scan size and pace, the email field appears only when email is on, the save button stays visible, and resets are confirmed inside the page.
* Plain Arabic and English wording across findings, with technical terms in brackets once.
* Old audits are cleaned up automatically: the last 10 audits and 3 crawls are kept.
* The Upgrade link opens the Pro license page when Pro is already active.

Earlier releases are listed in changelog.txt.
