Sharraxaad
Rank Forge 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 — all from one screen, with no account or API key required.
Everything in the Free plugin happens on your own site: schema markup, XML sitemap, robots.txt, the redirect + 404 manager, image SEO (auto alt text), local business schema, and video schema. The only requests it makes are the two listed under External services: the Broken Links scan, when you start it, and the check of your own site’s robots.txt. The optional Pro add-on layers AI on top — one-click AI meta generation, content optimization, and schema detection — plus Google Search Console, Site Audit, A/B testing and auto internal links.
Free
- On-page SEO score (0-100) per post
- SERP preview
- Focus keyword analysis
- XML sitemap
- robots.txt editor
- Basic schema markup (Article, BlogPosting) and the visual Schema Builder
- Noindex / nofollow per post
- Redirect manager (301, 302, 307) with 404 log
- Broken-link scanner across all published content (SSRF-pinned for safety)
- Image SEO — automatic alt text and a bulk no-alt report
- Local Business schema (LocalBusiness / NAP / opening hours)
- Video SEO — VideoObject schema and a video sitemap
- Coexists with Yoast / Rank Math / AIOSEO / SEOPress during migration
Rank Forge Pro
Pro is a separate add-on plugin, distributed from https://rankforgewp.com and not
included in this download. Everything listed above is part of this plugin and
works without it.
- AI meta generation (title, description, focus keyword)
- AI content expansion / simplification / external-link suggestions
- Internal link suggestions and automatic internal linking
- Google Search Console integration (rankings, indexing requests)
- Site audit (your 200 most recent published posts and pages, checked for missing titles, descriptions, headings and alt text, thin content and duplicate titles; with WooCommerce, also your 200 most recent products, checked for titles, descriptions, focus keywords, alt text and duplicate titles)
- Content brief, content decay and the content optimizer
- A/B testing for titles + descriptions
- Priority email support with an active Pro licence
Part of the Forge Suite: twelve WordPress and WooCommerce plugins by Avakode, including Lang Forge, Form Forge and Field Forge.
External services
Rank Forge can make outbound HTTP requests. Nothing is sent until you use the feature that sends it: activating the plugin does not contact any server and does not schedule anything that would. This is the whole list: the plugin’s code makes no other request. Each one is an ordinary WordPress HTTP request, so the server it reaches sees the network address it came from.
- The sites your content links to — only when you start a Broken Links scan (Rank Forge Tools Broken Links), the plugin sends a HEAD request to each link found in your published content to see whether it still answers. The request carries WordPress’s standard user-agent, which names your site’s address; nothing else about your site or your visitors is sent, and nothing is checked until you start the scan.
- Your own site’s robots.txt — only when an administrator opens a Rank Forge screen that shows the status of robots.txt (Settings, Robots.txt), the plugin fetches
/robots.txtat your own site’s address with a plain GET, no body and no credentials, to show what visitors and crawlers receive; the answer is kept for 60 seconds. The request goes to your own site, carries WordPress’s standard user-agent (which names your site’s address), and nothing is sent to any other server.
Search Console, Analytics and Indexing, and the AI features, belong to the separate Rank Forge Pro add-on, which describes the services it uses in its own documentation. This plugin has no analytics, no telemetry and no licensing calls of its own.
Sawir-shaashado






Rakibaad
- Upload
rankforgeto/wp-content/plugins/, or install via Plugins Add New. - Activate the plugin.
- Open any post / page — the Rank Forge metabox appears below the editor.
- (Optional) The AI features, Search Console, Site Audit and the other Pro screens come with the separate Rank Forge Pro add-on; the add-on adds its own Connect screen.
SBI
-
Will Rank Forge conflict with Yoast or Rank Math?
-
No. Rank Forge detects the active SEO plugin and suppresses its own meta output until you fully migrate. Use Rank Forge Migration when ready.
-
Does the SEO score use AI?
-
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”.
-
How are redirects stored?
-
In a custom table (
wp_rankforge_redirects) — not inwp_optionslike some plugins. This avoids the autoload-bloat that hurts your TTFB.
Dibu-eegisyo
Ma jiraan wax dibu-eegis ah oo ku saabsan kaabahan.
Ka-qaybgalayaasha & Horumariyayaasha
“Rank Forge – SEO Score, Schema, Sitemap & Redirects” waa softiweer il furan. Dadka soo socda ayaa wax ku biiriyay kaabahan.
Ka-qaybgalayaashaKu tarjun “Rank Forge – SEO Score, Schema, Sitemap & Redirects” luqaddaada.
Ma xiisaynaysaa horumarinta?
Baadh koodka, fiiri bakhaarka SVN, ama iska qor diiwaanka horumarinta adigoo adeegsanaya RSS.
Isbeddellada
1.3.0
- Needs Rank Forge Pro 1.2.5 or newer if you run the add-on, as before.
- Broken Links: the scan now covers every published post (it used to read only the first 200). It works through them in small background jobs that carry on from one another and it runs by itself once a night. A scan that stopped before the end says “The last scan did not finish” and how far it got, a second press while a scan runs does not start another one, a link used in many posts is checked once per scan, and a link whose address has no host counts as broken.
- Broken Links: a link is no longer called broken when the check could not tell. A link whose host name could not be looked up right now, or that this server has no route to (often an IPv6-only host on a server without IPv6), is skipped and tried again at the next scan; a site that cannot check addresses safely (it needs the PHP cURL extension and no proxy server) says so instead of calling those links unreachable.
- Broken Links: each check looks the host name up once, goes ahead only when every address it gets is public, and connects to exactly those addresses. Links to local, private and other non-public addresses are skipped, now including the 100.64.0.0/10 and 198.18.0.0/15 ranges and IPv4 addresses written inside IPv6.
- Sitemap: password-protected posts, and posts whose canonical address points to another page, are left out of the maps and the index. A post whose canonical is written in another percent-encoding (a Cyrillic address, for example) stays in. The Video sitemap takes its description from the excerpt and then the title, and leaves out protected posts and posts with a canonical elsewhere.
- Sitemap: a site set to discourage search engines has no sitemap and robots.txt names none; Settings no longer links to a sitemap that would answer 404. A map the index does not announce answers 404 and is not cached.
- Sitemap: the addresses also work on sites with plain permalinks, the index answers right after the plugin is activated, and deactivating the plugin removes the rewrite rules of the maps.
- Sitemap: the cached maps are dropped when a post’s noindex, canonical, video data or featured image is written by any means (an import, WP-CLI, the REST API), and when you change the “Show in search results” switch of a post type or the URL limit, not only when a post is saved. A bulk change drops them once.
- robots.txt: the physical robots.txt file that Rank Forge wrote is removed when the plugin is deactivated or deleted, only if it is still what Rank Forge wrote. The sitemap line is added unless your text already has the index line (a line for some other map no longer stands in for it), and the warning shown when robots.txt could not be written is printed again.
- Redirects: the automatic redirect made when a post’s address changes uses the old address as it was, and the full 404 log takes a new frequent address instead of ignoring it.
- Redirects: a target that a browser would read as another site is no longer saved or followed:
http:/other.example,http:other.example,//with no host,/\other.example, or an address with a tab or a line break inside. A target written as//other.example/pageis an address on another host, so it needs “Allow redirect to external domain”. Rules whose target ismailto:,tel:or another address that is not a web address no longer fire, and the Redirects list marks them. On a site in a sub-folder such as/blog, the address/blog-postis no longer taken for an address inside the folder. - SEO score: the “paragraph over 150 words” check follows one rule in the score and in the live figure in the editor, and the score stored for a post matches the editor’s. Inline tags no longer cut a paragraph in two, a block-level tag or a blank line ends one, as WordPress reads it, so classic-editor posts score like their HTML. A post with no words left once its shortcodes are taken out no longer gets a word count.
- Image SEO: alt text made from a file name drops the size, the suffixes WordPress adds and its counter, in any order; a short number counts as a counter only after a size or a suffix.
- Descriptions: the
{{excerpt}}variable, the automatic description and the descriptions in the JSON-LD markup take the post text without its shortcodes instead of printing them as literal text, and a post that is one shortcode pair from start to end gets no description tag. - The page
<title>is escaped the same way as the meta title tag (Yoast still gets the raw text). - Meta generation: when the AI was asked and did not answer, the stored SEO title and description stay as they were and the editor says so; the preview no longer offers a plain title as if the AI had written it.
- Schema: WooCommerce’s own BreadcrumbList is dropped where Rank Forge prints one, as its Product markup already was.
sameAsandopeningHoursof the Local Business markup are lists without empty items. - Schema Builder: text in a script other than Latin (Russian, Greek, Arabic, Hindi and so on) in the forms of FAQ, Product, HowTo and the other types was stored as a row of codes like
u041f…, and quotes and backslashes were lost. The data is now saved the way WordPress expects it. Entries saved before stay as they are: open the post, type the text in the form again and save to repair it. - Other SEO plugins: Rank Math’s description, robots, social tags and schema and Yoast’s robots and schema are taken off while Rank Forge is active, and WordPress’s own robots rules for search results and embeds stay in place when Rank Math clears them. AIOSEO is handled through its own filters, and the description it adds to a home page tagline is cut out of its block so the page keeps one description. SEOPress’s social tags are removed by name, only the ones Rank Forge prints itself (
fb:app_id,fb:admins,twitter:site,twitter:creator,og:localeandarticle:*stay). - Other SEO plugins: their search engine verification codes are kept, and the canonical of another plugin or of WordPress is removed only on a page where Rank Forge prints one, so an attachment keeps the canonical of WordPress, Lang Forge or Yoast.
- Import from another SEO plugin: when the import is not set to overwrite, it fills only empty fields and never clears noindex; the source’s title separator is carried over; a post that already has a title of ours is no longer skipped whole, the title stays and the empty fields are filled. AIOSEO’s tags are replaced in their real
#nameform, and the ones Rank Forge cannot fill are dropped with the text between them kept. - Sites that came from SEO Forge: a leftover
_seoforge_row no longer doubles a live_rankforge_field, and a one-time repair merges the rows that were doubled. It works through the posts in small windows under a lock and marks itself done only after a clean pass over all of them. - Deleting the plugin now also removes the term meta of categories and tags (noindex, nofollow, meta title and description), the Google Analytics property you chose and its label, the Search Console and Analytics connection flags, the Broken Links scan data and the flags of the rename repair. The robots.txt file Rank Forge wrote is removed too (only if it is still what Rank Forge wrote), also when the plugin is deleted while it is still active.
- Deactivating the plugin no longer leaves the hourly statistics event on the schedule, whether or not you agreed to usage statistics.
- New and reworded sentences are translated in all 15 languages.
1.2.10
- Needs Rank Forge Pro 1.2.5 or newer if you run the add-on, as before.
- Fixed: the title and description templates of categories, tags and custom taxonomies that were imported from Yoast SEO or Rank Math now apply to the archive of each term. Before, the archive ignored them and used the name and description of the term. A Meta Title or Meta Description typed on the term screen still comes first.
- Term archives keep their page number in the browser title. The new
{{page}}variable (“Page 2”, from page 2 on) can stand anywhere in a title template; a term archive title without it gets the separator and “Page N” at its end from page 2 on. The import turns the Yoast%%page%%and the Rank Math%page%into{{page}}. - The import converts the other variables that Rank Forge has an equivalent for (such as the site tagline), removes the rest together with the separator next to them and lists in its report only what it removed. A variable that Rank Forge does not know is no longer printed with its braces in a title or description, as long as its name is made of letters, digits,
_and-. The live preview in Title Templates does the same. - A post title or a term name that holds a variable such as
{{page}}or{{siteName}}is printed as typed, and a separator with spaces of its own no longer doubles them before “Page N”. - Fixed: the Fix button for “No internal links” no longer says “Fixed!” when no link was inserted; it says “No links were added.” and keeps the issue in the list.
- The Forge dashboard lists Cascade Forge and Inclusive Forge as available on wordpress.org. The plugin logo and icon use the new mark.
- The shared e-mail template carries a note for the wordpress.org code check; the e-mails it sends are unchanged.
- Two new sentences in all 15 translations; one sentence left the catalogue.
1.2.9
- Needs Rank Forge Pro 1.2.5 or newer if you run the add-on, as before.
- Fixed: when the Rank Forge Pro add-on is active but its licence does not cover Search Console, Performance and Content Decay told you to connect Google Search Console, which could not load any data. They now say that the licence is missing and link to the add-on’s licence page, whether or not Google is connected. This needs Rank Forge Pro 1.2.13 or newer.
- Content Decay: when no Search Console data has been loaded yet and none is waiting to load, the screen now says so and offers a “Load Search Console data now” button, instead of sending you to Performance. This needs Rank Forge Pro 1.2.13 or newer; with an older add-on the previous text stays.
1.2.8
- Needs Rank Forge Pro 1.2.5 or newer if you run the add-on, as before.
- Content Decay and Performance: when the Pro add-on does not load Search Console data on the site, the screen says so, gives the reason and links to the add-on’s licence page, instead of telling you to click a Refresh button that starts nothing. Performance hides its Refresh button then. The message needs Rank Forge Pro 1.2.13.
- Fixed: in the edition distributed through avakode.com, with debug logging on, wp-admin no longer writes “_load_textdomain_just_in_time was called incorrectly” notices for this plugin on every request.
- Fixed: on PHP 8.1 and later the plugin no longer writes “trim(): Passing null to parameter” deprecations to debug.log on every front-end request of a site installed at the root, or on a request for an address with no path (such as //).
- Fixed: deleting the plugin now also removes the end date and the saved Search Console comparison that A/B tests keep on posts (not when you chose to keep the data).
1.2.7
- Needs Rank Forge Pro 1.2.5 or newer if you run the add-on, as before.
- Product markup: a product’s brand now comes from its own brand (WooCommerce Brands, Perfect Brands for WooCommerce or YITH WooCommerce Brands), a “brand” product attribute, or the new Default brand field under Settings, Search Appearance. The name of your site is no longer printed as the brand, so a shop that has not set a brand now prints no brand property.
- Product markup: the GTIN set on the product in WooCommerce is printed as gtin8, gtin12, gtin13 or gtin14, by its length; a number of any other length is not printed.
- Product markup: new MPN field next to the SKU on the product’s Inventory tab (a product attribute named “mpn” works too), printed as mpn.
- Product markup: every offer with a price now says until when the price holds: the end of a running sale, otherwise 31 December of next year.
- Product markup: new Product Markup card under Settings, Search Appearance with shipping details (country, cost or free shipping, handling and delivery days). They are printed only when every field is filled in, and not for virtual or external products.
- Product markup: the same card holds the return policy (country, days, method, who pays for return shipping), printed only when every field is filled in, and not for virtual or external products.
- A/B test (Rank Forge Pro): the meta title, Open Graph title and Twitter title now come from one place, so a Variant B title can reach all of them. A title typed by hand for Open Graph or Twitter still wins.
- Content Decay: the empty-state text and button now send you to Performance, the screen that exists, instead of Rankings.
- Performance and Content Decay show when Search Console data is loading, why a load failed (with a Try again button), or that a property still has to be chosen.
- Hints about connecting Google open the screen that has the Connect Google button; the dashboard card appears only when the connection is available.
- Site Audit: WooCommerce products show their type in the list; the AI works out a product’s focus keyword from its name, short description and description.
- Site Audit: the AI never rewrites the description of a product; a fix that would write it says so and changes nothing. The AI can write a product’s meta title, meta description and focus keyword.
- Fixed: bulk fixes no longer strip backslashes from the content they save, and an applied meta title, description or focus keyword keeps its backslashes.
1.2.6
- Needs Rank Forge Pro 1.2.5 or newer if you run the add-on, as before.
- Video SEO: a Thumbnail URL or Description typed in the Video SEO box is no longer replaced by an automatic one when the Video URL field is empty and the post has a video in it. A field left empty still takes the automatic value.
- Redirects: saving a redirect with a type that is not supported now shows an error instead of storing a rule that visitors got as a 301. Rules saved earlier are not changed.
- Schema Builder: choosing a schema type (Event, Review, WebPage, VideoObject and so on) without filling in a form no longer replaces the automatic schema of the page with an empty type. A chosen Review, Event, VideoObject or Product now prints only when the post has what it needs (a rating from 1 to 5, a start date, a video address, a price), and a Review no longer gets a rating of 5 that nobody gave.
1.2.5
- Needs Rank Forge Pro 1.2.5 or newer if you run the add-on, as before.
- Auto-Link (Pro add-on): when no internal link could be added, the button no longer says “Linked!” and reloads the page; it shows why nothing was added and leaves the post as it was.
- Redirects: a rule of type 410 (Gone), for example one imported from SEOPress, now answers “410 Gone” with your theme’s 404 page. Before, the visitor saw a WordPress error page.
- Settings: saving the Settings screen no longer deletes settings that have no field on it, such as the switch that turns off the cleaning of image file names.
- Local SEO: the Veterinarian and Locksmith business types now use the real schema.org types (VeterinaryCare and Locksmith); the old names are not schema.org types, so search engines skipped them. A type saved earlier is carried over by itself.
- Local SEO: saving the form no longer drops the business image address that an import or code had set, so “image” stays in the markup.
- Content Brief (Pro add-on): the heading structure and the target word count of a brief now show on the screen, in new briefs and in saved ones.
- Video schema: embedUrl now belongs to the same video as contentUrl, not to another video on the page.
1.2.4
- Needs Rank Forge Pro 1.2.5 or newer if you run the add-on, as before.
- The AI buttons on the Local SEO and Schema screens, the Fix buttons in the SEO box and its “AI-Powered” mark show only while Rank Forge Pro reports its AI features running, so no button leads to “Pro add-on is not running”.
1.2.3
- Fix: the Dashboard screen shows its header and styles again.
- Deleting the plugin now cleans up on every site of a network, not only the main one. When it is the last Forge product on the site, everything the Forge plugins keep in common goes too; while another Forge product is still installed, that shared data stays for it.
1.2.2
- robots.txt: the physical /robots.txt file is now written only through WordPress’s own file API, and only where WordPress can write to the site root directly. On a host that would ask for FTP details nothing is written and no credentials are requested; the screen then says WordPress is not allowed to write there and what to do (delete the file over FTP or in the hosting control panel, and Rank Forge serves the robots.txt built from your settings).
- The Google Search Console card (Settings, Integrations) no longer carries a sentence about where the sign-in runs, and this package draws no sign-in button on it: with the Rank Forge Pro add-on active the card points to the add-on’s Analytics & Traffic screen, where Google is connected; without the add-on it names the add-on and links to its page, as before.
- Two admin messages (the status line of the AI features and the hint for a robots.txt that visitors get from somewhere else) and the code comments are reworded to say what happens for you. Nothing the plugin does has changed.
1.2.1
- When a shortcode in an FAQ answer or in a HowTo or Recipe step throws while Rank Forge builds the schema markup, the fragment still goes in with its shortcodes stripped, as before, and the new action
rankforge_schema_shortcode_failednow tells your site, with what was thrown, the post and the fragment. Nothing is written to a log by default: hook your own logging onto the action if you want to know. What a handler prints stays out of the page head, and an error it throws goes no further.
1.2.0
- The Dashboard’s first card runs the site-wide analysis on the card itself, with its progress, and then names your weakest post, its main issue and a link to its editor, instead of sending you to Settings. While only some of your posts have a score it shows “N of M analyzed” rather than “No urgent fixes”, and “Analyze the remaining” finishes an interrupted run without starting over.
- The site-wide analysis, from that card and from Settings Automation, now covers every type of post Rank Forge analyzes (pages, products and other public types, not only posts) and any number of them, instead of the first 100 posts. It no longer fails on a site in a sub-directory or with plain permalinks. Posts that cannot be analyzed are counted with a link to the first one, and failed requests get a “Try again” button.
- The Dashboard’s “posts without description” and “posts without keyword” counts cover the same post types as the analysis (products and other custom types included, not only posts and pages), and a post you cannot edit is listed without a link.
- The Dashboard cards “Add missing meta descriptions” and “Set focus keywords” open the posts they counted: the list of the post type with the most of them, with a line saying what is shown and a “Show all” link, and the other types that have such posts as links with their counts. The list stays narrowed when you search or filter it.
- “Most common issues” on the Dashboard counts each check once, in your language: the same check with other numbers in its text used to be several lines, and a site analyzed in two languages showed every check twice.
- The XML sitemap writes every
<lastmod>in UTC. On a site set to a time zone behind UTC the dates ran ahead of the real time, and search engines can ignore a date in the future. A post without a valid modified date has no<lastmod>. - The “AI Search Readiness” report that the Pro add-on runs from the post editor now lists its strengths and suggestions under the score (only the score showed until now), and shows them as plain text.
- The automatic FAQ markup and the HowTo and Recipe steps now contain what the page shows: shortcodes in a question, answer or step are rendered before the tags are removed, and words in separate blocks no longer run together. The answer to the last question now has an end: it stops at a form, aside, navigation or footer and keeps its first 150 words. A shortcode that throws or prints can no longer break the page head. The
rankforge_schema_render_shortcodesfilter turns the rendering off. - The Indexing tab of the Analytics section no longer opens “Sorry, you are not allowed to access this page.” when the Pro add-on is active without a licence; the screen that names the add-on is shown instead.
- New filter
rankforge_canonical_url: another plugin can change a post’s custom canonical URL, or withdraw it by returning an empty string, in which case Rank Forge prints no canonical tag for that post.
1.1.13
- Deleting the plugin leaves the job queue the Forge plugins share in place while another Forge plugin or add-on is still on the site. The check used to miss add-ons, and Rank Forge installed from wordpress.org, so the queue could be dropped while a neighbour still had jobs in it.
- The readme no longer says the XML sitemap is hreflang-aware when Lang Forge is active: the sitemap lists no language alternates, with or without Lang Forge.
1.1.12
- This release needs Rank Forge Pro 1.2.5 or newer if you run the add-on. The licence screen, the upgrade prompt and the upgrade banner moved into the separate Rank Forge Pro add-on; this plugin only notes which features the add-on provides, with a link to its product page. An older add-on stays switched off until it is updated, and an admin notice names both versions. Nothing already saved is changed.
- The post editor shows no AI buttons unless the add-on runs them — no locked “AI” buttons and no upsell dialog. One line under the SEO title and description says where the AI suggestions come from.
- Settings no longer link to an upgrade: the AI, auto internal linking and Google Search Console sections say that they come with the add-on.
- The screens the add-on provides (Google Search Console, Site Audit, Content Brief) name it, with a link, instead of showing a locked page.
1.1.11
- The PRO badge in the menu and in the section tabs marks a screen the Rank Forge Pro add-on provides and this site does not have. It follows whether the add-on is installed, not the licence.
- The screens the add-on provides check for it themselves before they open, not only through the menu entry that leads to them. No visible change.
- The wordpress.org package no longer loads bundled translation files it does not carry: its translations arrive as language packs, which WordPress loads by itself.
1.1.10
- No change in this package: the release updated parts that ship only in the edition distributed through avakode.com.
1.1.9
- Screens that need the paid add-on now check that its code is actually installed instead of trusting the licence. On a site whose licence is live but whose add-on is inactive or older than this release, the Search Engine Submission panel, the AI actions in the editor, the content optimiser and the automatic internal links could end a request with a fatal error; they now fall back to what this plugin does on its own.
- The price badge on AI buttons is drawn only where the credits widget exists, so the button itself no longer depends on it.
- Deleting the last Forge product on a site now clears the job queue the Forge plugins share — its table, its two scheduled events and its version marker. While any other Forge product is still installed, deleting this one leaves the queue exactly as it is, because the pending jobs in those rows are that product’s too.
- A Rank Forge Pro add-on older than 1.2.0 is switched off instead of left running on an entitlement this version can no longer check, and an admin notice names the version you have, the version you need and what is unavailable until you update. Nothing already published is rewritten and your settings are kept.
1.1.8
- No change in this package: the release updated parts that ship only in the edition distributed through avakode.com.
1.1.7
- No change in this package: the release updated parts that ship only in the edition distributed through avakode.com.
1.1.6
- Smaller package and one less admin surface: the SDK’s own menu, opt-in screen and promotional notices are gone.
1.1.5
- No change in this package: the release updated parts that ship only in the edition distributed through avakode.com.
1.1.4
- No change in this package: the release updated parts that ship only in the edition distributed through avakode.com.
1.1.3
- 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.
- 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.
1.1.2
- 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.
- 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.
- The bulk AI-fix endpoint no longer raises the PHP memory limit — its capped, sequential work never needed the headroom.
- Removed an unused helper that assigned window globals.
1.1.1
- 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.
- 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 — 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’ => false to the settings to turn it off.
- 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.
- Publishing robots.txt no longer empties the whole LiteSpeed cache; only the robots.txt URL is purged.
1.1.0
- The plugin is now called Rank Forge. Nothing about what it does has changed; the name did.
- 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.
- Scheduled jobs left under the old names are unscheduled, and the old cached values are dropped so they regenerate under the new ones.
1.0.40
- 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” — 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.
- 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 …
