Title: TamRank SEO
Author: tamrank
Published: <strong>14. August 2026.</strong>
Last modified: 14. August 2026.

---

Search plugins

![](https://ps.w.org/tamrank/assets/banner-772x250.png?rev=3647074)

![](https://ps.w.org/tamrank/assets/icon-256x256.png?rev=3647074)

# TamRank SEO

 By [tamrank](https://profiles.wordpress.org/tamrank/)

[Download](https://downloads.wordpress.org/plugin/tamrank.1.3.6.zip)

 * [Details](https://me.wordpress.org/plugins/tamrank/#description)
 * [Reviews](https://me.wordpress.org/plugins/tamrank/#reviews)
 *  [Installation](https://me.wordpress.org/plugins/tamrank/#installation)
 * [Development](https://me.wordpress.org/plugins/tamrank/#developers)

 [Support](https://wordpress.org/support/plugin/tamrank/)

## Description

TamRank is a WordPress SEO plugin that doesn’t just tell you what’s wrong, it shows
you exactly what to fix. It brings the essentials together in one clean, uncluttered
interface: meta titles and descriptions, social (Open Graph) previews, an XML sitemap,
schema markup, redirects, 404 monitoring, your Search Console numbers and a continuous
SEO audit with clear scoring.

Every screen stays clean and uncluttered: clear scores and plain-language steps 
on what to improve next, instead of traffic-light dots that read like a report card.
It is calm, practical guidance that helps you improve your search rankings without
turning SEO into a second job. If you have outgrown a heavier SEO plugin, TamRank
is a clean, lightweight alternative to Yoast SEO and Rank Math.

Switching over? The built-in migration wizard imports your existing Yoast SEO and
Rank Math metadata, so you keep your titles, descriptions and settings.

**Core features (free):**

 * Meta title, description and canonical management per post, page and taxonomy 
   term
 * A focus keyword plus up to four secondary keywords per page, with live scoring
   as you write
 * Google Search Console connection: clicks, impressions and average position in
   your WordPress dashboard (last 7 and 28 days)
 * Social (Open Graph) title, description and image
 * XML sitemap with configurable content types
 * Robots.txt editor
 * Schema markup builder with 14 types, reusable templates and custom JSON-LD
 * SEO audit overview with scoring and filter pills
 * 404 monitor and redirect manager
 * Migration wizard for Yoast SEO and Rank Math data
 * Automatic indexing requests on publish and a manual „Request indexing“ action
   per post
 * Automatic WebP conversion with picture-tag output, and a bulk run for your existing
   media library
 * Static llms.txt output, so AI crawlers get a structured summary of your site
 * Built-in .htaccess editor with a backup before every write and an automatic restore
   if the site stops responding

**PRO features:**

 * AI meta generator — titles, descriptions and alt text via a hosted AI endpoint
 * Topical authority clustering and internal linking suggestions
 * SEO audit per-post detail panels — full per-page breakdown with recommendations
 * SEO change tracker — every edit logged with score impact
 * Priority engine, slug synonyms, redirect chain detection
 * Index status column and daily bulk index-status scanning
 * Google PageSpeed Insights integration

TamRank PRO is a separate add-on, not bundled in this free plugin. After purchase
you receive the PRO add-on by email and install it like any other plugin; it then
unlocks the features listed above. The free plugin is fully functional on its own
and never installs or downloads the add-on for you.

### External services

TamRank communicates with `api.tamrank.com` (operated by TamRank) for the following
purposes. All calls are HTTPS-only.

 * **Setup tips opt-in (optional, requires consent).** When you check „Yes, send
   the tips“ on the wizard success screen, the plugin sends your site’s admin email,
   the chosen UI language, your site URL, the plugin version and an anonymous onboarding-
   variant marker (used only to pick which tips series to send) to `https://api.
   tamrank.com/v1/sites/email-optin`. This enrolls you in a short series of educational
   emails about TamRank features. Unsubscribing from any email removes you from 
   the list. No tracking pixels, no marketing blasts. Without consent this call 
   is never made.
 * **Site registration (on explicit action — not on activation).** Activating the
   plugin does _not_ contact any server. The first time you click „Connect with 
   Google“ to link Google Search Console, the plugin requests a free API key from`
   https://api.tamrank.com`. To prove you control the domain before any key is issued,
   the plugin runs a short ownership handshake: it asks the TamRank server for a
   one-time token, briefly publishes that token at `https://your-site/.well-known/
   tamrank-challenge.txt`, and the TamRank server fetches it back to confirm the
   match. That token is single-use and short-lived, it is _not_ the API key, and
   the path returns 404 when no handshake is in progress. Only your site domain,
   site URL and plugin version are sent. The API key is requested once, cached, 
   and is required for TamRank’s hosted SEO services (Google Search Console integration,
   schema validation).
 * **Google Search Console data (proxied through TamRank).** When you connect Google
   Search Console, the OAuth authorisation and every subsequent Search Console request—
   impressions, clicks, average position and per-page index status — are routed 
   through `https://api.tamrank.com/v1/search-console/...`, not called against Google
   directly. TamRank performs the OAuth token exchange on your behalf and returns
   the data, which is then cached in your WordPress database. Nothing is sent until
   you explicitly click „Connect with Google“.
 * **Automatic indexing / „Request indexing“ (optional, off by default).** When 
   automatic indexing is enabled (it is off by default) or you click „Request indexing“
   on a post, the post’s URL — not its content — is sent to `https://api.tamrank.
   com/v1/search-console/index-url` (and its status checked via `.../index-status`)
   so the page can be submitted to search engines. This requires a connected Search
   Console property and never runs without one.
 * **License activation (PRO add-on only).** The separately-installed TamRank PRO
   add-on sends its license key together with your site’s API key to `https://api.
   tamrank.com/v1/sites/upgrade` to verify and activate the license. The free plugin
   has no license-key field and never makes this call; it is listed here only for
   completeness.
 * **AI features (PRO add-on only).** Provided by the separate PRO add-on: AI meta
   generation, alt-text generation, internal-link suggestions and topical-authority
   analysis send the relevant post content to `https://api.tamrank.com/v1/...` endpoints.
   These features are off by default and only fire on user action. The free plugin
   sends no content to these endpoints.

In addition, the separate TamRank PRO add-on uses one third-party Google service
directly:

 * **Google PageSpeed Insights (PRO add-on only).** PageSpeed testing is a PRO feature.
   When you run a PageSpeed test in the PRO add-on, the URL of the page being tested
   is sent (using your own Google API key) to Google’s PageSpeed Insights API (`
   https://www.googleapis.com/pagespeedonline/v5/runPagespeed`) and the resulting
   performance metrics are returned. This only happens on your explicit action. 
   The free plugin does not make this call. Google’s terms: https://developers.google.
   com/speed/docs/insights/v5/about — Google privacy policy: https://policies.google.
   com/privacy.

The TamRank service is operated by TamRank (Netherlands). Privacy policy: https://
tamrank.com/privacy-policy/ — Terms of service: https://tamrank.com/terms-of-service/.
Contact: info@tamrank.com.

### Third-party libraries

This plugin bundles the following minified third-party libraries. Their unminified
source is available at the locations below:

 * **ApexCharts** v4.7.0 (MIT) — https://github.com/apexcharts/apexcharts.js
 * **D3.js** v7.9.0 (ISC) — https://github.com/d3/d3
 * **Plus Jakarta Sans** font (SIL Open Font License 1.1) — https://github.com/tokotype/
   PlusJakartaSans

## Screenshots

[⌊Dashboard — overall SEO score, Search Console clicks, impressions and position,
and your prioritised SEO task list.⌉⌊Dashboard — overall SEO score, Search Console
clicks, impressions and position, and your prioritised SEO task list.⌉[

Dashboard — overall SEO score, Search Console clicks, impressions and position, 
and your prioritised SEO task list.

[⌊SEO audit — site-wide score with an Excellent / Good / Needs-attention breakdown
and the most common issues across your pages.⌉⌊SEO audit — site-wide score with 
an Excellent / Good / Needs-attention breakdown and the most common issues across
your pages.⌉[

SEO audit — site-wide score with an Excellent / Good / Needs-attention breakdown
and the most common issues across your pages.

[⌊Post editor meta box (SEO tab) — focus keyword, meta title and description with
a live optimization score and improvement checklist.⌉⌊Post editor meta box (SEO 
tab) — focus keyword, meta title and description with a live optimization score 
and improvement checklist.⌉[

Post editor meta box (SEO tab) — focus keyword, meta title and description with 
a live optimization score and improvement checklist.

[⌊Post editor meta box (Content tab) — image alt-text and WebP status plus internal
and external link analysis.⌉⌊Post editor meta box (Content tab) — image alt-text
and WebP status plus internal and external link analysis.⌉[

Post editor meta box (Content tab) — image alt-text and WebP status plus internal
and external link analysis.

[⌊Schema markup builder — automatic structured-data coverage with reusable templates
and a live per-page overview.⌉⌊Schema markup builder — automatic structured-data
coverage with reusable templates and a live per-page overview.⌉[

Schema markup builder — automatic structured-data coverage with reusable templates
and a live per-page overview.

[⌊Redirect manager — 301/302 redirects with automatic chain detection and one-click
creation from the 404 monitor.⌉⌊Redirect manager — 301/302 redirects with automatic
chain detection and one-click creation from the 404 monitor.⌉[

Redirect manager — 301/302 redirects with automatic chain detection and one-click
creation from the 404 monitor.

[⌊Settings — enable or disable individual features, with sitemap, robots.txt and
technical SEO options.⌉⌊Settings — enable or disable individual features, with sitemap,
robots.txt and technical SEO options.⌉[

Settings — enable or disable individual features, with sitemap, robots.txt and technical
SEO options.

[⌊Migration wizard — import your existing Yoast SEO or Rank Math metadata in one
guided run, with a preview of what will be imported. Your old plugin's data is left
untouched.⌉⌊Migration wizard — import your existing Yoast SEO or Rank Math metadata
in one guided run, with a preview of what will be imported. Your old plugin's data
is left untouched.⌉[

Migration wizard — import your existing Yoast SEO or Rank Math metadata in one guided
run, with a preview of what will be imported. Your old plugin’s data is left untouched.

[⌊Social preview — see how a post looks on Facebook, X, LinkedIn and Instagram before
you publish, straight from the post editor.⌉⌊Social preview — see how a post looks
on Facebook, X, LinkedIn and Instagram before you publish, straight from the post
editor.⌉[

Social preview — see how a post looks on Facebook, X, LinkedIn and Instagram before
you publish, straight from the post editor.

[⌊Redirect manager — 301, 302, 307 and 410 rules in one list, with CSV import and
export, hit counts per redirect, and suggested targets from your 404 log.⌉⌊Redirect
manager — 301, 302, 307 and 410 rules in one list, with CSV import and export, hit
counts per redirect, and suggested targets from your 404 log.⌉[

Redirect manager — 301, 302, 307 and 410 rules in one list, with CSV import and 
export, hit counts per redirect, and suggested targets from your 404 log.

## Installation

 1. Upload the `tam-rank` folder to `/wp-content/plugins/` or install through the WordPress
    admin.
 2. Activate the plugin via the **Plugins** screen.
 3. Open **Tam Rank  Settings** to run the onboarding wizard.
 4. That’s it — the free plugin is fully functional. PRO features come from a separate
    TamRank PRO add-on (installed like any other plugin); **Settings  License** explains
    what the free version includes and how to add PRO.

## FAQ

### Does TamRank work alongside Yoast SEO or Rank Math?

Yes for migration purposes. The onboarding wizard imports your existing SEO data
from Yoast or Rank Math. Running both active is not recommended as they will duplicate
meta output.

### Is a PRO license required?

No. The full meta management, sitemap, schema builder, audit, 404 monitor and redirect
features work for free. The separate TamRank PRO add-on adds the AI tools, topical
authority, change tracker and priority engine.

### How is my data stored?

All SEO data is stored in standard WordPress post meta and options. Custom tables
are used for redirects (the PRO add-on adds its own tables for change logs, topical
maps and slug synonyms). At uninstall you can optionally drop these tables via the**
Privacy & Data** toggle.

### Is TamRank a free alternative to Yoast SEO?

Yes. Meta management, the XML sitemap, the schema builder, the SEO audit, the 404
monitor, redirects, WebP conversion, llms.txt and the .htaccess editor all work 
in the free plugin. You get a focus keyword plus four secondary keywords per page,
where Yoast SEO free gives you one. The separate TamRank PRO add-on adds the AI 
tools and the topical authority map; you never need it to run TamRank.

### How do I migrate from Yoast SEO to TamRank?

Install TamRank and open the onboarding wizard. It detects Yoast SEO (and Rank Math),
tells you how many items it found and imports your titles, descriptions and settings.
Your existing plugin’s data is left untouched, so you can deactivate it once you
are satisfied and go back if you are not.

### Does TamRank support llms.txt?

Yes, in the free plugin. TamRank can publish a static llms.txt so AI crawlers get
a structured summary of your site instead of guessing from your HTML.

### Where can I report a bug or ask a question?

Use the support forum on this page. That is the fastest route, and the answer stays
visible for anyone with the same question. For account or billing questions, use
https://tamrank.com/contact/.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“TamRank SEO” is open source software. The following people have contributed to 
this plugin.

Contributors

 *   [ tamrank ](https://profiles.wordpress.org/tamrank/)

[Translate “TamRank SEO” into your language.](https://translate.wordpress.org/projects/wp-plugins/tamrank)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/tamrank/), check out
the [SVN repository](https://plugins.svn.wordpress.org/tamrank/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/tamrank/) by [RSS](https://plugins.trac.wordpress.org/log/tamrank/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.6

 * New: built-in .htaccess editor with backup before every write, a sandbox parse-
   test before saving and a fail-safe self-check after saving that restores the 
   previous version unless the site verifiably still responds (Apache/LiteSpeed 
   only; read-only on nginx). Respects DISALLOW_FILE_EDIT/DISALLOW_FILE_MODS and
   is super-admin-only on multisite.
 * Changed: the content score is now a weighted average per category instead of 
   a flat sum of sub-checks, so the category label is the single source of truth
   and the maximum is a real 100. Keyword checks no longer pass for free when no
   focus keyword is set; they are marked not applicable and the remaining categories
   are renormalised. Existing pages can shift a few points.
 * Fixed: hardcoded credit total in the API client and license manager, an IndexNow
   label on a Search Console submission, a dead rollback deep link in the migration
   banner and an AJAX endpoint without a caller.
 * Fixed: FAQ schema now recognises class-based accordions and no longer picks up
   a call-to-action heading as a question.
 * UI: refined tooltip system, empty-state pass (icon + guidance + one clear action)
   and motion/feedback polish across the admin.
 * Hardening: security and schema should-fixes from the wp.org pre-submission audit.

#### 1.3.5

 * Compliance: moved the last add-on-only feature code out of the free plugin. The
   redirect-chain detector and the change-history timeline (post meta box + dashboard)
   now live entirely in the TamRank PRO add-on and render through neutral extension
   hooks. The free plugin ships no gated or locked add-on functionality.
 * Internal: added redirect and meta-box extension hooks (tamrank_redirect_presave,
   tamrank_redirect_saved, tamrank_meta_change_history, tamrank_dashboard_changes_panel
   and the redirects-table seams); removed dead AI-linking strings and chain helper
   code.

#### 1.3.4

 * Compliance: the free plugin now contains only the free feature set — all add-
   on-only implementation (code, assets and extension scaffolding) lives entirely
   in the separate TamRank PRO add-on.
 * Internal: renamed internal extension hooks to generic names, and removed an unused
   database table and dead helper code.

#### 1.3.3

 * Branding: the „Pro“ badge in the admin footer now only appears when the PRO add-
   on is active.
 * Cleanup: the free plugin no longer creates the Topical Authority and Change Tracker
   database tables — those are PRO-only features, and the PRO add-on now provisions
   its own tables.
 * Hardening: the Topical Authority graph tooltip renders node labels as plain text,
   and the Search Console date-range whitelist is derived from the same list that
   builds the dropdown.
 * Housekeeping: corrected the SEO Audit feature-tier label, restored the NL/DE/
   FR labels for 307/410 redirect types, and removed unused index-status API helpers.

#### 1.3.2

 * 404 Monitor: lists broken URLs with hit count and date, plus one-click redirect
   creation and CSV export.
 * Settings: hardened how settings are stored so each settings group only saves 
   its own known fields. Fixed the LLMS.txt „generation mode“ option that could 
   silently reset to Automatic when Manual or AI was selected.
 * Privacy: the 404 log no longer stores visitor IP addresses or user-agents (they
   were never shown anywhere); it now keeps only the broken URL and the timestamp.
 * Hardening: schema detection can no longer be triggered by anonymous front-end
   requests, custom JSON-LD is validated before it is saved, and a redundant unauthenticated
   write in the Search Console callback was removed.

#### 1.3.1

 * SEO Audit: the „Most Common Issues“ summary now counts the same pages as the 
   audit table. Pages excluded from the audit (set to noindex, or manually excluded)
   were being reported as missing a meta title, description or focus keyword even
   though they were hidden from the list below. The dashboard SEO counters, improvement
   tasks and task lists now apply the same exclusions, so every count and list on
   the audit and dashboard screens is consistent.
 * SEO Audit: fixed the audit summary sometimes staying stuck on old numbers after
   you fixed pages and re-ran the scan. The „Most Common Issues“ panel now reflects
   the live state on every page load, and the cached audit totals are written reliably
   on all database configurations (previously the cached summary could fail to update
   on databases that do not use the utf8mb4 character set).

#### 1.3.0

 * 404 monitor: the 404 log is now cleaned up automatically. Entries that have not
   been visited for 90 days are removed, and a hard cap (5,000 rows) prevents the
   table from growing without bound on sites with heavy bot traffic. URLs that are
   still being hit keep a fresh timestamp and stay in the list, so only „dead“ 404s
   age out. The 404 Monitor screen states the retention window; both the window 
   and the cap are filterable (`tamrank_404_retention_days`, `tamrank_404_max_rows`).
 * Maintenance: corrected the scheduled-event cleanup on uninstall so all current
   cron events (including the indexing and notification events) are removed cleanly.
   Audit statistics options are no longer autoloaded on every request. Minor internal
   consolidation of how the API key is read. No changes to stored data and no database
   migration.

#### 1.2.8

 * Schema: extra schema types suggested for a page (such as HowTo and FAQ) are now
   only shown as active when they can actually be generated from the page content,
   so the badges in the editor always match the JSON-LD output. Previously a „HowTo“
   badge could appear for a „how to“ titled page that had no step content.

#### 1.2.7

 * Content analysis: pages whose content is spread across multiple top-level sections(
   custom themes, full-site-editing/block themes, page builders like Divi) are now
   read in full instead of only the first section — headings, internal links and
   images are all detected correctly. Standard single-container themes are unchanged.
 * Content analysis: fixed Elementor pages being under-read because the `elementor-
   widget` wrapper was mistaken for a sidebar widget and stripped.

#### 1.2.6

 * Editor: the floating „View full analysis“ button now works from the block editor’s
   code view — it switches back to the visual editor first, so the SEO meta box 
   is actually visible instead of scrolling to a collapsed, empty area.

#### 1.2.5

 * Privacy: the admin font is now fully self-hosted — removed the remote Google 
   Fonts request (the font was already bundled locally, so there is no visual change).
 * Privacy: expanded the „External services“ disclosure — Google Search Console 
   traffic is proxied through TamRank’s API, and the automatic-indexing endpoint
   is now documented.
 * Public output: removed the tamrank.com link from the XML sitemap comment and 
   the llms.txt footer.
 * Admin: the WebP „not supported“ notice is now dismissible and only appears on
   TamRank’s own screens instead of every admin page.
 * i18n: normalized all admin and REST strings to English source text with NL/DE/
   FR translations (including correct singular/plural handling), so the interface
   no longer shows stray Dutch on English, German or French sites.
 * Housekeeping: normalized the license header to „GPLv2 or later“ and resolved 
   Plugin Check code-quality notices.

#### 1.2.4

 * UI: the confirm dialog’s primary button now uses the brand green instead of dark
   navy, matching the rest of the plugin (destructive confirmations stay red).
 * UI: the Test-a-URL field on the Schema page no longer shows a dark border — it
   uses the light plugin border like other inputs (WordPress’ default input border
   was overriding it).

#### 1.2.3

 * Dashboard: the SEO-score gauge now uses the same colour scale as the rest of 
   the plugin — a score of 60-79 shows teal („Good“) instead of amber, matching 
   the SEO Audit page and the per-category badges.

#### 1.2.2

 * Schema: FAQ pages now actually output FAQPage JSON-LD (the question/answer pairs),
   not just the detection badge. The builder reads HTML5 `<details>`/`<summary>`
   accordions and definition lists, and now fetches rendered content on block/custom
   themes so FAQs rendered by the theme template are picked up.
 * Schema: fixed the colour of the extra-schema badges in the post editor — they
   used an off-brand blue and now use the consistent brand green.
 * Editor: fixed cache-busting for the schema editor script — it was pinned to a
   stale version, so browsers kept serving an outdated cached copy after plugin 
   updates.

#### 1.2.1

 * Schema: automatic FAQ detection now recognises accordion-style FAQ pages — HTML5`
   <details>`/`<summary>`, definition lists (`<dt>`) and `FAQPage` microdata — so
   an FAQ page no longer falls back to a plain WebPage. Works across themes, including
   custom and block themes.
 * Schema: the page-content analyser used for detection now falls back to a cleaned`
   <body>` extraction when a theme uses its own content-container class names, so
   detection reaches content that standard selectors miss.

#### 1.2.0

 * Architecture: separated PRO features into a dedicated add-on, leaving the free
   plugin leaner and self-contained. The free plugin runs fully on its own; PRO 
   features activate automatically when the add-on is installed.
 * Security: hardened structured-data (JSON-LD) output so values can never break
   out of the script tag — `<`, `>` and `&` are now escaped in all schema output.
 * Security: added defence-in-depth hardening to the 404 CSV export (spreadsheet
   formula-injection), the Search Console connect callback and schema template storage.
 * Cleanup: removed leftover debug logging from the meta box.

#### 1.1.28

 * Scoring: the SEO score on the dashboard, the audit page and the per-post meta
   box now read from a single stored source (`_tam_rank_audit_score`), so they can
   no longer disagree. The total is 30% meta + 70% content (or 100% meta when no
   content score exists), with the same noindex/excluded-post filtering applied 
   everywhere.
 * Dashboard: the headline statistics no longer lag behind — recalculating stats
   now clears the cached dashboard data immediately.
 * Dashboard: schema coverage now credits auto-detected post types, so custom post
   types and template-less sites are no longer scored at 0% coverage.
 * Dashboard: schema scoring is now entity-type aware — in Custom mode it scores
   your custom JSON-LD instead of incorrectly deducting points for „missing“ structured
   fields.
 * SEO audit: fixed the scan progress bar getting stuck on „0 / 0“ after an interrupted
   scan left a stale lock behind. A heartbeat now detects and clears dead scan locks
   automatically.
 * SEO audit: fixed the CSV export and the „Generate report“ button both failing
   with a „Network error“.
 * SEO report: rebuilt the HTML report with a cleaner, print- and PDF-ready design—
   dark cover page, executive summary with an overall score and three dimension 
   bars, numbered sections, a score-distribution bar, prioritised findings and a„
   pages with the most room to improve“ table. A „Print / Save as PDF“ button and
   the report date are included. Brought fully onto the current TamRank brand (Plus
   Jakarta Sans, brand green, status palette).
 * SEO audit: redesigned the exclusion panel — compact taxonomy grid, clearer sections,
   deduplicated taxonomy labels by post type, branded green-filled checkboxes and
   a Cancel button in the footer.
 * Dashboard: priority badges no longer show a stray grey pill background on Medium/
   Low.
 * License: retired the standalone license page in favour of a License tab in Settings
   that explains what the free version includes and how PRO works. Upgrade calls-
   to-action open tamrank.com.
 * i18n: translated the SEO audit header strings (average score, most common issues,
   score labels) and the new report strings into NL/DE/FR.
 * Compatibility: tested up to WordPress 7.0.
 * Fix: resolved a PHP 8 `strip_tags(null)` deprecation notice on hidden admin sub-
   pages (onboarding and license).

#### 1.1.27

 * Topical Authority: Content Plan rows are now clickable — clicking any topic opens
   a new WordPress post draft with the topic pre-filled as the title (`post-new.
   php?post_type=post&post_title=…`). On hover, a brand-green chevron slides in 
   from the right to signal the row is actionable. Works in both Content Plan (blueprint)
   and Gaps mode.
 * Topical Authority: fixed a JS-render regression where re-running an analysis 
   lost the blueprint-mode styling — gap chips now correctly switch between „Start
   hier / Fase 2 / Fase 3“ (blueprint, primary/info/slate dots) and „High / Medium/
   Low“ (analysis, error/warning/primary dots), matching the PHP-rendered output.
 * Meta: consolidated duplicate focus-keyword storage. `_tamrank_focus_keyword` (
   legacy, written by the keywords class) and `_tam_rank_focus_keyword` (canonical,
   read by 37+ other classes) could diverge so that the dashboard and audit score
   showed stale data while the content analyzer and REST endpoint saw fresh data.
   Database schema bumped to 1.5.0 with a one-shot migration that merges legacy 
   values into canonical and removes the legacy rows.
 * Uninstall: opt-in „Delete all data“ now also cleans up `wp_usermeta` rows with`
   tam_rank_*` / `tamrank_*` prefix (e.g. the per-admin 404-monitor last-seen timestamp).
   Previously these survived a full-data uninstall.
 * i18n: new `start_writing_topic` key in NL/DE/FR for the Topical Authority click
   aria-label.
 * Indexing: when the connected Google Search Console property doesn’t match the
   current site, TamRank now shows a clear branded warning banner above the post
   list and stops trying to fetch index status (which would silently fail for the
   wrong property). The Index column shows a plain „—“ with an explanatory tooltip
   instead of endless skeletons or per-row errors, and any stale in-progress index
   batch is cleared automatically.
 * Indexing: auto-indexing on publish/update, the cron callback, and the per-row„
   Request indexing“ button are all now blocked when the GSC property mismatches,
   so no Search Console API calls are wasted and the manual button returns a clear
   message.
 * i18n: new `idx_mismatch_no_data` key and rephrased `idx_wrong_property_desc` 
   in NL/DE/FR for the mismatch banner and tooltip copy.

#### 1.1.26

 * Topical Authority: page-selection list now exposes the full site instead of silently
   capping at 150 — users with 300+ posts can see and curate older content. Selection
   cap stays at 150, communicated up-front via an always-visible info banner and
   an „X / 150“ counter (was „X / site-total“). When over cap, the counter turns
   amber, credits estimate dims, and the start-button disables.
 * Topical Authority: new type-filter pill-group above the list (auto-hidden when
   the site has only one post type). Single-select, per-type counts, select-all /
   deselect-all are filter-aware so they only affect visible items.
 * Topical Authority: visual polish — custom green-filled checkboxes (matches the
   onboarding wizard, bypasses WP-admin’s blue accent-color skin), list titles in
   slate instead of bright primary-green, type badges sit inline next to titles 
   instead of floating to the far-right edge, compacter row height shows ~30% more
   items per viewport, secondary „Select all / Deselect all“ links muted by default
   with green only on hover.
 * Topical Authority: deduplicated the credits display (was shown twice, both next
   to the counter and next to the start-button). Single credits indicator now lives
   next to the start-button as a checkout-style summary, with an info-tooltip explaining
   the higher credit cost: this feature uses a heavier AI model for the more complex
   task.
 * i18n: `audit-page.php` no longer falls back to English „380 of 380 total“ when
   the plugin language is NL/DE/FR — consolidated onto the existing translated key.
 * i18n: WP core’s `human_time_diff()` calls (e.g. „2 months ago“ in the audit-page
   scan banner) now respect the TamRank plugin language via a new `tamrank_human_time_diff()`
   wrapper, instead of the WP locale which may diverge.
 * Design system: migrated 24 remaining native `title=""` attributes across 8 files
   to the canonical `data-tr-tooltip` component for consistent dark-slate tooltips
   with ESC dismissal and keyboard support. Three hardcoded English strings near
   the sweep („Accept“, „Skip“, „Confidence:“) routed through the i18n catalogue.
 * i18n: 6 new keys in NL/DE/FR (`dismiss`, `confidence_label`, `max_pages_notice_title`,`
   max_pages_notice_desc`, `filter_all`, `credits_higher_explanation`).

#### 1.1.25

 * Onboarding: render the admin email in the consent label in TamRank green so it
   visually echoes the green checkbox.

#### 1.1.24

 * Onboarding polish: custom green checkbox in the opt-in row (replaces the browser-
   default blue accent that WP-admin and Safari both refused to skin via `accent-
   color`). Email address in the consent label now stays in brand-slate instead 
   of inheriting WP-admin’s blue `<strong>` colour. Persona divider switched from
   dashed to a hairline solid line for a cleaner break.

#### 1.1.23

 * Onboarding: redesigned the email-tips opt-in card with a calmer slate + green
   palette (away from the bright amber), added an „Optional“ chip and a progressive
   persona-detection step that reveals 4 radio cards only after the user opts in.
   Persona track (A/B/C/D) is forwarded to the email backend so subsequent setup-
   tip emails can be tailored. Disclaimer rewritten to be more honest: „5 emails
   over 14 days, then silence. One-click unsubscribe in every email.“

#### 1.1.22

 * Onboarding: actually hide the step progress bar on the final „Done“ screen — 
   the 1.1.21 fix set `hidden=true` but the `display:flex` rule on the stepper overrode
   the UA `[hidden]{display:none}` due to source-order. Added a scoped `.tamrank-
   wizard__stepper[hidden]` CSS rule that wins.

#### 1.1.21

 * Onboarding: hide the step progress bar on the final „Done“ screen so the success
   content (and the Go-to-Dashboard button) sits above the fold on smaller screens.

#### 1.1.20

 * Onboarding: optional email-tips opt-in on the wizard success screen. Default-
   unchecked checkbox sends an explicit consent signal; opt-in is stored locally
   and synced to api.tamrank.com once available. No emails are sent without active
   consent. See the new „External services“ section for full disclosure.

#### 1.1.19

 * Fix: `og:type` meta tag now respects post type — only blog posts get `article`,
   pages and the homepage get `website`. Brings the OG output in line with the JSON-
   LD `@type:"WebPage"` schema.

#### 1.1.13

 * Safety: uninstall now preserves user data by default — license key, settings,
   audit scores, focus keywords, schema configs and custom tables are kept unless
   the „Delete all data on uninstall“ toggle is explicitly enabled. Previously, 
   options and post meta were always wiped on plugin delete; only custom tables 
   were opt-in.
 * Safety: add `tam_rank_404_log` to the opt-in DROP list so the cleanup is consistent
   across all custom tables.

#### 1.1.11

 * Security: add uninstall.php with opt-in full data cleanup (wp.org / GDPR compliance).
 * Security: harden API key storage — password input, autoload=no, consistent masking.
 * Security: apply rate limiter to AJAX AI endpoints (5 buckets, per-user).
 * Security: defensive output escaping in schema UI.
 * Performance: request-scope option cache for hot settings.
 * i18n: generate languages/tam-rank.pot.
 * UX: merge SEO Data Migration and Setup Wizard cards; move Privacy & Data toggle
   to Import/Export tab.
 * Compliance: remove invalid `Network: false` plugin header field.

#### 1.1.10

 * Onboarding wizard polish: stepper labels, warmer copy, branded welcome icon, 
   empty-state fallback.

#### Earlier versions

See the changelog entries above for the release history.

## Meta

 *  Version **1.3.6**
 *  Last updated **2 dana ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/tamrank/)
 * Tags
 * [meta tags](https://me.wordpress.org/plugins/tags/meta-tags/)[redirects](https://me.wordpress.org/plugins/tags/redirects/)
   [schema](https://me.wordpress.org/plugins/tags/schema/)[seo](https://me.wordpress.org/plugins/tags/seo/)
   [xml sitemap](https://me.wordpress.org/plugins/tags/xml-sitemap/)
 *  [Advanced View](https://me.wordpress.org/plugins/tamrank/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/tamrank/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/tamrank/reviews/)

## Contributors

 *   [ tamrank ](https://profiles.wordpress.org/tamrank/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/tamrank/)