{"id":380991,"date":"2026-10-08T19:45:48","date_gmt":"2026-10-08T19:45:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/securplan-seo-core\/"},"modified":"2026-10-13T18:32:54","modified_gmt":"2026-10-13T18:32:54","slug":"jagelon-guard","status":"publish","type":"plugin","link":"https:\/\/de.wordpress.org\/plugins\/jagelon-guard\/","author":23579792,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.10.0","stable_tag":"0.10.0","tested":"7.1.3","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"Jagelon Guard","header_author":"Jagelon","header_description":"Technical SEO for WordPress \u2014 sitemap, canonical, robots.txt, Open Graph and schema. Optionally connects to the Jagelon Guard monitoring service.","assets_banners_color":"b6a47c","last_updated":"2026-10-13 18:32:54","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/jagelon.pl\/jagelon-guard\/","header_author_uri":"https:\/\/jagelon.pl\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":250,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.10.0":{"tag":"0.10.0","author":"securplan","date":"2026-10-13 18:32:54","revision":3744684},"0.9.30":{"tag":"0.9.30","author":"securplan","date":"2026-10-11 09:57:23","revision":3739275}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3735423,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3735423,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3735423,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3735423,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3744684,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=jagelon-guard-seo-health-check\",\"preferredVersions\":{\"php\":\"8.3\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"jagelon-guard\"},\"options\":{\"activate\":true}},{\"step\":\"setSiteOptions\",\"options\":{\"blogname\":\"Jagelon Guard demo site\",\"blogdescription\":\"A sandbox for trying the SEO Health Check\",\"blog_public\":\"0\"}},{\"step\":\"writeFile\",\"path\":\"\\\/wordpress\\\/wp-content\\\/mu-plugins\\\/jagelon-guard-preview-notice.php\",\"data\":\"<?php\\nadd_action('admin_notices', function () { echo '<div class=\\\"notice notice-info\\\"><p><strong>Live preview of Jagelon Guard.<\\\/strong> This sandbox runs entirely in your browser \\u2014 nothing is sent anywhere and nothing is saved. The report below comes from running the check against this demo site. Search engine visibility is switched off on purpose, so you can see how a real problem is reported.<\\\/p><\\\/div>'; });\\n\\\/\\\/ Monit o aktualizacji rdzenia nie ma czego szukac na stronie podgladu.\\nadd_action('admin_init', function () {\\n    remove_action('admin_notices', 'update_nag', 3);\\n    remove_action('network_admin_notices', 'update_nag', 3);\\n});\\n\"},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once '\\\/wordpress\\\/wp-load.php';\\n\\n\\\/*\\n * Raport jest liczony juz przy starcie piaskownicy, zeby odwiedzajacy\\n * podglad zobaczyl gotowy wynik zamiast pustego ekranu z przyciskiem.\\n *\\n * Siegamy po prywatna metode result_key przez refleksje, zamiast\\n * powtarzac tu format klucza transientu. Gdyby wtyczka kiedys go\\n * zmienila, ten krok po prostu nic nie zapisze i podglad wroci do\\n * stanu poczatkowego z przyciskiem - zamiast pokazac smieci.\\n *\\\/\\n$klasa = 'Jagelon\\\\\\\\Guard\\\\\\\\SEO_Health_Check';\\nif (!class_exists($klasa) || !method_exists($klasa, 'run_audit')) {\\n    return;\\n}\\nwp_set_current_user(1);\\ntry {\\n    $metoda = new ReflectionMethod($klasa, 'result_key');\\n    $metoda->setAccessible(true);\\n    $klucz = $metoda->invoke(null, 1);\\n    if (is_string($klucz) && $klucz !== '') {\\n        set_transient($klucz, $klasa::run_audit(), 12 * HOUR_IN_SECONDS);\\n    }\\n} catch (Throwable $e) {\\n    \\\/\\\/ Bez gotowego raportu podglad nadal dziala - zostaje przycisk.\\n}\\n\"}]}"}},"all_blocks":[],"tagged_versions":["0.10.0","0.9.30"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3739275,"resolution":"1","location":"assets","locale":"","width":1200,"height":760},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3739275,"resolution":"2","location":"assets","locale":"","width":1200,"height":760},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3744684,"resolution":"3","location":"assets","locale":"","width":1240,"height":1400},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3739275,"resolution":"4","location":"assets","locale":"","width":1200,"height":760},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3739984,"resolution":"5","location":"assets","locale":"","width":1185,"height":1997}},"screenshots":{"1":"What the plugin already does, the moment it is activated: sitemap,\nrobots.txt, canonical addresses, social previews and organisation data.\nNo account, no key, no setup.","2":"Home page title and description, with a live preview of how the page\nlooks in Google results and a character count for each field.","3":"See exactly how a page will look in Google before you publish it:\ntitle, description, a live preview and a character count that tells\nyou when you have said enough. A switch hides a single page from\nGoogle, for pages such as \"thank you for your order\".","4":"Indexing and technical SEO settings, each with a plain-language note on\nwhat it changes and when to leave it alone.","5":"The free SEO Health Check showing a real read-only audit, clear result counts\nand practical explanations for correct items and warnings."}},"plugin_section":[],"plugin_tags":[6363,6487,186,1557,31056],"plugin_category":[55],"plugin_contributors":[285146],"plugin_business_model":[],"class_list":["post-380991","plugin","type-plugin","status-publish","hentry","plugin_tags-canonical","plugin_tags-open-graph","plugin_tags-seo","plugin_tags-sitemap","plugin_tags-website-monitoring","plugin_category-seo-and-marketing","plugin_contributors-securplan","plugin_committers-securplan"],"banners":{"banner":"https:\/\/ps.w.org\/jagelon-guard\/assets\/banner-772x250.png?rev=3735423","banner_2x":"https:\/\/ps.w.org\/jagelon-guard\/assets\/banner-1544x500.png?rev=3735423","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/jagelon-guard\/assets\/icon-128x128.png?rev=3735423","icon_2x":"https:\/\/ps.w.org\/jagelon-guard\/assets\/icon-256x256.png?rev=3735423","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/jagelon-guard\/assets\/screenshot-1.png?rev=3739275","caption":"What the plugin already does, the moment it is activated: sitemap,\nrobots.txt, canonical addresses, social previews and organisation data.\nNo account, no key, no setup."},{"src":"https:\/\/ps.w.org\/jagelon-guard\/assets\/screenshot-2.png?rev=3739275","caption":"Home page title and description, with a live preview of how the page\nlooks in Google results and a character count for each field."},{"src":"https:\/\/ps.w.org\/jagelon-guard\/assets\/screenshot-3.png?rev=3744684","caption":"See exactly how a page will look in Google before you publish it:\ntitle, description, a live preview and a character count that tells\nyou when you have said enough. A switch hides a single page from\nGoogle, for pages such as \"thank you for your order\"."},{"src":"https:\/\/ps.w.org\/jagelon-guard\/assets\/screenshot-4.png?rev=3739275","caption":"Indexing and technical SEO settings, each with a plain-language note on\nwhat it changes and when to leave it alone."},{"src":"https:\/\/ps.w.org\/jagelon-guard\/assets\/screenshot-5.png?rev=3739984","caption":"The free SEO Health Check showing a real read-only audit, clear result counts\nand practical explanations for correct items and warnings."}],"raw_content":"<!--section=description-->\n<p>Jagelon Guard gives every site owner a free, one-click SEO Health Check. It reads\nthe public home page, robots.txt and XML sitemap, then explains what is correct,\nwhat needs attention and what could not be checked. The audit is read-only, works\nwithout an account or key and does not send site data to Jagelon.<\/p>\n\n<p>The plugin also keeps the technical foundations of SEO in order locally inside\nWordPress. An optional monitoring service checks the public site every 15 minutes\nand warns you when a quiet change could cost visibility or traffic.<\/p>\n\n<h4>Free technical SEO \u2014 no account required<\/h4>\n\n<ul>\n<li>a one-click, read-only SEO Health Check for the home page, robots.txt,\nXML sitemap, HTTPS, metadata, Open Graph, JSON-LD and the main H1 heading<\/li>\n<li>an SEO panel in the editor of every page and post: title and description in\nGoogle with a live preview and character counter, and a \"hide from Google\" switch<\/li>\n<li>home page title and description, with the same preview<\/li>\n<li>canonical links, with WordPress core's own tag replaced by one you control<\/li>\n<li>the native WordPress sitemap, without author pages<\/li>\n<li>robots.txt rules<\/li>\n<li>Open Graph tags<\/li>\n<li>Organization and WebSite schema (JSON-LD)<\/li>\n<li>an optional \"business card site\" mode for sites without a blog: category,\ntag and author archives and RSS feeds are hidden<\/li>\n<\/ul>\n\n<p>These features run on your own site, do not expire and need no connection key.<\/p>\n\n<h4>Optional monitoring every 15 minutes<\/h4>\n\n<p>Sites rarely break loudly. An update quietly sets <code>noindex<\/code>, someone edits a\npage title that used to rank, a redirect behind a paid ad starts returning 404.\nThe site still looks fine in a browser, so nobody notices for weeks.<\/p>\n\n<p>The optional Jagelon Guard service checks your public site every 15 minutes and\ntells you what changed, where it happened, how long it has lasted and what to\ncheck next:<\/p>\n\n<ul>\n<li>an event log in your WordPress dashboard<\/li>\n<li>a weekly email report, including the quiet weeks<\/li>\n<li>recommendations ranked by importance, each listing the affected addresses<\/li>\n<\/ul>\n\n<p>Jagelon Guard observes and advises. It never changes your content, settings or files.<\/p>\n\n<p>Jagelon Guard reports, the event log and recommendations are currently written in\nPolish. The free features above are fully available in English.<\/p>\n\n<h4>Privacy and resilience<\/h4>\n\n<p>Connecting is optional. Without a connection every local feature listed above\nkeeps working.<\/p>\n\n<p>What the plugin sends to the service, and only after you paste a connection key:<\/p>\n\n<ul>\n<li>your site address<\/li>\n<li>WordPress, PHP and plugin versions<\/li>\n<li>the results of the service's own checks of your public pages<\/li>\n<li>a timestamp for each connection<\/li>\n<\/ul>\n\n<p>It does not send post content, user data, database contents or anything from\ninside wp-admin. If the service is unavailable, the local SEO features keep\nworking. Only monitoring and reports pause.<\/p>\n\n<p>Service terms: https:\/\/securplan.pl\/regulamin\/\nPrivacy policy: https:\/\/securplan.pl\/polityka-prywatnosci\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Open <strong>Jagelon Guard<\/strong> in the main admin menu.<\/li>\n<li>Fill in the metadata fields. That is all the free part needs.<\/li>\n<li>To use Jagelon Guard, paste the connection key you received by email under <strong>Connection<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20free%20plugin%20work%20without%20an%20account%20or%20key%3F\"><h3>Does the free plugin work without an account or key?<\/h3><\/dt>\n<dd><p>Yes. Titles, descriptions, canonicals, the sitemap, robots.txt, Open Graph and\nschema run locally and do not expire. The manual SEO Health Check is also fully\navailable without registration or a connection to the monitoring service.<\/p><\/dd>\n<dt id=\"what%20does%20the%20free%20seo%20health%20check%20inspect%3F\"><h3>What does the free SEO Health Check inspect?<\/h3><\/dt>\n<dd><p>It checks whether the public home page can be loaded and reviews its title, meta\ndescription, canonical URL, indexing directives, Open Graph tags, JSON-LD and H1.\nIt also checks robots.txt, the XML sitemap, HTTPS and redirects. The audit is\nread-only and never edits content or settings.<\/p><\/dd>\n<dt id=\"why%20does%20a%20check%20sometimes%20say%20%22could%20not%20check%22%3F\"><h3>Why does a check sometimes say \"Could not check\"?<\/h3><\/dt>\n<dd><p>Some hosting providers block a site's own loopback HTTP requests. Jagelon Guard\nreports those tests as unavailable instead of presenting a false SEO error. No\nsetting is weakened and no remote service receives the page data.<\/p><\/dd>\n<dt id=\"what%20does%20the%20optional%20monitoring%20service%20check%3F\"><h3>What does the optional monitoring service check?<\/h3><\/dt>\n<dd><p>It checks the public site every 15 minutes for high-impact changes such as\nnoindex, robots.txt changes, missing or foreign canonicals, changed titles,\nsitemap failures and HTTP errors.<\/p><\/dd>\n<dt id=\"does%20jagelon%20guard%20change%20or%20repair%20my%20site%3F\"><h3>Does Jagelon Guard change or repair my site?<\/h3><\/dt>\n<dd><p>No. It is read-only: it observes, records and recommends. It does not change\ncontent, settings or files.<\/p><\/dd>\n<dt id=\"will%20it%20fight%20my%20other%20seo%20plugin%3F\"><h3>Will it fight my other SEO plugin?<\/h3><\/dt>\n<dd><p>No. When Yoast SEO, Rank Math, All in One SEO, SEOPress, The SEO Framework,\nSlim SEO or Squirrly SEO is active, Jagelon Guard does not add duplicate SEO\noutput. Optional monitoring can continue alongside the other plugin.<\/p><\/dd>\n<dt id=\"what%20data%20is%20sent%20to%20the%20monitoring%20service%3F\"><h3>What data is sent to the monitoring service?<\/h3><\/dt>\n<dd><p>Only the site address, WordPress\/PHP\/plugin versions, results of checks of public\npages and connection timestamps, and only after a connection key is entered. No\npost content, user data, database contents or wp-admin data is sent.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20service%20is%20unavailable%3F\"><h3>What happens if the service is unavailable?<\/h3><\/dt>\n<dd><p>The local SEO features remain active. Monitoring and reports pause until the\nservice is available again.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.10.0<\/h4>\n\n<ul>\n<li>Adds the free, manual SEO Health Check. It works without an account, changes\nno site settings and clearly separates correct, warning, error and unavailable\nresults.<\/li>\n<li>The check remains available alongside Yoast SEO, Rank Math and All in One SEO,\nwithout producing duplicate metadata.<\/li>\n<li>Adds same-site request restrictions, nonce and capability checks, a short\nper-user rate limit, responsive results and deterministic regression tests.<\/li>\n<\/ul>\n\n<h4>0.9.30<\/h4>\n\n<ul>\n<li>The plugin is now Jagelon Guard. The previous name could be confused with\nan unrelated trademark, so the plugin, its text domain and its admin screen\nwere renamed.<\/li>\n<li>The character counter label is JSON-encoded with escaped angle brackets, so\na translation cannot break out of the inline script.<\/li>\n<\/ul>\n\n<h4>0.9.29<\/h4>\n\n<ul>\n<li>Admin styles and scripts are loaded through the WordPress enqueue API.<\/li>\n<li>Structured data (JSON-LD) escapes HTML tags, so no site value can close the\nscript element.<\/li>\n<li>Translations are delivered through translate.wordpress.org; the package no\nlonger bundles language files.<\/li>\n<\/ul>\n\n<h4>0.9.28<\/h4>\n\n<ul>\n<li>Build fix: the paid package is buildable again. The update channel was\ndropped from the whole source tree instead of only from the directory\nbuild, so paid sites shipped since 0.9.18 could no longer update\nthemselves. The directory package is unchanged: it carries no update\nchannel and no Fix module.<\/li>\n<\/ul>\n\n<h4>0.9.27<\/h4>\n\n<ul>\n<li>Ready for the Jagelon Guard trial: the expiry reminder counts down 3 days and\n1 day for a trial (30 and 7 days for a yearly plan), and the event log stays\nvisible after monitoring stops.<\/li>\n<\/ul>\n\n<h4>0.9.26<\/h4>\n\n<ul>\n<li>Screenshots and listing graphics for the plugin directory.<\/li>\n<\/ul>\n\n<h4>0.9.25<\/h4>\n\n<ul>\n<li>The settings screen is now fully translatable. The indexing section mixed\nan English heading with Polish labels, and the event log and\nrecommendations headings stayed Polish on every site, connected or not.<\/li>\n<\/ul>\n\n<h4>0.9.23<\/h4>\n\n<ul>\n<li>\"Tested up to\" is declared only in the readme, where the directory expects\nit, so the two cannot drift apart.<\/li>\n<\/ul>\n\n<h4>0.9.22<\/h4>\n\n<ul>\n<li>Plugin URI now points at the plugin's own page, separate from the author\nURI, as the directory requires.<\/li>\n<\/ul>\n\n<h4>0.9.21<\/h4>\n\n<ul>\n<li>The request URI is unslashed and sanitised before use, as recommended by\nPlugin Check.<\/li>\n<\/ul>\n\n<h4>0.9.20<\/h4>\n\n<ul>\n<li>The SEO panel keeps a readable width after being moved out of the editor\nsidebar with the \"move up\" arrow.<\/li>\n<\/ul>\n\n<h4>0.9.19<\/h4>\n\n<ul>\n<li>A site set to \"Discourage search engines\" no longer serves a working XML\nsitemap, and robots.txt no longer advertises one. Staging copies could be\nfound and indexed despite the setting.<\/li>\n<\/ul>\n\n<h4>0.9.18<\/h4>\n\n<ul>\n<li>Jetpack no longer adds a second set of Open Graph tags next to ours.<\/li>\n<\/ul>\n\n<h4>0.9.17<\/h4>\n\n<ul>\n<li>SEO panel in the page and post editor: title, description, live Google\npreview and a \"hide from Google\" switch.<\/li>\n<li>Steps back automatically when another SEO plugin is active.<\/li>\n<li>Hiding category, tag and author archives and RSS feeds is now an opt-in\n\"business card site\" setting, and blog posts stay in the sitemap. Sites\nupdated from an earlier version keep their previous behaviour.<\/li>\n<li>Home page metadata fields explain their defaults, with a Google preview and\na character counter.<\/li>\n<li>The monitoring service is now consistently called Jagelon Guard.<\/li>\n<li>The settings screen now starts with what already works, a next step and\nwhat Jagelon Guard adds, instead of unavailable modules.<\/li>\n<li>A fresh install no longer reports a lost connection it never had.<\/li>\n<li>Removed the plugin author's product and e-mail address from the structured\ndata (schema) added to every site.<\/li>\n<\/ul>\n\n<h4>0.9.16<\/h4>\n\n<ul>\n<li>Comments and pingbacks are no longer switched off without asking. The\nsetting is off by default.<\/li>\n<li>English is now the source language; Polish ships as a translation.<\/li>\n<li>The paid Fix module is no longer part of this package.<\/li>\n<\/ul>\n\n<h4>0.9.15<\/h4>\n\n<ul>\n<li>Event log shows the previous and current value of what changed.<\/li>\n<\/ul>\n\n<h4>0.9.14<\/h4>\n\n<ul>\n<li>Recommendations list the affected addresses instead of only counting them,\nwith a link straight to the editor.<\/li>\n<\/ul>","raw_excerpt":"Free SEO Health Check for WordPress: technical SEO audit of noindex, robots.txt, canonicals, titles and sitemaps. Optional site monitoring.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/380991","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=380991"}],"author":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/securplan"}],"wp:attachment":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=380991"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=380991"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=380991"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=380991"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=380991"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=380991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}