{"id":330358,"date":"2026-06-28T12:14:05","date_gmt":"2026-06-28T12:14:05","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/seamless-seo\/"},"modified":"2026-08-31T18:53:15","modified_gmt":"2026-08-31T18:53:15","slug":"enhanceo","status":"publish","type":"plugin","link":"https:\/\/xho.wordpress.org\/plugins\/enhanceo\/","author":23535813,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.1","stable_tag":"1.1.1","tested":"7.1","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"Elevoire SEO Toolkit","header_author":"Elevoire","header_description":"Seamless, clean, and light-weight SEO for any WordPress site. Handles meta tags, Open Graph, Twitter Cards, XML Sitemap, Schema.org JSON-LD and title templates without getting in your way.","assets_banners_color":"6f6f6f","last_updated":"2026-08-31 18:53:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/enhanceo\/","header_author_uri":"https:\/\/elevoire.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":226,"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":"hassanraza","date":"2026-07-17 20:09:31","revision":3611982},"1.1.0":{"tag":"1.1.0","author":"hassanraza","date":"2026-07-18 20:43:00","revision":3612990},"1.1.1":{"tag":"1.1.1","author":"elevoire","date":"2026-08-31 18:53:15","revision":3674821}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3637118,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3637118,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3638371,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3638371,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Settings \u2014 General (title templates, robots, noindex options)","2":"Settings \u2014 Social (Open Graph, Twitter Cards \u2014 separate toggles)","3":"Settings \u2014 Sitemap (with per-post-type priorities)","4":"Settings \u2014 Schema.org (configurable article type)","5":"Settings \u2014 Redirects (add\/manage 301\u2013308 redirects with hit counters)","6":"Settings \u2014 Advanced (robots.txt editor, performance hints)","7":"Post editor metabox with live Google preview, focus keyword analysis, and media picker"}},"plugin_section":[],"plugin_tags":[6487,726,1117,186,6358],"plugin_category":[55],"plugin_contributors":[272881,269240],"plugin_business_model":[],"class_list":["post-330358","plugin","type-plugin","status-publish","hentry","plugin_tags-open-graph","plugin_tags-redirects","plugin_tags-schema","plugin_tags-seo","plugin_tags-xml-sitemap","plugin_category-seo-and-marketing","plugin_contributors-elevoire","plugin_contributors-hassanraza","plugin_committers-elevoire","plugin_committers-hassanraza","plugin_support_reps-hassanraza"],"banners":{"banner":"https:\/\/ps.w.org\/enhanceo\/assets\/banner-772x250.png?rev=3638371","banner_2x":"https:\/\/ps.w.org\/enhanceo\/assets\/banner-1544x500.png?rev=3638371","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/enhanceo\/assets\/icon-128x128.png?rev=3637118","icon_2x":"https:\/\/ps.w.org\/enhanceo\/assets\/icon-256x256.png?rev=3637118","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Elevoire SEO Toolkit gives you everything you need for on-page SEO without the confusion of heavyweight plugins. No upsells, no redirects to external dashboards, no unnecessary features. Just solid SEO fundamentals that work for any kind of website.<\/p>\n\n<p><strong>What it does:<\/strong><\/p>\n\n<ul>\n<li><strong>Meta Title &amp; Description<\/strong> \u2014 Per-post and per-page overrides with a live Google preview<\/li>\n<li><strong>Focus Keyword &amp; SEO Analysis<\/strong> \u2014 Set a focus keyword per post and get instant checks: keyword in title, first paragraph, meta description, density, word count, and internal links<\/li>\n<li><strong>Title Templates<\/strong> \u2014 Use variables like <code>%title%<\/code>, <code>%sitename%<\/code>, <code>%sep%<\/code>, <code>%category%<\/code>, <code>%author%<\/code> across all post types<\/li>\n<li><strong>Open Graph tags<\/strong> \u2014 Full <code>og:<\/code> meta support with <code>og:image:alt<\/code> and correct <code>og:locale<\/code> format<\/li>\n<li><strong>Twitter \/ X Cards<\/strong> \u2014 Separate toggle, <code>twitter:creator<\/code> per post and per author profile<\/li>\n<li><strong>Canonical URLs<\/strong> \u2014 Global and per-post canonical control, with correct paged archive canonicals<\/li>\n<li><strong>Robots Meta<\/strong> \u2014 Per-post noindex\/nofollow, plus granular archive rules including a paged-archive toggle<\/li>\n<li><strong>XML Sitemap<\/strong> \u2014 Paginated sitemap index with real taxonomy lastmod dates, per-post-type priorities, image support, and XSL stylesheet<\/li>\n<li><strong>Schema.org JSON-LD<\/strong> \u2014 WebSite, Organization\/Person, WebPage, Article\/BlogPosting\/NewsArticle, BreadcrumbList, WooCommerce Product<\/li>\n<li><strong>Redirect Manager<\/strong> \u2014 Add, enable\/disable, and track 301\/302\/307\/308 redirects with hit counters, no extra plugin needed<\/li>\n<li><strong>robots.txt Editor<\/strong> \u2014 Append custom directives to your virtual robots.txt from within WordPress<\/li>\n<li><strong>hreflang Support<\/strong> \u2014 Automatic alternate link tags when WPML or Polylang is active<\/li>\n<li><strong>REST API<\/strong> \u2014 Full computed SEO meta exposed via <code>\/wp-json\/elevoire-seo\/v1\/meta\/{id}<\/code> for headless WordPress setups<\/li>\n<li><strong>Performance Hints<\/strong> \u2014 Preconnect to Google Fonts and DNS prefetch for your CDN<\/li>\n<li><strong>Character Counters<\/strong> \u2014 Live visual feedback on title and description length directly in the editor<\/li>\n<li><strong>WP Cleanup<\/strong> \u2014 Remove generator tag, RSD link, and shortlink from <code>&lt;head&gt;<\/code><\/li>\n<li><strong>Search Engine Pinging<\/strong> \u2014 Notifies Google and Bing automatically on publish<\/li>\n<\/ul>\n\n<p><strong>No tracking. No telemetry. No accounts required.<\/strong><\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin contacts the following external services under specific conditions:<\/p>\n\n<p><strong>Google Ping<\/strong> (<code>https:\/\/www.google.com\/ping<\/code>)\nWhen a post or page is published, the plugin sends your sitemap URL to Google's ping endpoint to notify it of new content. Only your public sitemap URL is transmitted. No user data or personal information is sent.\n- <a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a><\/p>\n\n<p><strong>Bing Ping<\/strong> (<code>https:\/\/www.bing.com\/ping<\/code>)\nSame as above, for Bing\/Microsoft search.\n- <a href=\"https:\/\/privacy.microsoft.com\/en-us\/privacystatement\">Microsoft Privacy Policy<\/a><\/p>\n\n<p>Both pings can be disabled by turning off the XML Sitemap under <strong>Elevoire SEO Toolkit \u2192 Sitemap<\/strong>.<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>Elevoire SEO Toolkit does not collect, store, or transmit any personal data about site visitors or site administrators. All SEO data (titles, descriptions, redirects, etc.) is stored locally in your WordPress database.<\/p>\n\n<p>The only external contact this plugin makes is the optional search engine ping described above, which transmits only a public URL.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>enhanceo<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>Elevoire SEO Toolkit<\/strong> in your admin sidebar to configure settings<\/li>\n<\/ol>\n\n<p><strong>Upgrading from 1.0.0:<\/strong> Simply update the plugin. All existing settings are preserved automatically. The new redirect manager table is created on first load \u2014 no deactivation\/reactivation needed.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20conflict%20with%20other%20seo%20plugins%3F\"><h3>Does it conflict with other SEO plugins?<\/h3><\/dt>\n<dd><p>You should only run one SEO plugin at a time. If you have another SEO plugin active, deactivate it before using Elevoire SEO Toolkit to avoid duplicate meta tags.<\/p><\/dd>\n<dt id=\"where%20is%20my%20sitemap%3F\"><h3>Where is my sitemap?<\/h3><\/dt>\n<dd><p>At <code>yourdomain.com\/sitemap.xml<\/code>. You can enable\/disable it and choose which post types and taxonomies to include under <strong>Elevoire SEO Toolkit \u2192 Sitemap<\/strong>.<\/p><\/dd>\n<dt id=\"can%20i%20set%20a%20custom%20title%20and%20description%20per%20post%3F\"><h3>Can I set a custom title and description per post?<\/h3><\/dt>\n<dd><p>Yes. A metabox appears on every post\/page edit screen with a live Google preview, character counters, focus keyword analysis, and fields for title, description, social image, Twitter creator, robots, and canonical URL.<\/p><\/dd>\n<dt id=\"does%20it%20support%20custom%20post%20types%3F\"><h3>Does it support custom post types?<\/h3><\/dt>\n<dd><p>Yes. Title templates and metaboxes work on all public post types automatically.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20the%20block%20editor%20%28gutenberg%29%3F\"><h3>Is it compatible with the block editor (Gutenberg)?<\/h3><\/dt>\n<dd><p>Yes. The metabox appears in the sidebar for all editors.<\/p><\/dd>\n<dt id=\"does%20it%20support%20woocommerce%3F\"><h3>Does it support WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. When WooCommerce is active, the plugin automatically outputs Product schema with price, availability, and aggregate rating structured data.<\/p><\/dd>\n<dt id=\"does%20it%20support%20multilingual%20sites%20%28wpml%20%2F%20polylang%29%3F\"><h3>Does it support multilingual sites (WPML \/ Polylang)?<\/h3><\/dt>\n<dd><p>Yes. When WPML or Polylang is active, <code>hreflang<\/code> alternate link tags are automatically output for all available translations.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20with%20a%20headless%20wordpress%20setup%3F\"><h3>Can I use it with a headless WordPress setup?<\/h3><\/dt>\n<dd><p>Yes. All computed SEO meta (title, description, canonical, robots, OG, Twitter, schema type) is available via the REST API at <code>\/wp-json\/elevoire-seo\/v1\/meta\/{post_id}<\/code>, and as a <code>seo_meta<\/code> field on all standard post endpoints.<\/p><\/dd>\n<dt id=\"does%20it%20contact%20any%20external%20services%3F\"><h3>Does it contact any external services?<\/h3><\/dt>\n<dd><p>When a post or page is published, the plugin optionally notifies Google and Bing of your sitemap URL. This sends only your public sitemap URL to <code>google.com\/ping<\/code> and <code>bing.com\/ping<\/code> \u2014 no personal data, no user data. You can disable this by disabling the sitemap entirely under Elevoire SEO Toolkit \u2192 Sitemap.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fixed: Twitter Cards now have their own <code>twitter_enabled<\/code> toggle, independent of Open Graph<\/li>\n<li>Fixed: Paged archives (page 2+) noindex is now a configurable setting, not hardcoded<\/li>\n<li>Fixed: Author sitemap entry now respects the \"Noindex Author Archives\" setting<\/li>\n<li>Fixed: <code>get_post_type_archive_link()<\/code> received wrong argument type \u2014 CPT archive canonicals now resolve correctly<\/li>\n<li>Fixed: <code>article:published_time<\/code>\/<code>article:modified_time<\/code> no longer emitted on pages and products<\/li>\n<li>Added: <code>og:image:alt<\/code> tag using WordPress media library alt text<\/li>\n<li>Added: <code>twitter:creator<\/code> per-post field and per-author profile field<\/li>\n<li>Fixed: <code>og:locale<\/code> now correctly outputs <code>ll_CC<\/code> format for all locales<\/li>\n<li>Added: <code>&lt;meta name=\"author\"&gt;<\/code> on singular posts<\/li>\n<li>Added: Configurable article schema type (BlogPosting, Article, NewsArticle, TechArticle)<\/li>\n<li>Fixed: Taxonomy sitemap entries now carry real <code>lastmod<\/code> dates<\/li>\n<li>Added: Per-post-type sitemap priority overrides<\/li>\n<li>Added: <code>hreflang<\/code> alternate link tags (WPML and Polylang support)<\/li>\n<li>Fixed: Paged archives now emit correct paginated canonical URLs<\/li>\n<li>Added: WordPress media library picker for the Social Image field in the metabox<\/li>\n<li>Moved all inline styles to admin.css<\/li>\n<li>Added: Focus keyword field with live SEO analysis (keyword in title, intro, description, density, word count, internal links)<\/li>\n<li>Added: Redirect Manager (301\/302\/307\/308 with hit counting, enable\/disable toggle)<\/li>\n<li>Added: robots.txt extra rules editor on Advanced settings tab<\/li>\n<li>Added: Performance hints (preconnect Google Fonts, dns-prefetch CDN)<\/li>\n<li>Added: REST API endpoint <code>\/wp-json\/elevoire-seo\/v1\/meta\/{id}<\/code> and <code>seo_meta<\/code> field on post endpoints<\/li>\n<li>Added: WooCommerce Product schema with Offer, price, availability, and AggregateRating<\/li>\n<li>Refactored: Class-map autoloader replaces manual require_once chain<\/li>\n<li>Refactored: Plugin init wrapped in <code>Enhanceo_SEO_Bootstrap<\/code> class, no more global functions<\/li>\n<li>Added: Schema version + automatic settings migration for future upgrades<\/li>\n<li>Added: CHANGELOG.md<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"A clean, powerful SEO plugin. Meta tags, Open Graph, Twitter Cards, XML Sitemap, Schema.org JSON-LD, Redirects, and focus-keyword analysis.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/330358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=330358"}],"author":[{"embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/elevoire"}],"wp:attachment":[{"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=330358"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=330358"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=330358"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=330358"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=330358"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=330358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}