{"id":382311,"date":"2026-10-12T16:43:49","date_gmt":"2026-10-12T16:43:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ascend-seo\/"},"modified":"2026-10-28T08:18:36","modified_gmt":"2026-10-28T08:18:36","slug":"scoreleaf","status":"publish","type":"plugin","link":"https:\/\/ka.wordpress.org\/plugins\/scoreleaf\/","author":12342607,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.6.1","stable_tag":"0.6.1","tested":"7.1.4","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Scoreleaf \u2013 SEO Audit & AI Score for WooCommerce","header_author":"Mahfuz","header_description":"SEO & AI score for every product, category, page and post: store-wide audits, fixes you review and can undo, 404 monitoring and redirects. Works alongside Yoast SEO, Rank Math, All in One SEO, SEOPress and SiteSEO.","assets_banners_color":"8390f2","last_updated":"2026-10-28 08:18:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/mahfuzcmt\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":210,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"0.3.9":{"tag":"0.3.9","author":"mahfuzcmt","date":"2026-10-12 16:43:33","revision":3742171},"0.4.0":{"tag":"0.4.0","author":"mahfuzcmt","date":"2026-10-17 16:49:01","revision":3752157},"0.6.1":{"tag":"0.6.1","author":"mahfuzcmt","date":"2026-10-28 08:18:36","revision":3770183}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3742191,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3742191,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3742191,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3742191,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.3.9","0.4.0","0.6.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[262246],"plugin_tags":[244604,1117,186,31034,286],"plugin_category":[45,55],"plugin_contributors":[286229],"plugin_business_model":[],"class_list":["post-382311","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-llms-txt","plugin_tags-schema","plugin_tags-seo","plugin_tags-seo-audit","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-seo-and-marketing","plugin_contributors-mahfuzcmt","plugin_committers-mahfuzcmt"],"banners":{"banner":"https:\/\/ps.w.org\/scoreleaf\/assets\/banner-772x250.png?rev=3742191","banner_2x":"https:\/\/ps.w.org\/scoreleaf\/assets\/banner-1544x500.png?rev=3742191","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/scoreleaf\/assets\/icon-128x128.png?rev=3742191","icon_2x":"https:\/\/ps.w.org\/scoreleaf\/assets\/icon-256x256.png?rev=3742191","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Scoreleaf checks every product, category, page and post in your store, explains each problem, and proposes fixes you review before anything changes.<\/p>\n\n<ul>\n<li><strong>Store-wide audit.<\/strong> 53 checks per page plus store-wide issues: duplicate titles and descriptions, near-duplicate pages, pages nothing links to, broken and redirected internal links, soft 404s and filter-URL bloat.<\/li>\n<li><strong>A score you can trust.<\/strong> Every point traces back to a check, its weight and the evidence found on the page.<\/li>\n<li><strong>Fixes you approve.<\/strong> Titles, meta descriptions, duplicate titles and descriptions, and image alt text. Edit any suggestion before applying it.<\/li>\n<li><strong>Undo anything.<\/strong> Every change is logged. Undo restores the old value and never overwrites an edit made after the fix.<\/li>\n<li><strong>Keep your SEO plugin.<\/strong> With Yoast SEO, Rank Math, All in One SEO, SEOPress or SiteSEO active, fixes are written into that plugin's fields, and Scoreleaf prints nothing it already prints.<\/li>\n<li><strong>Weekly monitoring.<\/strong> Scheduled audits and an email of what changed since the last one.<\/li>\n<li><strong>Richer product markup.<\/strong> Adds brand, GTIN and your return policy to WooCommerce's own Product markup, without a second, duplicate Product block.<\/li>\n<li><strong>Broken addresses fixed.<\/strong> A 404 log with suggested redirects, automatic handling of deleted products and changed addresses, and redirects that never chain or loop.<\/li>\n<li><strong>Score everywhere.<\/strong> An SEO &amp; AI score panel on products, pages, posts, product categories and blog categories, and a summary on the WordPress Dashboard.<\/li>\n<li><strong>Any language.<\/strong> Word counts and keyword checks work in Bengali, Hindi and other scripts.<\/li>\n<li><strong>AI visibility.<\/strong> Choose per bot which AI crawlers may read your store; answer engines and model training are listed separately. Publish an llms.txt map of your store.<\/li>\n<\/ul>\n\n<p>No nags outside its own screen. Nothing changes on your storefront until you apply a fix or turn a setting on. Uninstalling removes everything the plugin created.<\/p>\n\n<h4>External service<\/h4>\n\n<p>This plugin relies on the Scoreleaf service at https:\/\/seo.sodaionline.com to audit and score your pages. Nothing is sent until an administrator clicks Connect.<\/p>\n\n<ul>\n<li><strong>When you connect:<\/strong> your site address, platform, plugin version and the admin email you enter.<\/li>\n<li><strong>When an analysis or audit runs<\/strong> (on request, or on the schedule you choose): page addresses, content type, focus keyword and record facts such as a product's name. The service then reads your <strong>public<\/strong> pages, robots.txt, sitemaps and llms.txt, as any visitor could, with the user agent ScoreleafBot.<\/li>\n<li><strong>When you use AI suggestions<\/strong> (only if you turn them on): the item's name, address, focus keyword, current text and a short excerpt of its public content. With your own API key, the key travels with the request and the service passes everything to the AI provider you chose (Anthropic, OpenAI or Google) for that one request without storing the key; without a key, the service writes with its own account within your plan's monthly allowance. The provider's own terms apply: https:\/\/www.anthropic.com\/legal\/commercial-terms, https:\/\/openai.com\/policies\/business-terms, https:\/\/ai.google.dev\/gemini-api\/terms<\/li>\n<li><strong>Alerts<\/strong> (only if you add a Slack webhook or your own endpoint in Settings): after an audit, the service posts what got worse since the previous one to the address you gave, signed with your site's secret.<\/li>\n<li><strong>Google Search Console<\/strong> (only if you connect it): you grant the service read-only access to your property in your Google account; the service keeps the access token encrypted and reads clicks, impressions and positions per page and query. Disconnecting deletes the token and the data. Google's terms apply: https:\/\/policies.google.com\/terms<\/li>\n<li><strong>Keywords and AI visibility<\/strong> (only if you add keywords): the keywords you track and your site address are sent to the service, which looks them up with a search-results data provider and asks an AI answer engine about them on your behalf. Only the keywords leave your site.<\/li>\n<li><strong>When you subscribe or manage billing:<\/strong> a request to open a Lemon Squeezy checkout or billing page.<\/li>\n<li><strong>When you uninstall:<\/strong> a request telling the service the site is gone.<\/li>\n<\/ul>\n\n<p>No customer, order, payment or user-account data leaves your store.<\/p>\n\n<p>Service terms: https:\/\/seo.sodaionline.com\/terms\nPrivacy policy: https:\/\/seo.sodaionline.com\/privacy\nPayments are handled by Lemon Squeezy: https:\/\/www.lemonsqueezy.com\/terms and https:\/\/www.lemonsqueezy.com\/privacy<\/p>\n\n<h4>Pricing<\/h4>\n\n<p>A 7-day free trial starts when you connect; no card is needed. After that, one Standard plan per site, monthly or yearly, for audits, scores and new suggestions from the service. Everything that runs on your own site is free and keeps working without a plan: applying and undoing suggestions you already have, the 404 monitor, redirects, product markup, AI crawler rules and llms.txt. AI-written suggestions are included in the Standard plan (and the trial) and use your own AI provider account, which bills you directly.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20remove%20yoast%20or%20rank%20math%3F\"><h3>Do I need to remove Yoast or Rank Math?<\/h3><\/dt>\n<dd><p>No. Scoreleaf detects them and writes fixes into their fields.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20changes%20if%20i%20uninstall%3F\"><h3>What happens to my changes if I uninstall?<\/h3><\/dt>\n<dd><p>Values written into your SEO plugin's fields and image alt text stay; they are your SEO now. Everything Scoreleaf created (its tables, settings and its own fields) is removed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.6.1<\/h4>\n\n<ul>\n<li>One-click \"Turn on\" fixes in the To-do list and the editor panel for missing Open Graph tags and missing breadcrumb markup.<\/li>\n<li>New setting: BreadcrumbList markup for pages, products and categories (when no other SEO plugin prints the page head).<\/li>\n<li>URL check: slugs in Bengali, Hindi, Arabic and other scripts are no longer flagged as unclean.<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Agency tab: put several sites under one organisation (each on the same standard plan) and see every site's plan, score, errors and alerts on one dashboard. Join another site with a code.<\/li>\n<li>Team and client portal: add people with a role; each gets a personal read-only link to the organisation's reports, and clients can get a link for one site. Links can be turned off at any time.<\/li>\n<li>White-label reports: the organisation's name, colour, logo and footer go on the monthly PDF and the portal.<\/li>\n<li>Report tab: the month's score, errors, fixes, redirects, issues resolved, Search Console clicks and keyword moves, with a PDF download, an email button and a monthly email on the first of the month.<\/li>\n<li>Public API: organisation keys for the Scoreleaf API (sites, audits, pages, alerts, keywords, reports; starting audits with a write key). This site's own REST routes keep working with WordPress application passwords.<\/li>\n<li>WP-CLI: <code>wp scoreleaf status|audit|records|analyze|fix|undo|changes|report|org<\/code>.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>AI suggestions without an API key: the Standard plan now includes a monthly allowance of AI writes; your own key remains optional and unmetered. Settings shows the month's usage.<\/li>\n<li>Alerts: the email report lists what got worse since the previous audit (score drop, more broken links, pages newly blocked from indexing, a broken sitemap or robots.txt). Settings can add a Slack webhook or your own endpoint, which the service posts to.<\/li>\n<li>Internal link suggestions: the audit finds pages that already mention a poorly linked page; one click inserts the link into that text, logged and undoable like every other fix.<\/li>\n<li>Core Web Vitals: loading speed, responsiveness and layout stability from real Chrome visitors join the technical checks when the service has field data for the page.<\/li>\n<li>Google Search Console: a new tab connects your property (read-only) through the service. The to-do list is then ordered by the clicks at stake, and the tab lists pages losing clicks, queries close to page one, and pages competing for one query.<\/li>\n<li>Keywords: track where your store ranks for a set of keywords (within your plan's allowance), checked after each audit, with seeding from Search Console; and AI visibility: whether an AI answer engine cites your store for them and who else it cites.<\/li>\n<li>Catalogue policies: out-of-stock products can be kept, set to noindex, or sent to their category with a temporary redirect; filter and sort URLs on listings can be set to noindex or pointed at the clean listing with a canonical. Both work next to your SEO plugin.<\/li>\n<li>Merchant Center readiness: new checks for a valid GTIN, markup that matches the visible price and stock, shipping details, the return policy and variant offers. Product markup now carries gallery images when there is no featured image, and the product editor warns when a product has no image at all.<\/li>\n<li>Language alternates: an hreflang check for multi-language stores (self-reference, x-default, valid codes).<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Fix: the dashboard no longer breaks after the first audit when the crawl reports filter and sort URL bloat (\"item.urls.join is not a function\"). Those issues now list the parameter, how many addresses carry it and sample URLs.<\/li>\n<\/ul>\n\n<h4>0.3.9<\/h4>\n\n<ul>\n<li>New \"Fix all\" button in the editor panel: review and apply every automatic fix for a page (titles, descriptions, image alt text) in one step, undoable as one batch.<\/li>\n<\/ul>\n\n<h4>0.3.8<\/h4>\n\n<ul>\n<li>Security: site-wide settings, account, billing, audit and redirect actions now require administrator access; SEO edits, analysis and undo check permission on each item.<\/li>\n<\/ul>\n\n<h4>0.3.7<\/h4>\n\n<ul>\n<li>With SiteSEO, the Organization markup it prints no longer goes out with an empty name: Scoreleaf fills in your business name (or the site title).<\/li>\n<li>Optional HSTS header (Settings \u2192 HTTPS) for stores whose host or CDN does not send one. Off by default.<\/li>\n<\/ul>\n\n<h4>0.3.6<\/h4>\n\n<ul>\n<li>SiteSEO 1.2 prints only the first 160 characters of a description and adds \"...\". Scoreleaf now detects this and says so in the length counter and before applying, so descriptions are not cut off in search results without warning. Newer SiteSEO versions print descriptions whole.<\/li>\n<\/ul>\n\n<h4>0.3.5<\/h4>\n\n<ul>\n<li>Applied fixes show at once: the cached copy of each changed page or category is cleared (LiteSpeed Cache, WP Rocket, W3 Total Cache, WP Super Cache, SiteGround), so visitors and the re-check see the new title or description.<\/li>\n<li>Before applying, the fix dialog warns when a suggestion is still outside the length the check asks for, since applying it would not pass the check.<\/li>\n<\/ul>\n\n<h4>0.3.4<\/h4>\n\n<ul>\n<li>After \"Apply selected\", each saved row is marked Saved and locked, and the changed pages are scored again right away (up to 10; a button re-checks larger batches), so fixed checks and their Fix buttons go away.<\/li>\n<li>Applying the same title or description to several pages now asks for confirmation first.<\/li>\n<\/ul>\n\n<h4>0.3.3<\/h4>\n\n<ul>\n<li>When your AI provider refuses a request for a limit or quota, its own explanation is shown (per minute, per day, or billing).<\/li>\n<\/ul>\n\n<h4>0.3.2<\/h4>\n\n<ul>\n<li>AI suggestions one at a time: every row of a fix list has its own AI button, so only the items you choose use your AI quota. \"Write all with AI\" still writes up to 20 at once.<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>AI suggestions: \"Write with AI\" buttons for the title and meta description in every score panel, and the AI now writes for pages with too little text for a ready-made suggestion.<\/li>\n<li>A fix with no ready-made suggestion explains why (too little text, images outside the Media Library, or a field the SEO plugin keeps to itself) instead of \"Nothing to change\".<\/li>\n<li>Clearer AI errors: the provider's own message is shown, and a busy provider is retried once.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>AI suggestions (Standard plan): with your own Anthropic, OpenAI or Google API key, \"Write with AI\" drafts titles, meta descriptions and image alt text in your store's language. You review every suggestion before it is applied.<\/li>\n<li>New name: Scoreleaf. Sites that ran the earlier pre-release keep their connection, settings, scores, change log, 404 log and redirects; the pre-release plugin is deactivated automatically and can then be deleted.<\/li>\n<li>Request paths are sanitized before they are logged or shown; Product markup cannot close its script element.<\/li>\n<li>Block editor: the SEO &amp; AI score sits in the post settings and in its own sidebar (the chart icon in the top bar), and the page is scored again after every update, with suggested fixes for what is left.<\/li>\n<li>Classic editor and product screens: a page edited since its last check is scored again when the editor opens.<\/li>\n<\/ul>\n\n<h4>0.2.5<\/h4>\n\n<ul>\n<li>Tested with WordPress 7.1.<\/li>\n<li>Database queries use WordPress's identifier placeholders throughout; passes the WordPress.org Plugin Check.<\/li>\n<li>Applying suggestions, the 404 monitor and redirects work without a plan; only audits and new suggestions from the service need one.<\/li>\n<li>The External services section lists exactly what is sent and when, with the service's terms and privacy policy.<\/li>\n<\/ul>\n\n<h4>0.2.4<\/h4>\n\n<ul>\n<li>Title suggestions measure non-Latin titles by the space they take in search results, so short Bengali or Hindi titles can get the store name added.<\/li>\n<li>Never suggests theme placeholder text (\"Lorem ipsum\") as a description.<\/li>\n<li>No English helper sentences on stores whose names use another script.<\/li>\n<\/ul>\n\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>Design keeps the standard WordPress admin background: light glass cards, gradient score rings and accents.<\/li>\n<li>robots.txt: AI crawlers you allow keep the general rules (wp-admin, WooCommerce uploads and logs stay disallowed for them).<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Security: the plugin's REST responses are never stored by page caches. LiteSpeed Cache could keep a copy of the dashboard data requested with an application password and serve it to anyone; earlier copies are purged on update.<\/li>\n<li>New \"aurora glass\" design: score rings, Smart insights, glass cards and dialogs, Dashboard widget and editor panels.<\/li>\n<li>Audits explain when they were slowed down or stopped to protect a slow store.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>404 monitor and redirect manager, with suggestions and undo.<\/li>\n<li>SEO &amp; AI score panel on blog categories; Dashboard widget.<\/li>\n<li>SiteSEO and SEOPress support; Yoast SEO tested.<\/li>\n<li>Fixes are kept when an editor screen opened before the fix is saved.<\/li>\n<li>Bengali and other non-Latin scripts: correct word handling, no English filler in proposals.<\/li>\n<li>Never prints a second description or Open Graph tag next to another plugin's.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"SEO and AI score for every product, page and post: weekly audits, fixes you approve and can undo, 404 monitor, redirects. Works with your SEO plugin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/382311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=382311"}],"author":[{"embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mahfuzcmt"}],"wp:attachment":[{"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=382311"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=382311"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=382311"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=382311"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=382311"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ka.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=382311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}