{"id":351728,"date":"2026-09-02T22:40:18","date_gmt":"2026-09-02T22:40:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/avakode-seoforge\/"},"modified":"2026-09-02T22:40:03","modified_gmt":"2026-09-02T22:40:03","slug":"rank-forge","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/rank-forge\/","author":23513346,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.6","stable_tag":"1.1.6","tested":"7.1","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Rank Forge \u2013 SEO Score, Schema, Sitemap & Redirects","header_author":"Avakode","header_description":"On-page SEO toolkit for WordPress: SEO score, meta box, SERP preview, schema markup, XML sitemap, robots.txt, redirects, image SEO, local business and video schema. Optional Pro add-on adds AI meta generation, Site Audit, GSC, and more.","assets_banners_color":"3d4256","last_updated":"2026-09-02 22:40:03","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/avakode.com","header_plugin_uri":"https:\/\/rankforgewp.com","header_author_uri":"https:\/\/avakode.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":49,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.6":{"tag":"1.1.6","author":"avakodeforge","date":"2026-09-02 22:40:03","revision":3678750}},"upgrade_notice":{"1.0.32":"<p>Adds a Support menu, optional anonymous analytics (off by default), and dashboard Pro tips.<\/p>","1.0.29":"<p>Optional title &quot;ideas&quot; no longer counted as issues, clearer Google Indexing setup, and WordPress.org compliance fixes.<\/p>","1.0.25":"<p>Licensing and WordPress.org compliance improvements.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3679136,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3679136,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3679132,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3679132,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.6"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"SEO metabox on post edit (score, SERP preview, focus keyword)","2":"Today's focus dashboard","3":"Redirects manager (Pro)","4":"Site audit report (Pro)","5":"Schema markup generator"}},"plugin_section":[262246],"plugin_tags":[2988,1117,186,240424,1557],"plugin_category":[55,57],"plugin_contributors":[273812],"plugin_business_model":[],"class_list":["post-351728","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-meta-tags","plugin_tags-schema","plugin_tags-seo","plugin_tags-serp-preview","plugin_tags-sitemap","plugin_category-seo-and-marketing","plugin_category-taxonomy","plugin_contributors-avakodeforge","plugin_committers-avakodeforge"],"banners":{"banner":"https:\/\/ps.w.org\/rank-forge\/assets\/banner-772x250.png?rev=3679132","banner_2x":"https:\/\/ps.w.org\/rank-forge\/assets\/banner-1544x500.png?rev=3679132","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/rank-forge\/assets\/icon-128x128.png?rev=3679136","icon_2x":"https:\/\/ps.w.org\/rank-forge\/assets\/icon-256x256.png?rev=3679136","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Rank Forge<\/strong> is a modern SEO plugin built around a single insight: an SEO score is only useful if it tells you exactly what to do next. The post-edit metabox gives you a 0-100 SEO score, a SERP preview, focus-keyword analysis, and an editable meta title \/ description \/ schema \u2014 all from one screen, with no account or API key required.<\/p>\n\n<p>Everything in the Free plugin runs locally on your site: schema markup, XML sitemap, robots.txt, the redirect + 404 manager, image SEO (auto alt text), local business schema, and video schema. The optional <strong>Pro add-on<\/strong> layers AI on top \u2014 one-click AI meta generation, content optimization, and schema detection \u2014 plus Google Search Console, Site Audit, A\/B testing and auto internal links.<\/p>\n\n<h4>Free<\/h4>\n\n<ul>\n<li>On-page SEO score (0-100) per post<\/li>\n<li>SERP preview (Google desktop + mobile)<\/li>\n<li>Focus keyword analysis<\/li>\n<li>XML sitemap (hreflang-aware if Lang Forge is active)<\/li>\n<li>robots.txt editor<\/li>\n<li>Basic schema markup (Article, BlogPosting) and the visual Schema Builder<\/li>\n<li>Noindex \/ nofollow per post<\/li>\n<li>Redirect manager (301, 302, 307, 410) with 404 log<\/li>\n<li>Broken-link scanner across all published content (SSRF-pinned for safety)<\/li>\n<li>Image SEO \u2014 automatic alt text and a bulk no-alt report<\/li>\n<li>Local Business schema (LocalBusiness \/ NAP \/ opening hours)<\/li>\n<li>Video SEO \u2014 VideoObject schema and a video sitemap<\/li>\n<li>Coexists with Yoast \/ Rank Math \/ AIOSEO \/ SEOPress during migration<\/li>\n<\/ul>\n\n<h4>Rank Forge Pro<\/h4>\n\n<p>Pro is a separate add-on plugin, distributed from https:\/\/rankforgewp.com and not\nincluded in this download. Everything listed above is part of this plugin and\nworks without it.<\/p>\n\n<ul>\n<li>AI meta generation (title, description, focus keyword)<\/li>\n<li>AI content expansion \/ simplification \/ external-link suggestions<\/li>\n<li>Internal link suggestions and automatic internal linking<\/li>\n<li>Google Search Console integration (rankings, indexing requests)<\/li>\n<li>Site audit (technical SEO crawler)<\/li>\n<li>Content brief, content decay and the content optimizer<\/li>\n<li>A\/B testing for titles + descriptions<\/li>\n<\/ul>\n\n<p>Part of the <strong>Forge Suite<\/strong> \u2014 bundle includes Lang Forge, Form Forge, Field Forge.<\/p>\n\n<h3>Third-Party Services<\/h3>\n\n<p>Rank Forge connects to the following third-party services. No data is sent until you actively use the relevant feature.<\/p>\n\n<ul>\n<li><strong>Avakode API<\/strong> (https:\/\/avakode.com) \u2014 powers the AI features (AI meta generation, schema detection, content tools) and validates your license. When you trigger an AI action or activate a license, your site URL, license key, and the relevant post content are sent. Terms: https:\/\/avakode.com\/terms \u2014 Privacy: https:\/\/avakode.com\/privacy<\/li>\n<li><strong>Google Search Console \/ Analytics \/ Indexing<\/strong> \u2014 contacted only after you click \"Connect Google\" and use the Rankings, Analytics &amp; Traffic, or Indexing pages. Requests are proxied through the Avakode API using your authorised Google account (read-only for Search Console and Analytics; a URL is submitted only when you click \"Submit to Google Index\"). Google Terms: https:\/\/policies.google.com\/terms \u2014 Privacy: https:\/\/policies.google.com\/privacy<\/li>\n<li><strong>Anonymous usage analytics (opt-in, OFF by default)<\/strong> \u2014 Only if you explicitly opt in from the Rank Forge settings, the plugin sends anonymous product-usage telemetry to the Avakode API (https:\/\/avakode.com\/telemetry): a random install ID (UUID, not tied to your site URL or any account), your bucketed WordPress and PHP version ranges, the plugin version, and aggregate feature-usage event counters. It is sent ONLY after you opt in and can be disabled at any time. It never sends your site URL, email address, post or form content, or license key. Privacy: https:\/\/avakode.com\/privacy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload <code>rankforge<\/code> to <code>\/wp-content\/plugins\/<\/code>, or install via Plugins \u2192 Add New.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open any post \/ page \u2014 the Rank Forge metabox appears below the editor.<\/li>\n<li>(Optional) Connect to Avakode for Pro features at <strong>Rank Forge \u2192 Connect<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20rank%20forge%20conflict%20with%20yoast%20or%20rank%20math%3F\"><h3>Will Rank Forge conflict with Yoast or Rank Math?<\/h3><\/dt>\n<dd><p>No. Rank Forge detects the active SEO plugin and suppresses its own meta output until you fully migrate. Use <strong>Rank Forge \u2192 Migration<\/strong> when ready.<\/p><\/dd>\n<dt id=\"does%20the%20seo%20score%20use%20ai%3F\"><h3>Does the SEO score use AI?<\/h3><\/dt>\n<dd><p>The score itself is deterministic (keyword density, readability, internal links, image alt, etc.). AI is only used for generation actions (meta, schema, content expansion) when you click \"Generate with AI\".<\/p><\/dd>\n<dt id=\"how%20are%20redirects%20stored%3F\"><h3>How are redirects stored?<\/h3><\/dt>\n<dd><p>In a custom table (<code>wp_rankforge_redirects<\/code>) \u2014 not in <code>wp_options<\/code> like some plugins. This avoids the autoload-bloat that hurts your TTFB.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Licensing no longer depends on a third-party SDK. The plugin asks avakode.com whether this site is licensed and caches the answer for a day; if the check cannot be completed \u2014 a network hiccup, a timeout, our own error \u2014 your paid features stay on. Only a clear \u201cthis licence is not active\u201d turns them off.<\/li>\n<li>Deactivating from the Forge Suite dashboard now releases the site slot directly, instead of the three-step fallback the old SDK needed when a licence had been cancelled server-side.<\/li>\n<li>Smaller package and one less admin surface: the SDK\u2019s own menu, opt-in screen and promotional notices are gone.<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Forge Suite dashboard: names of the builder-rail tools (Clearway, Profit, Inclusive Forge) no longer truncate next to the \u201cNot installed\u201d badge.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>The Forge Suite dashboard now shows the whole seven-tool line-up from the product registry \u2014 Clearway Forge, Profit Forge and Inclusive Forge join the four WordPress tools \u2014 counts active tools against seven, and its cross-sell banner points at the Forge Builder on avakode.com (one checkout, set discount up to 45%) instead of the retired Freemius bundle.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Generated CSS and JavaScript is assembled as a string instead of being captured through an output buffer, so the plugin no longer opens a buffer that another component's hook could interleave with.<\/li>\n<li>Menu pages decide what to show by whether the class that renders them is loaded, not by asking the licence. Redirects and Local SEO ship in this download and now open with no check at all.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>The custom canonical tag is now printed directly at its hook. The plugin used to buffer the entire head output between two hooks so competing canonical tags could be stripped from it; that buffer is gone. WordPress core's canonical is still suppressed while a per-post custom canonical is set, and Yoast's through its filter, so the URL you set is still the one that ships.<\/li>\n<li>Every value handed from PHP to inline JavaScript is JSON-encoded with hex escaping for the characters that could end a script block, so translations and settings can never terminate the tag they sit in.<\/li>\n<li>The bulk AI-fix endpoint no longer raises the PHP memory limit \u2014 its capped, sequential work never needed the headroom.<\/li>\n<li>Removed an unused helper that assigned window globals.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>CSS and JavaScript that screens build from PHP state now go through the WordPress enqueue API instead of being written into the page as tags, so other code can deregister, reorder or defer them.<\/li>\n<li>Filenames: uploads are cleaned only for images, and only for files you actually upload. The rule used to apply to every filename WordPress touched, and it stripped non-Latin scripts entirely \u2014 a file named in Russian, Japanese or Greek came out as a timestamp. Accented Latin now transliterates, and a name that leaves nothing behind is kept as WordPress sanitised it. Add 'image_filename_cleanup' =&gt; false to the settings to turn it off.<\/li>\n<li>The sitemap stylesheet is located from the plugin's own file rather than a hardcoded directory name, so it resolves whatever folder the plugin is installed under.<\/li>\n<li>Publishing robots.txt no longer empties the whole LiteSpeed cache; only the robots.txt URL is purged.<\/li>\n<li>Removed a stray closing tag from the feedback widget markup.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>The plugin is now called Rank Forge. Nothing about what it does has changed; the name did.<\/li>\n<li>Everything the old name stored is carried over on first load: the analysis, redirect and breadcrumb tables, every setting, and the SEO fields on every post. Redirects keep working, stored analyses stay, and the meta on your posts stays. If the takeover is interrupted it resumes on the next request rather than half-applying.<\/li>\n<li>Scheduled jobs left under the old names are unscheduled, and the old cached values are dropped so they regenerate under the new ones.<\/li>\n<\/ul>\n\n<h4>1.0.40<\/h4>\n\n<ul>\n<li>Removed the last licence checks that stood over code shipped in this download. The settings screen asked the licence before writing two flags, \"auto_meta\" and \"internal_links_enabled\" \u2014 neither was ever read by anything, while the meta generation they appeared to control (title and description templates, canonical URLs, Open Graph tags; no external calls) is part of this plugin and has always run for everyone. Both flags are gone rather than merely ungated.<\/li>\n<li>Auto internal linking, Search Console and Site Audit now show as unavailable based on whether their implementation is loaded, not on a licence call. Those three are implemented in the separate add-on and are not present here, so nothing shipped is being withheld.<\/li>\n<li>The Site Audit screen guarded itself with a plan check; it now checks for the class it needs, which is what actually decides whether the page can render.<\/li>\n<\/ul>\n\n<h4>1.0.39<\/h4>\n\n<ul>\n<li>Chinese: parentheses in running text are full-width, as the WordPress core Chinese catalogue writes them. Two strings also carried a second, unused plural form left over from the English two-form scheme; Chinese has one form, so it was dead data.<\/li>\n<li>Japanese: parentheses in running text are half-width with a space outside, following the Japanese translation style guide. Reported by the Japanese locale team.<\/li>\n<\/ul>\n\n<h4>1.0.38<\/h4>\n\n<ul>\n<li>The broken-link scanner is now part of this plugin with no restriction. It was marked Pro while its whole implementation shipped here \u2014 the crawler, the SSRF-hardened request wrapper and the results screen \u2014 which meant built-in functionality was gated. Internal link <em>suggestions<\/em> remain a separate add-on feature, because that code genuinely is not in this download.<\/li>\n<li>Removed licence checks that could never fail: image SEO, Local SEO, redirects, the Schema Builder and Video SEO have been free since the 2026-05-29 rebalance, but the code still asked for a licence and the readme still listed several of them as Pro.<\/li>\n<li>Availability of add-on features is now decided by whether the add-on is installed, not by a licence call.<\/li>\n<\/ul>\n\n<h4>1.0.37<\/h4>\n\n<ul>\n<li>Security hardening: all dynamic output is now escaped late at the output site with the context-appropriate function (esc_html\/esc_attr\/esc_url, esc_html__ for translated strings used as format strings, and wp_kses for trusted pre-built admin\/field markup). No behavioural changes.<\/li>\n<\/ul>\n\n<h4>1.0.35<\/h4>\n\n<ul>\n<li>Security: hardened JSON-LD structured-data output (schema, breadcrumbs, local business, video) against script-context breakout by escaping <code>&lt;<\/code>, <code>&gt;<\/code> and <code>&amp;<\/code> (JSON_HEX_TAG \/ JSON_HEX_AMP).<\/li>\n<li>Fix: Organization structured data no longer emits an empty \"description\" property when the site tagline is unset.<\/li>\n<\/ul>\n\n<h4>1.0.32<\/h4>\n\n<ul>\n<li>New: Support menu item that opens the Avakode support dashboard.<\/li>\n<li>New: Opt-in anonymous usage analytics (OFF by default) \u2014 see Third-Party Services.<\/li>\n<li>New: Contextual, dismissible Pro feature tips on the plugin dashboard (Free users only).<\/li>\n<\/ul>\n\n<h4>1.0.29<\/h4>\n\n<ul>\n<li>Numbers \/ power words in the SEO title are now shown as optional \"Optimization ideas\" instead of issues \u2014 they affect click-through, not Google rankings.<\/li>\n<li>Clearer one-time setup guidance for the Google Indexing API (\"Submit to Google Index\").<\/li>\n<li>WordPress.org compliance and code-quality improvements.<\/li>\n<\/ul>\n\n<h4>1.0.28<\/h4>\n\n<ul>\n<li>Fixed: the XML sitemap no longer 301-redirects to a trailing slash, so Google Search Console can fetch the sitemap index.<\/li>\n<li>Kept Rank Forge admin submenus accessible when multiple Forge plugins are active.<\/li>\n<\/ul>\n\n<h4>1.0.27<\/h4>\n\n<ul>\n<li>Fix: Rank Forge admin sub-pages (Settings, Analytics, Content and Tools) now stay accessible when other Forge plugins are active alongside Rank Forge Pro.<\/li>\n<\/ul>\n\n<h4>1.0.26<\/h4>\n\n<ul>\n<li>Security: the Google Account connection (Search Console \/ Analytics) now starts via a one-time token, so the license key is never placed in a URL.<\/li>\n<\/ul>\n\n<h4>1.0.25<\/h4>\n\n<ul>\n<li>WordPress.org compliance and licensing hardening.<\/li>\n<li>Pro entitlement is now resolved by the Rank Forge Pro add-on; the free plugin bundles no licensing SDK.<\/li>\n<li>Removed a deprecated Google sitemap-ping request fired on publish.<\/li>\n<li>readme metadata cleanup.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"SEO score, meta, schema and sitemap for WordPress: meta box, SERP preview, robots.txt, redirects, image SEO. A Yoast-compatible SEO plugin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/351728","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=351728"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/avakodeforge"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=351728"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=351728"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=351728"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=351728"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=351728"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=351728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}