{"id":319760,"date":"2026-05-31T19:04:47","date_gmt":"2026-05-31T19:04:47","guid":{"rendered":"https:\/\/es.wordpress.org\/plugins\/seo-content-audit\/"},"modified":"2026-05-31T19:04:32","modified_gmt":"2026-05-31T19:04:32","slug":"seo-content-audit","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/seo-content-audit\/","author":17791032,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"SEO Content Audit","header_author":"SoyJavierSantos","header_description":"Complete SEO content audit for WordPress. Detects real issues in every post and page without external tools.","assets_banners_color":"","last_updated":"2026-05-31 19:04:32","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/soyjaviersantos.com\/","header_plugin_uri":"","header_author_uri":"https:\/\/soyjaviersantos.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":26,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"javierld","date":"2026-05-31 19:04:32"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Main dashboard with global statistics and filterable results table.","2":"Individual post with detected issues and SEO score badge.","3":"\"What we audit and why\" expandable section.","4":"Noindex excluded pages banner with direct edit links."}},"plugin_section":[],"plugin_tags":[8533,529,31173,186,4974],"plugin_category":[55],"plugin_contributors":[265237],"plugin_business_model":[],"class_list":["post-319760","plugin","type-plugin","status-publish","hentry","plugin_tags-audit","plugin_tags-content","plugin_tags-on-page-seo","plugin_tags-seo","plugin_tags-seo-checker","plugin_category-seo-and-marketing","plugin_contributors-javierld","plugin_committers-javierld"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/seo-content-audit.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>SEO Content Audit<\/strong> scans all your published posts and pages and reports real, actionable SEO issues directly inside the WordPress admin. No Screaming Frog, no external APIs, no page rendering \u2014 everything is read from your database.<\/p>\n\n<p>It correctly supports the most popular page builders (Elementor, Divi, WPBakery, Beaver Builder, Gutenberg) so that <strong>H1, word count and image alt-text checks never produce false positives<\/strong> on builder-created content.<\/p>\n\n<h3>What it checks<\/h3>\n\n<p><strong>Errors \u2014 high impact (\u221220 pts each)<\/strong><\/p>\n\n<ul>\n<li>Missing meta description \u2014 Google will generate its own snippet, usually with lower CTR.<\/li>\n<li>Duplicate meta descriptions \u2014 every URL needs a unique snippet.<\/li>\n<li>Duplicate page titles \u2014 Google does not know which URL to prioritise.<\/li>\n<li>Missing H1 \u2014 the most important on-page relevance signal for Google.<\/li>\n<li>Orphan content \u2014 posts with zero internal links pointing to them are nearly invisible to bots.<\/li>\n<li>Canonical pointing to a different URL \u2014 Google will follow the canonical and ignore this content.<\/li>\n<li>Very thin content (&lt; 100 words) \u2014 practically impossible to rank.<\/li>\n<\/ul>\n\n<p><strong>Warnings \u2014 medium impact (\u221210 pts each)<\/strong><\/p>\n\n<ul>\n<li>Title too short or too long (ideal range: 30\u201360 characters).<\/li>\n<li>Meta description too short or too long (ideal range: 50\u2013160 characters).<\/li>\n<li>Multiple H1 tags \u2014 dilutes the relevance signal.<\/li>\n<li>Thin content (&lt; 300 words).<\/li>\n<li>Images missing alt attribute \u2014 important for Google Images and accessibility.<\/li>\n<li>Missing featured image \u2014 reduces CTR in social sharing and rich results.<\/li>\n<\/ul>\n\n<p><strong>Info \u2014 low impact (\u22125 pts each)<\/strong><\/p>\n\n<ul>\n<li>Content not updated in over 2 years \u2014 Google values freshness.<\/li>\n<li>Post with no real category assigned.<\/li>\n<li>Slug too long.<\/li>\n<\/ul>\n\n<h3>Automatically excluded from the audit<\/h3>\n\n<ul>\n<li>Pages marked as <strong>noindex<\/strong> (no point optimising what you have told Google to ignore).<\/li>\n<li>Pages with a <strong>canonical pointing elsewhere<\/strong> (flagged but not fully audited).<\/li>\n<li><strong>Password-protected<\/strong> pages (not accessible to Google).<\/li>\n<\/ul>\n\n<p>Noindex detection works with: <strong>Yoast SEO<\/strong>, <strong>Rank Math<\/strong>, <strong>All in One SEO (AIOSEO)<\/strong>, and <strong>SEOPress<\/strong>.<\/p>\n\n<h3>Page builder support<\/h3>\n\n<p>Most SEO plugins skip H1\/content checks on builder pages to avoid false positives. SEO Content Audit does not skip them \u2014 it reads the content where each builder actually stores it:<\/p>\n\n<ul>\n<li><strong>Elementor<\/strong> \u2014 parses <code>_elementor_data<\/code> JSON directly. No page render required.<\/li>\n<li><strong>Divi \/ WPBakery<\/strong> \u2014 processes native shortcodes.<\/li>\n<li><strong>Beaver Builder<\/strong> \u2014 reads <code>_fl_builder_data<\/code> serialised data.<\/li>\n<li><strong>Gutenberg<\/strong> \u2014 renders blocks via <code>do_blocks()<\/code>.<\/li>\n<\/ul>\n\n<h3>SEO score 0\u2013100<\/h3>\n\n<p>Every post and page receives a score. Errors deduct 20 points, warnings 10, info items 5. The site's average score is shown on the dashboard.<\/p>\n\n<h3>CSV export<\/h3>\n\n<p>All results can be exported to a semicolon-delimited CSV file (UTF-8 BOM for Excel compatibility), ready to share with clients or include in audit reports.<\/p>\n\n<h3>Meta description compatibility<\/h3>\n\n<p>Meta description and noindex data is read from: <strong>Yoast SEO<\/strong> (<code>_yoast_wpseo_metadesc<\/code>), <strong>Rank Math<\/strong> (<code>rank_math_description<\/code>), <strong>AIOSEO<\/strong> (<code>_aioseo_description<\/code>), and <strong>SEOPress<\/strong> (<code>_seopress_titles_desc<\/code>).<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin does not collect, store, or transmit any personal data. It does not make any external HTTP requests. All processing is done locally within your WordPress installation.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>seo-content-audit<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install it directly from the WordPress plugin screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Navigate to <strong>SEO Audit<\/strong> in the left admin sidebar.<\/li>\n<li>Click <strong>Run Audit<\/strong> to analyse all your published content.<\/li>\n<\/ol>\n\n<p>Results are cached for one hour. Run the audit again after publishing new content or making on-page SEO changes.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20require%20any%20configuration%3F\"><h3>Does it require any configuration?<\/h3><\/dt>\n<dd><p>No. Activate it and click Run Audit. If you have Yoast SEO, Rank Math, AIOSEO or SEOPress installed, meta descriptions and noindex settings are read automatically.<\/p><\/dd>\n<dt id=\"why%20are%20some%20pages%20missing%20from%20the%20results%3F\"><h3>Why are some pages missing from the results?<\/h3><\/dt>\n<dd><p>Pages marked as noindex, pages with a canonical pointing to a different URL, and password-protected pages are intentionally excluded. The dashboard shows how many pages were excluded and lists them.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20elementor%3F\"><h3>Does it work with Elementor?<\/h3><\/dt>\n<dd><p>Yes. The plugin parses Elementor's internal JSON (<code>_elementor_data<\/code>) directly without rendering the page, so H1, content and image analysis is fully accurate.<\/p><\/dd>\n<dt id=\"which%20other%20builders%20are%20supported%3F\"><h3>Which other builders are supported?<\/h3><\/dt>\n<dd><p>Divi, WPBakery, Beaver Builder and Gutenberg are all supported.<\/p><\/dd>\n<dt id=\"what%20is%20orphan%20content%3F\"><h3>What is orphan content?<\/h3><\/dt>\n<dd><p>An orphan post is one that no other post or page on your site links to internally. Search engine bots discover content by following links; without any internal links pointing here, these pages are extremely hard to crawl and rank.<\/p><\/dd>\n<dt id=\"how%20often%20should%20i%20run%20the%20audit%3F\"><h3>How often should I run the audit?<\/h3><\/dt>\n<dd><p>Results are cached for one hour. We recommend running the audit after publishing new posts or making SEO changes. There is no automatic scheduling \u2014 you control when the scan runs.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. The plugin only runs inside the WordPress admin, only when you click Run Audit, and loads no scripts or styles on the public-facing site.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20multisite%3F\"><h3>Is it compatible with multisite?<\/h3><\/dt>\n<dd><p>In the current version the plugin works at single-site level. Multisite support is planned for a future release.<\/p><\/dd>\n<dt id=\"what%20php%20version%20is%20required%3F\"><h3>What PHP version is required?<\/h3><\/dt>\n<dd><p>PHP 7.4 or higher is required (for arrow functions and typed arguments).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Scans all published posts and pages.<\/li>\n<li>Checks: meta description, duplicate titles\/descriptions, H1, orphan content, canonical, thin content, image alt text, featured image, content freshness, category, slug length.<\/li>\n<li>Full page builder support: Elementor (JSON parse), Divi, WPBakery (shortcodes), Beaver Builder (serialised data), Gutenberg (do_blocks).<\/li>\n<li>Compatible with Yoast SEO, Rank Math, All in One SEO, and SEOPress.<\/li>\n<li>SEO score 0\u2013100 per post\/page.<\/li>\n<li>CSV export with UTF-8 BOM (Excel-compatible).<\/li>\n<li>Results cached for 1 hour with manual refresh.<\/li>\n<\/ul>","raw_excerpt":"Complete SEO content audit for WordPress. Detect real issues in every post and page \u2014 no external tools needed.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/319760","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=319760"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/javierld"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=319760"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=319760"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=319760"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=319760"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=319760"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=319760"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}