| 开发者 | aaronkaltman |
|---|---|
| 更新时间 | 2026年7月4日 05:46 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
/llms.txt file at the root of your site, conforming to the llmstxt.org spec — a markdown manifest that helps LLM-powered tools find the right pages on your site. Builds defaults automatically from your public post types, with per-section customization, optional links list, and a one-click "Reset to defaults" if you want to start fresh.
3. Schema Graph. Per-post and site-wide schema.org JSON-LD injection. Add structured data for Organization, Article, Product, HowTo, FAQPage, BreadcrumbList — all linked together by @id so AI engines can resolve "this org wrote this article" without guessing. Designed to coexist with Yoast and Rank Math: when one of them is active, AuditAE defers the schema types they already emit (Organization, Article) and only adds the types they don't, so your pages never carry duplicate structured data.
4. IndexNow auto-ping. When you publish or update a post, the plugin instantly notifies the IndexNow API so Microsoft Bing — and the engines that read its index, including ChatGPT and Copilot retrieval — re-crawl the URL in minutes instead of waiting days to discover it on their own. A site ownership key is generated and served automatically (no manual setup), per-post noindex flags from Yoast/Rank Math are respected, and a "Submit all published URLs" button seeds the index in one shot for sites that installed the plugin after publishing. One submission fans out to Bing, Yandex, Seznam, and Naver.
5. Image filename rename. A "Rename file" action in the Media library turns a generic IMG_4821.jpg into a descriptive, keyword-bearing red-running-shoes.jpg — the filename is one of the few image-SEO signals AI engines and image search actually read. It renames the original and every generated thumbnail size in one move, then rewrites the old URL to the new one inside your existing posts so your live images and srcset never break. Free, no account, gated by your normal WordPress permissions.
Plus FAQ schema injection. A <script type="application/ld+json"> block on singular post views, sourced from question/answer pairs stored in post_meta. Post content is not modified.
No external service is required for any of the above. All data is stored locally in your wp_options table (rolling 500-entry crawler log, no custom database tables, no telemetry).
Optional — pair with AuditAE (auditae.app). AuditAE is a separate paid service that measures whether AI engines cite your brand for the prompts your buyers ask. Pairing this plugin with an AuditAE account lets the AuditAE assistant (AEBOT) also draft posts, update existing posts, edit Yoast/Rank Math meta, manage the schema graph, curate /llms.txt, and edit your images end to end — rename files in bulk across the posts that matter, and write every image field (alt text, title, caption, description) — for you. On sites running the companion AuditAE AI Autopilot theme, AEBOT can additionally edit page copy, brand colors, and structured records (services, locations, FAQs, testimonials, team) in place, and your wp-admin dashboard shows live AI-citation, Analytics, and Search Console figures pulled from your AuditAE account. Pairing is fully optional; everything above remains free regardless. $5 free credit at signup, no subscription.
https://example.com/llms.txt.No. The Crawler Tracker, llms.txt generator, schema graph, and FAQ schema are all fully free and standalone. They work the moment the plugin is activated. The Connect to AuditAE tab is optional and only relevant if you want the paid citation-audit + AEBOT writing features.
GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, Claude-Web, anthropic-ai, PerplexityBot, Perplexity-User, Google-Extended, Applebot-Extended, Bytespider, CCBot, cohere-ai, Diffbot, FacebookBot, Meta-ExternalAgent, Meta-ExternalFetcher, Bingbot, YouBot, Amazonbot, DuckAssistBot, PetalBot, TimpiBot, MistralAI-User, AI2Bot, iaskspider, AwarioRssBot, AwarioSmartBot, plus a few others. The list is curated to AI engines; we deliberately exclude Googlebot because that's already covered by Google Search Console.
No. Crawler detection is a single substring scan of the User-Agent on template_redirect, and the write to wp_options is bounded to 500 entries (oldest entries are pruned). The /llms.txt response is cached in a transient and regenerated only when you save changes. Schema injection runs once per page render in wp_head. On any reasonable host, the per-request cost is well under a millisecond.
Locally, on your own site — no telemetry, and no data leaves your site unless you opt in to pairing with AuditAE. AI crawler hits live in one small custom table, {prefix}auditae_crawler_hits (pruned to 90 days, dropped on uninstall); everything else is in wp_options: auditae_crawler_rollup (per-bot first-seen + lifetime totals), auditae_redirects (redirect rules), auditae_audit_log (action log for the optional Connect tab), auditae_llms_txt_config (llms.txt manifest), auditae_organization_schema (site-wide schema), auditae_score_history / auditae_score_best (AI Readiness Score trend), auditae_score_email (the optional digest opt-in), and IndexNow settings — plus per-post meta _auditae_schema_graph and _auditae_faq_schema. Uninstalling removes all of it.
No. If Yoast or Rank Math is active and emitting their own JSON-LD, AuditAE detects their @id values and links to them instead of duplicating Organization/WebSite nodes. You can layer AuditAE's per-post schema on top of any SEO plugin.
Pairing is free. AuditAE itself is pay-per-use ($0.05 per AI-engine prompt check, $0.05 per WordPress mutation action) with $5 free credit at signup, no subscription. Sign up at https://auditae.app.
Settings → AuditAE → Connect to AuditAE tab → Disconnect. The bearer token is wiped instantly.
No — it's designed to run alongside them. AuditAE is an AI-search toolkit, not an SEO plugin: it never changes your title tags, meta descriptions, canonical URLs, Open Graph tags, or sitemaps, so it won't trigger a "you have two SEO plugins active" warning. Where the two genuinely overlap — structured data and IndexNow — AuditAE detects your SEO plugin and steps aside: it stops emitting Organization and Article schema (so you never get duplicate JSON-LD), skips FAQ schema on posts that already use a Yoast/Rank Math FAQ block, and turns its IndexNow auto-ping off if Rank Math (or a standalone IndexNow plugin) is already submitting. You keep AuditAE's AI-specific features — crawler tracking, AI Readiness Score, llms.txt — on top of your existing SEO setup. The settings page shows a notice describing exactly what's been deferred.
IndexNow is an open protocol that lets your site tell search engines "this URL just changed" instead of waiting for them to re-crawl on their own. Microsoft Bing uses it, and because ChatGPT and Copilot retrieval lean on the Bing index, faster indexing means faster eligibility to be cited. There's nothing to set up — the plugin generates and serves the required ownership key automatically, and starts pinging on your next publish. To turn it off, go to Settings → AuditAE → AI Crawlers and uncheck auto-ping. Google does not use IndexNow (it has no public submission API), so this complements rather than replaces normal Google crawling.
{prefix}auditae_crawler_hits, 90-day retention, dropped on uninstall) instead of wp_options. The old storage rewrote two large option rows on every bot pageview and could lose counts under concurrent crawls; busy sites get accurate numbers and far less database churn. Existing history migrates automatically on update.future with a date) and move posts to the trash via the connected API — trash only, never permanent deletion, and trashing live content requires the publish permission. Unsupported statuses are now rejected instead of silently coerced.-scaled version), so regenerating thumbnails no longer resurrects the old filename.write_seo-gated endpoints./llms.txt and the IndexNow key file now work on subdirectory installs (e.g. example.com/blog) — previously both returned 404, so IndexNow ownership verification silently failed and submissions were discarded.#fragment in the destination.url, sameAs, logo) keep their query strings intact — ampersands are no longer entity-encoded into a different URL.publish capability, matching already-published posts; the update endpoint now refuses internal post types (plugin configuration storage), matching the create endpoint.IMG_4821.jpg) to a descriptive, keyword-bearing slug (red-running-shoes.jpg) — a real image-SEO/AEO signal that engines and image search read. The rename moves the original file plus every generated size, keeps the file type, and rewrites the old URL to the new one inside existing post content so live images and srcset don't break. Works locally with no account, gated by your normal WordPress permissions.sameAs and redirect source/destination admin form inputs at the point of access (WordPress.org Plugin Check). No behavior change — values were already sanitized downstream.Disallow aimed at scrapers routinely takes citation bots down with it, and from the outside that looks identical to "AI just doesn't cite me". Re-checked hourly; also exposed to paired accounts at GET /auditae/v1/robots-audit (read capability).Title | URL | description) — previously this was only reachable via the REST API.PATCH /media/{id} (alt text + caption) now requires the write_seo capability as documented — it was previously reachable with read-only consent because the action-dispatch permission gate fell through to read on routes with no action param. (2) POST /llms-txt with action=write, action=reset, or no action now requires write_seo; previously reset and a missing action slipped through the read gate, letting a read-only token rewrite or reset the manifest. (3) Updating a post that is already published (PATCH /posts/{id} and POST /posts/{id}/internal-link) now requires the publish capability — draft consent ("create and update draft posts") no longer allows changing live content. The bearer token still gates everything; this tightens what each granted capability permits.publish as "Publish posts and edit already-published content" to match the enforced behavior. If AEBOT reports a missing publish capability after this update, grant it from Settings → AuditAE → Connect.auditae_redirects option — redirect rules were the one key uninstall.php left behind./new-path (it was a url-type input, so browsers demanded an absolute URL). Now a text field, matching the manual-add form.template_redirect at priority 0 and called exit before the crawler logger (priority 1) could run, so the AI Crawlers tab's "since last hit" stat stayed stale while bots actively pinged redirected paths. The logger now runs first (priority 1) and the redirect handler runs after (priority 2). Hits to paths with an active redirect rule are stamped with the rule's status (301/302) instead of 404, so the suggested-redirects rollup (which keys on status=404) keeps working unchanged.GET /auditae/v1/redirects (list rules) + POST /auditae/v1/redirects (dispatches on action: list | suggest | write | delete). The suggest action wraps the same "AI bots 404'd here" rollup the admin tab uses, so paired AuditAE accounts can ask AEBOT "check my redirect suggestions" and the assistant returns the same one-click proposals the human-facing tab shows. write and delete are gated by the write_seo capability and write to the existing auditae_audit_log so every bot-initiated rule change is auditable from the admin tab.$_POST['sections'] in the llms.txt save handler now flows through map_deep( …, 'sanitize_text_field' ) so every leaf value is sanitized before the per-field casts run. No behavior change.JSON_HEX_TAG|JSON_HEX_AMP) so </script> breakouts are impossible, ran every $_SERVER and $_POST field through wp_unslash() + a sanitizer, replaced unlink() with wp_delete_file(), removed the redundant load_plugin_textdomain() call (WP auto-loads since 4.6), and aligned the plugin header with the directory title. No behavior changes.languages/auditae.pot.GET /media, GET /media/{id}, PATCH /media/{id}, POST /media). Paired AuditAE accounts can audit images with empty alt text, write descriptive alt + caption in bulk (gated by write_seo), and sideload generated hero images from a URL for AEBOT-drafted posts (gated by draft).GET /links/graph, GET /links/post/{id}). Surfaces per-post incoming/outgoing counts and orphan posts so AEBOT can recommend where to weave new internal links.POST /posts/{id}/internal-link — safe text-replace link insertion. Wraps the first unlinked occurrence of an anchor in <a> without rewriting the rest of the post. Refuses external URLs. Returns previous_state for undo. Gated by the same draft/publish rule as wp_update_post./llms.txt Sections editor table layout. The "On" column header was crashing into "Section title" because the table inherited the activity-log fixed layout./llms.txt generator. Serves a markdown manifest at the site root following the llmstxt.org spec. Defaults are auto-built from your public post types; a new admin tab lets you customize the H1, blockquote intro, per-section titles, and an optional links section. Cached in a transient and regenerated on save.GET /llms-txt, POST /llms-txt, POST /llms-txt/reset) so paired AuditAE accounts can curate the manifest from chat. Gated by the write_seo capability._auditae_schema_graph post_meta and emitted in wp_head. Site-wide schema (Organization, WebSite) stored in auditae_organization_schema. All nodes linked by @id so AI engines resolve relationships without guessing. Detects and reuses Yoast/Rank Math @id values when present.POST /posts/{id}/schema, POST /organization-schema, GET /probe-schema. Gated by write_seo.uninstall.php cleans up every option, transient, and per-post meta key on plugin delete. load_plugin_textdomain registered on init and visible admin strings wrapped in __() / esc_html__() so translations can ship without code changes.GET /auditae/v1/crawler-hits (gated by the existing read capability) so paired AuditAE accounts can ingest the log into AEBOT.POST /posts/{id}/faq-schema endpoint. Stores question/answer pairs in post_meta and emits a schema.org/FAQPage <script type="application/ld+json"> block in <head> on singular post views. Post content is NOT modified. Capped at 25 Q&A pairs per post; gated by the write_seo capability.GET /posts — list recent posts with pagination, status filter, search, and post_type. GET /posts/{id} — full post snapshot including per-post SEO meta for Yoast + Rank Math. Both require the read capability./pair and every bearer-protected route. Local dev installs can opt out with define('AUDITAE_ALLOW_INSECURE', true)./pair brute-force lockout (10 failed attempts in 10 minutes → 429)./posts/{id}/seo. Generic post meta passthrough now rejects SEO-prefixed keys so the write_seo consent boundary holds./status, /posts (create + update), /seo/yoast/settings, /audit-log, /disconnect.