| 开发者 | MEGA |
|---|---|
| 更新时间 | 2026年7月30日 06:23 |
| PHP版本: | 7.2 及以上 |
| WordPress版本: | 6.8 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
mega-ai folder to the /wp-content/plugins/ directoryMEGA is an AI-powered SEO platform that uses intelligent agents to automate your entire SEO strategy. Our AI agent "Lindsay" handles keyword research, content creation, technical SEO, link building, and continuous optimization - delivering results that typically require a full marketing team.
MEGA's SEO service starts at $999/month (or $799/month billed annually). This includes full SEO automation, unlimited content updates, and all features. Learn more at https://gomega.ai/pricing
Yes, the plugin uses military-grade RSA encryption with public/private key cryptography. Only MEGA's authorized AI agents can access your site, and all communications are cryptographically signed and verified.
MEGA can:
Yes, MEGA seamlessly integrates with Yoast SEO, Rank Math, and All in One SEO (AIOSEO), enhancing rather than replacing their functionality.
Most users see organic traffic growth within 3 to 9 months. MEGA works continuously, and results compound over time as the AI learns your market and optimizes your content.
Yes! You can choose between full autopilot mode (85% of users) for fastest results, or review mode where you approve content before publication.
No, the plugin is lightweight and only adds a small optimization script. All heavy processing happens on MEGA's servers, not your WordPress site.
Yes, MEGA supports 50+ platforms including Shopify, Webflow, Wix, HubSpot, and more. This plugin is specifically for WordPress integration.
post_type field in create request.acf payload in create request is written via ACF's update_field() API (not update_post_meta).get_posts) now respects the post_type query parameter instead of hardcoding post, preventing duplicate CPT entries on retry.post_type exists before wp_insert_post — returns 400 for unknown types.noindex field now works for WordPress with Rank Math active — constructs the native rank_math_robots array server-side via read-modify-write, preserving existing directives (nofollow, noarchive, etc.).<!-- wp:html --> Custom HTML wrapper previously slipped past the guard; wpautop then corrupted inline <script>/<style> on the live page. Normal block edits, already-freeform pages, and revisions/autosaves are unaffected.<!-- wp: block marker back to rendered HTML — are now refused, matching the existing page-builder flatten protection. Block-preserving edits are unaffected. (Spectra service pages were silently flattened.)rank_math_schema_*) is now stored as a native array. Schema arriving as a JSON string is normalized before storage; a double-encoded JSON string previously crashed Rank Math's front-end schema generator (HTTP 500). Re-deploy affected page schema to heal pages stored under 2.4.1 or earlier.written — they were already persisted and rendered into the page via the host plugin's schema filter, but the per-post schema API returned writtenCount:0, causing automated deploys to be treated as failures. unmapped is now an informational subset of written (filter-rendered, not shown in the host plugin's per-post UI).content_raw writes that would flatten an existing page-builder page, with Flatsome/UX Builder detection added alongside the existing builder fingerprints.prism_handle_request now returns early for any logged-in request, so member and admin traffic is always rendered by WordPress itself. Also hardened route matching to skip malformed and empty// path prefixes, which would otherwise match every request on the site.custom_json_ld, head_meta_tag) now carries an explicit scope — either site-wide or a list of target page URLs — so schema/meta meant for one page no longer renders on every page. There is no implicit site-wide: megaseo-web requires the caller to declare scope. Scope is stored inside the existing intent params (no DB schema change), and the runtime matches the current request (by resolved post id, front page, or normalized path) before echoing. Intents published before this release have no stored scope and continue to render site-wide (backward compatible).head_meta_tag deduplication. When a known SEO plugin (Yoast, Rank Math) is active, a description intent now overrides that plugin's meta description via its filter instead of emitting a duplicate <meta name="description"> tag. MEGA also dedups its own head metas so the same name is emitted at most once per request.GET /mega/v1/intents/{id} returns the full intent row (including stored params with scope and the pre-rendered rendered_html) for operational inspection. The list endpoint still omits those heavy fields.wp_mega_intents table on plugin upgrade. v2.0.0 created the table only inside an activation hook and lazy REST write paths, so sites that auto-updated from v1.x to v2.0.0 without ever writing an intent ran the intent runtime against a missing table on every request, and wpdb echoed a public DB error before the doctype on home pages and inside REST/JSON responses. v2.0.1 adds (a) a plugins_loaded priority-5 MegaIntentRunner::maybe_upgrade() that runs dbDelta on a schema-version option mismatch, and (b) a suppress_errors guard around the runtime's intent-load SELECT so a missing table can never leak wpdb::print_error() output into the response. Pure hotfix — no API changes.POST/GET/DELETE /mega/v1/intents and POST /mega/v1/intents/kill-all endpoints let the MEGA SEO platform push validated, hard-coded site behaviors into customer sites without executing any bot-supplied code. The bot picks an intent_type from a closed registry (e.g. tracking_pixel, verification_meta, consent_script, heatmap_pixel, custom_json_ld, head_meta_tag, noindex_pages, outbound_link_attrs, disable_emojis, image_loading_attr) and supplies structured params; megaseo-web validates the params and, for static-output intents, pre-renders the HTML payload server-side. The plugin echoes that pre-rendered HTML verbatim from a hooked closure or runs a hard-coded named handler for behavior intents. No eval(), assert(string), or other dynamic-code primitive is ever applied to intent data. Intents live in a new wp_mega_intents table; the dispatcher in runtime/intent-runner.php wraps every handler callback in try/catch(\Throwable) plus a register_shutdown_function so a runtime fatal auto-deactivates the offending intent instead of bricking the site. A ?mega-safe-mode=1 query parameter (requires manage_options) is the customer's emergency disable hatch. The megaseo-web side (per-intent Zod validation, per-customer feature flag gating Class B intents, post-publish regression probe, Atlas task block reasons) is described in the platform's safe-WP-code plan doc.GET /mega/v1/editor/widgets/<id>, PATCH /mega/v1/editor/widgets/<id>/<widget_id>, and POST /mega/v1/editor/revisions/<id>/restore endpoints expose a unified scalar-edit API across Elementor, Gutenberg, and Classic WP. The plugin auto-detects which page builder owns each post and dispatches to the matching MegaEditorAdapter. Every PATCH snapshots a WP revision first so the MEGA bot CLI can issue a single-call undo after a bad edit. Elementor support is pinned to major version <= 3 as a safety guard. Returns 404 with code: editor_builder_unsupported when an unknown builder is detected so callers can fall back gracefully.?diagnostic=1 query param on POST /mega/v1/pages/<id>. When set, skips the mega_managed=1 postmeta write so the MEGA SEO platform's CMS diagnostic worker can run a non-destructive page text-revert probe on a customer's most-recent published page without permanently tagging it as MEGA-owned. No effect on production write paths (which call without the flag); the platform's diagnostic Inngest worker passes diagnostic=1 and the bot's normal publishing code does not./mega/v1/pages REST surface — GET|POST /mega/v1/pages (list/create) and GET|PUT|DELETE /mega/v1/pages/<id> (read/update/delete) pinned to post_type=page. Mirrors the existing /posts handler shape (same response keys, same meta / schema_jsonld / seo_title / meta_description write semantics) so platform clients can use one parser for both. Returns 404 if the requested ID is not a page so callers can't accidentally mutate a post via the pages route. Unblocks the CMS diagnostic worker's page-revert probe and the page on-page-SEO bot path, both of which previously had to fall back to direct WP REST + Basic Auth.POST /mega/v1/cache/flush — purges Yoast indexables, Rank Math sitemap, WP Rocket, W3 Total Cache, LiteSpeed Cache, WP Super Cache, and WP core object cache. Each backend is detected at runtime and wrapped in try/catch so a mis-behaving cache plugin can't cascade-fail the whole flush. Optional post_id param scopes WP-core post-cache invalidation to a single post. Returns a {cleared: {...}} summary so callers can log which backends fired. Lets writer pipelines force-revalidate freshly-written content/meta without waiting on each cache backend's natural TTL.@type values now persists with its full body on Yoast and AIOSEO sites.FAQPage and QAPage are no longer promoted to _yoast_wpseo_schema_page_type (the bare-@type slot). They fall through to the existing extras path (_mega_yoast_schema_extra) so mainEntity (questions/answers) is preserved.FAQPage, Recipe, Product, ProductReview, Course, Dataset, Movie, Service, Car, SoftwareApplication, HowTo, and Person are no longer promoted to wp_aioseo_posts.schema.default.graphName. They fall through to extras (_mega_aioseo_schema_extra) so mainEntity / recipeIngredient / offers / jobTitle / worksFor / etc. are preserved.wpseo_schema_graph / aioseo_schema_output filters — the same path Organization and BreadcrumbList have used since 1.3.0.{"@type":"…"} on storage and the host SEO plugin rendered an empty stub node.@type).Article / WebPage / BlogPosting / NewsArticle on either adapter — those keep using native promotion because the host plugin reconstructs their body from the WP post record.GET|PUT|DELETE /mega/v1/posts/<id>/schema now works on sites running AIOSEO Lite or Pro, in addition to Rank Math and Yoast.@type matches an AIOSEO-known graph (Article, BlogPosting, NewsArticle, WebPage, FAQPage, Product, Recipe, Service, Person, Course, Dataset, Movie, ProductReview, Car, SoftwareApplication) is promoted to wp_aioseo_posts.schema.default.graphName and shows up in AIOSEO's post-editor schema metabox._mega_aioseo_schema_extra and merged into AIOSEO's rendered @graph at request time via the official aioseo_schema_output filter — same extension pattern Yoast uses._mega_aioseo_default_owner) tracks which default.graphName slot we own so we never overwrite a manual selection a customer made in the AIOSEO metabox.graphs[] and customGraphs[] arrays are read but never written by this plugin — they remain entirely under customer control.seo_title and meta_description on GET|POST|PUT /mega/v1/posts[/<id>] now read from and write to the wp_aioseo_posts.title / wp_aioseo_posts.description columns when AIOSEO is the active SEO plugin.mega_schema_no_seo_plugin error message now mentions AIOSEO alongside Rank Math and Yoast.GET|PUT|DELETE /mega/v1/posts/<id>/schema and inline schema_jsonld field on POST|PUT /mega/v1/posts[/<id>]. REPLACE-ALL semantics — read before writing to preserve.rank_math_schema_<Type> post meta row per JSON-LD node; Rank Math renders them as part of its native schema graph and they appear in the Rank Math editor UI._yoast_wpseo_schema_page_type / _yoast_wpseo_schema_article_type (visible in the Yoast UI). Nodes that don't fit those selectors are stashed in _mega_yoast_schema_extra and rendered into Yoast's runtime graph via the wpseo_schema_graph filter.GET /mega/v1/posts accepts a new post_type query parameter (single, comma-separated list, or any) and a free-text search parameter so the platform can enumerate pages and custom post types, not just blog posts._mega_jsonld_schema self-rendered wp_head injection shipped in 1.2.2. Replaced by the adapter above so the host SEO plugin owns rendering — avoids duplicate <script type="application/ld+json"> tags and makes schema visible in Yoast / Rank Math UIs. The _mega_jsonld_schema post_meta key is no longer read; legacy values can be removed with DELETE /mega/v1/posts/<id>/schema after migrating to the new path.<head> on singular views. Reads the _mega_jsonld_schema post_meta key (written through the existing meta:{} field on POST /mega/v1/posts/<id>) and emits it as <script type="application/ld+json" data-mega-managed="1"> at wp_head priority 99. Lets the MEGA platform deploy LocalBusiness / RealEstateAgent / FAQ / Service schema on sites that don't have Yoast or Rank Math controlling the relevant schema type. A site-wide schema slot is planned for a follow-up release.template_redirect hook to priority 20 so plugins like WP Fusion (default priority 10) can run their auth and membership gates first. Prevents authenticated users from being redirected away from archive pages on sites that gate content via template_redirect.