{"id":343192,"date":"2026-07-24T10:04:47","date_gmt":"2026-07-24T10:04:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/omni-webmaster-seo-suite\/"},"modified":"2026-07-24T13:36:56","modified_gmt":"2026-07-24T13:36:56","slug":"omni-webmaster-seo-suite","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/omni-webmaster-seo-suite\/","author":20936549,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.1.2","stable_tag":"2.1.2","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Omni Webmaster & SEO Suite","header_author":"Ivan Lin","header_description":"\u4e00\u7ad9\u5f0f WordPress \u7db2\u7ad9\u512a\u5316\u8207 SEO \u7ad9\u9577\u5de5\u5177\u3002\u6574\u5408\u4e86 SEO \u6a19\u8a18\u512a\u5316\u3001\u9032\u968e RSS \u63a7\u5236\u3001\u4e2d\u6587\u6a19\u984c\u81ea\u52d5\u7ffb\u8b6f\u3001\u5b8c\u5168\u7981\u7528\u7559\u8a00\u4ee5\u53ca\u9078\u64c7\u6027\u505c\u7528\u5716\u7247\u7e2e\u5716\u8207\u4e00\u9375\u6279\u6b21\u6e05\u7406\u529f\u80fd\u3002","assets_banners_color":"166789","last_updated":"2026-07-24 13:36:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/ivanusto\/omni-webmaster-seo-suite","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":76,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0":{"tag":"2.0","author":"ivanusto","date":"2026-07-24 10:04:27"},"2.1":{"tag":"2.1","author":"ivanusto","date":"2026-07-24 12:51:17"},"2.1.1":{"tag":"2.1.1","author":"ivanusto","date":"2026-07-24 13:12:03"},"2.1.2":{"tag":"2.1.2","author":"ivanusto","date":"2026-07-24 13:36:56"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3621110,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3621110,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3621110,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3621110,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0","2.1","2.1.1","2.1.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3621343,"resolution":"1","location":"assets","locale":"","width":1119,"height":1005},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3621343,"resolution":"2","location":"assets","locale":"","width":1084,"height":1021},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3621362,"resolution":"3","location":"assets","locale":"","width":1044,"height":966}},"screenshots":{"1":"SEO &amp; Site Optimization settings tab with toggles for RSS control, HTML head cleanup, robots meta, sitemap sanitization, and XML-RPC hardening.","2":"Media &amp; Thumbnails tab: selectively disable individual thumbnail sizes to stop them from being generated on upload.","3":"Batch thumbnail cleanup tool with safe-mode options, live progress bar, and per-batch log console (shown running in the bundled Traditional Chinese locale)."}},"plugin_section":[],"plugin_tags":[107,247,186,2956,2333],"plugin_category":[44,54,55],"plugin_contributors":[273134],"plugin_business_model":[],"class_list":["post-343192","plugin","type-plugin","status-publish","hentry","plugin_tags-comments","plugin_tags-performance","plugin_tags-seo","plugin_tags-thumbnails","plugin_tags-translation","plugin_category-discussion-and-community","plugin_category-security-and-spam-protection","plugin_category-seo-and-marketing","plugin_contributors-ivanusto","plugin_committers-ivanusto"],"banners":{"banner":"https:\/\/ps.w.org\/omni-webmaster-seo-suite\/assets\/banner-772x250.png?rev=3621110","banner_2x":"https:\/\/ps.w.org\/omni-webmaster-seo-suite\/assets\/banner-1544x500.png?rev=3621110","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/omni-webmaster-seo-suite\/assets\/icon-128x128.png?rev=3621110","icon_2x":"https:\/\/ps.w.org\/omni-webmaster-seo-suite\/assets\/icon-256x256.png?rev=3621110","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/omni-webmaster-seo-suite\/assets\/screenshot-1.png?rev=3621343","caption":"SEO &amp; Site Optimization settings tab with toggles for RSS control, HTML head cleanup, robots meta, sitemap sanitization, and XML-RPC hardening."},{"src":"https:\/\/ps.w.org\/omni-webmaster-seo-suite\/assets\/screenshot-2.png?rev=3621343","caption":"Media &amp; Thumbnails tab: selectively disable individual thumbnail sizes to stop them from being generated on upload."},{"src":"https:\/\/ps.w.org\/omni-webmaster-seo-suite\/assets\/screenshot-3.png?rev=3621362","caption":"Batch thumbnail cleanup tool with safe-mode options, live progress bar, and per-batch log console (shown running in the bundled Traditional Chinese locale)."}],"raw_content":"<!--section=description-->\n<p>Omni Webmaster &amp; SEO Suite is a lightweight, high-performance toolkit designed to improve your website's SEO, speed, and management. By consolidating several essential tools into one cohesive admin interface, this plugin helps you maintain a clean codebase and optimize server resources.<\/p>\n\n<p>This plugin incorporates the following major components:<\/p>\n\n<ol>\n<li><p>SEO &amp; Optimization\nAdvanced RSS Control: Disable non-essential RSS feeds (returning HTTP 410) to reduce crawler load. Only keeps homepage, category, and author feeds active.\nHTML Head Cleanup: Removes redundant feed links, RSD, WLManifest, shortlink, and REST API header markings.\nRobots Meta Customization: Automatically tags tags archive, date archive, internal search, and deep pagination (page 3+) as <code>noindex, follow<\/code> to focus search authority.\nSitemap Sanitization: Excludes <code>post_tag<\/code> from WordPress native sitemaps to prevent indexing low-quality archive pages.\nXML-RPC Hardening: Optionally strips all WordPress XML-RPC methods (wp.*, metaWeblog.*, blogger.*, mt.*, pingback.*), keeping only three harmless system methods, to shut down xmlrpc.php brute-force and pingback abuse without touching .htaccess. Also removes the X-Pingback response header.<\/p><\/li>\n<li><p>Comments Control\nDisable Comments Everywhere: Completely turn off comments, trackbacks, and pingbacks across all post types. Hides historical comments and removes comment menus and widgets from the WordPress dashboard.<\/p><\/li>\n<li><p>Media &amp; Thumbnail Optimization\nSelective Thumbnail Disabling: Stop WordPress from generating specific sizes on upload to save storage space.\nAJAX Thumbnail Cleanup: A safe, batch-based AJAX cleanup tool (50 attachments per run) to recursively delete historical thumbnail files with a live progress bar.<\/p><\/li>\n<li><p>Slug Translator\nAuto Asian Title to English Slug: Integrates with Google Cloud Translation API to translate Asian-language titles (Chinese, Japanese, Korean, Thai) into clean, lowercase English URL slugs, preventing duplicate URLs and character overflow. The source language is auto-detected.\nThis module shares its core logic with the standalone plugin Chinese to English Slug Converter (zh-to-en-slug): https:\/\/github.com\/ivanusto\/zh-to-en-slug \u2014 use the standalone plugin if slug translation is the only feature you need.<\/p><\/li>\n<li><p>Meta Pixel Tracking\nMeta (Facebook) Pixel integration with PageView, ViewContent, and Search event tracking. Site staff are excluded by default to keep ad audience data clean.<\/p><\/li>\n<li><p>Post Data Export\nPreview and export monthly post data (including a configurable page-view meta key) as CSV from the admin panel.<\/p><\/li>\n<li><p>Homepage Meta Tags &amp; Structured Data\nOutputs Meta Description, Open Graph social sharing tags (og:title, og:description, og:image, twitter:card), and Schema.org WebSite\/Organization JSON-LD on the homepage \u2014 a lightweight alternative when no full SEO plugin is installed. Automatically disables its output when a major SEO plugin (Yoast SEO, Rank Math, All in One SEO, SEOPress, The SEO Framework) is detected to prevent duplicate tags.<\/p><\/li>\n<\/ol>\n\n<h4>Origin Projects<\/h4>\n\n<p>This suite grew out of six standalone plugins previously written by the author, consolidated and optimized into one toolkit:<\/p>\n\n<ul>\n<li>disable-all-thumbnails: https:\/\/github.com\/ivanusto\/disable-all-thumbnails<\/li>\n<li>disable-all-comments: https:\/\/github.com\/ivanusto\/disable-all-comments<\/li>\n<li>zh-to-en-slug: https:\/\/github.com\/ivanusto\/zh-to-en-slug<\/li>\n<li>smart-image-upload-resizer: https:\/\/github.com\/ivanusto\/smart-image-upload-resizer<\/li>\n<li>smart-file-renamer: https:\/\/github.com\/ivanusto\/smart-file-renamer<\/li>\n<li>modern-rss-image-feed: https:\/\/github.com\/ivanusto\/modern-rss-image-feed<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin utilizes third-party and external services to provide specific functionalities:<\/p>\n\n<ol>\n<li><p>Google Cloud Translation API &amp; Google Translate Public Endpoint:<\/p>\n\n<ul>\n<li>What it is: Used to translate Asian-language post titles into English lowercase slugs.<\/li>\n<li>Data sent: The text of the post title is sent to Google's translation endpoints when a post whose title contains Asian-script characters (Chinese, Japanese, Korean, Thai) is created or updated. No personally identifiable information (PII) or user data is transmitted.<\/li>\n<li>Terms and Privacy:\n\n<ul>\n<li>Google Terms of Service: https:\/\/policies.google.com\/terms<\/li>\n<li>Google Privacy Policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul><\/li>\n<\/ul><\/li>\n<li><p>Meta (Facebook) Pixel:<\/p>\n\n<ul>\n<li>What it is: Used for tracking website visitor interactions (PageView, ViewContent, and Search events) for analytics and advertising.<\/li>\n<li>Data sent: Sends visitor interaction data (visited page URL, search queries) to Meta. By default, logged-in site staff (users with <code>edit_posts<\/code> capability) are excluded, and tracking is disabled on feeds, previews, and oEmbed pages.<\/li>\n<li>Terms and Privacy:\n\n<ul>\n<li>Meta Business Tools Terms: https:\/\/www.facebook.com\/legal\/controller_addendum<\/li>\n<li>Meta Privacy Policy: https:\/\/www.facebook.com\/privacy\/policy\/<\/li>\n<\/ul><\/li>\n<\/ul><\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>omni-webmaster-seo-suite<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Configure the settings under 'Settings &gt; Omni Webmaster'.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20translation%20require%20an%20api%20key%3F\"><h3>Does translation require an API Key?<\/h3><\/dt>\n<dd><p>No, an API key is optional. With a Google Cloud Translation API key configured, the official Cloud API is used. If the key is left blank (or a Cloud API call fails), the plugin falls back to the key-less public Google Translate endpoint automatically.<\/p><\/dd>\n<dt id=\"does%20deleting%20thumbnails%20delete%20my%20original%20images%3F\"><h3>Does deleting thumbnails delete my original images?<\/h3><\/dt>\n<dd><p>No. It only deletes resized sub-sizes. Your original uploaded images remain completely safe.<\/p><\/dd>\n<dt id=\"will%20settings%20from%20separate%20legacy%20plugins%20be%20migrated%3F\"><h3>Will settings from separate legacy plugins be migrated?<\/h3><\/dt>\n<dd><p>No. This plugin uses a clean, unified settings array (<code>omni_webmaster_settings<\/code>) to prevent database clutter. You will need to check the desired options in the new admin settings panel.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>Plugin Check compliance: admin-page strings containing markup are now output through wp_kses_post() instead of _e(), and the two dynamic notices are escaped the same way (fixes 17 escaping errors).<\/li>\n<li>Added the missing translators comment for the custom image size label.<\/li>\n<li>GitHub release packages no longer bundle the zh-TW README; removed a legacy zip from the repository.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Slug Translator settings now recommend using a Google Cloud Translation API key: the keyless fallback endpoint can produce lower-quality slugs (e.g. <code>how-was-it-able-9<\/code>), and the description links to Google's API key setup guide.<\/li>\n<li>Refined the zh_TW translation of the Slug Translator description to mention Chinese, Japanese, Korean, and Thai support.<\/li>\n<\/ul>\n\n<h4>2.1<\/h4>\n\n<ul>\n<li>Interface is now English by default with full internationalization (i18n) support; Traditional Chinese (zh_TW) translation is bundled so existing Chinese sites keep their localized UI.<\/li>\n<li>Slug Translator generalized beyond Chinese: now detects Chinese, Japanese, Korean, and Thai titles, and lets Google Translate auto-detect the source language.<\/li>\n<li>Added directory screenshots and screenshot captions.<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Resolved official WordPress.org Plugin Directory review feedback: removed persistent database updates to core media size options (thumbnail_size_w\/h) so core media settings remain intact.<\/li>\n<li>Replaced direct style tag outputs with wp_add_inline_style() calls using version tags for cleaner CSP compliance and caching.<\/li>\n<li>Added External Services section in readme.txt to comply with Guideline 6 regarding Google Translate and Meta Pixel.<\/li>\n<\/ul>\n\n<h4>1.9<\/h4>\n\n<ul>\n<li>Added XML-RPC Security Hardening option (SEO tab, off by default): removes all WordPress XML-RPC methods (wp.*, metaWeblog.*, blogger.*, mt.*, pingback.*), keeping only system.multicall, system.listMethods, and system.getCapabilities.<\/li>\n<li>Blocks xmlrpc.php credential brute-force (e.g. via wp.getUsersBlogs) and pingback amplification abuse; works on any web server without .htaccess rules.<\/li>\n<li>Removes the X-Pingback response header when hardening is enabled.<\/li>\n<\/ul>\n\n<h4>1.8<\/h4>\n\n<ul>\n<li>Added Homepage Meta Tags &amp; Structured Data module: outputs Meta Description, Open Graph tags (og:type\/site_name\/title\/description\/url\/image\/locale, twitter:card), and Schema.org WebSite + Organization JSON-LD on the homepage.<\/li>\n<li>Output is limited to the first page of the homepage (paginated pages excluded) to avoid duplicate descriptions across URLs.<\/li>\n<li>Automatic conflict detection: output is suppressed when Yoast SEO, Rank Math, All in One SEO, SEOPress, or The SEO Framework is active, with a notice shown in the settings panel.<\/li>\n<li>Added og:image picker with WordPress media library integration and live preview in the admin panel.<\/li>\n<li>Added live character counter (90-160 recommended range) for the homepage meta description field.<\/li>\n<li>Organization logo uses the Site Icon when set, falling back to the configured share image.<\/li>\n<li>JSON-LD is printed via wp_print_inline_script_tag with wp_json_encode for safe, CSP-friendly output.<\/li>\n<li>Added omni_meta_tags_enabled filter so themes or consent plugins can conditionally disable output.<\/li>\n<\/ul>\n\n<h4>1.7<\/h4>\n\n<ul>\n<li>Rewrote the Slug Translator module to align with the standalone zh-to-en-slug plugin (v1.2.2) implementation, with shared API-call helpers for the save-time translation and the AJAX key test.<\/li>\n<li>Cloud Translation API requests now ask for plain-text responses (format=text) so HTML entities can no longer pollute generated slugs.<\/li>\n<li>Translation now only runs for an allow-list of post statuses (draft, publish, future, pending, private), customizable via the new omni_slug_allowed_statuses filter.<\/li>\n<li>Plugin settings are now loaded lazily on first use instead of on every page load.<\/li>\n<li>Hardened the AJAX API test endpoint: added a manage_options capability check and escaped all dynamic output.<\/li>\n<li>Generated slugs now keep a minimum length of 8 characters, and the max-length setting is clamped to 20-200 so the ID reserve can no longer truncate slugs to an empty string.<\/li>\n<li>Fixed the OMNI_WEBMASTER_VERSION constant lagging behind the actual plugin version.<\/li>\n<li>Documentation: corrected the API-key FAQ (key-less fallback) and cross-linked the standalone zh-to-en-slug project.<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Optimized Meta Pixel module: settings are now cached per request instead of being re-read on every output hook.<\/li>\n<li>Added \"Exclude site staff\" option (enabled by default) so logged-in users with edit_posts capability are no longer tracked, keeping ad audience data clean.<\/li>\n<li>Pixel tracking is now skipped on feeds, post previews, customizer previews, and oEmbed pages.<\/li>\n<li>Pixel ID is strictly sanitized to digits only on save and on output.<\/li>\n<li>Added preconnect\/dns-prefetch resource hints for connect.facebook.net to speed up fbevents.js loading.<\/li>\n<li>Advanced event parameters (ViewContent\/Search) are now encoded with wp_json_encode for safer output.<\/li>\n<li>Inline pixel script is now printed via wp_print_inline_script_tag() for CSP-nonce compatibility.<\/li>\n<li>Fixed unescaped ampersand in the noscript fallback image URL.<\/li>\n<li>Added omni_meta_pixel_enabled filter so themes or consent plugins can conditionally disable tracking.<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Added Meta Pixel tracking integration.<\/li>\n<li>Added PageView, ViewContent (on single posts\/pages), and Search tracking.<\/li>\n<li>Added Meta Pixel tracking settings tab and options in admin console.<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Fixed Google Translate API double URL-encoding issue that caused translation failures.<\/li>\n<li>Fixed post slug getting stuck as 'auto-draft' when saving Chinese-titled posts.<\/li>\n<li>Excluded 'auto-draft' and 'inherit' statuses from trigger translation workflow to optimize performance.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Hardened the oEmbed cache cleanup query (escaped LIKE wildcard, prepared statement) and now flush the object cache after purging so stale embed cards regenerate reliably.<\/li>\n<li>Auto-purge oEmbed failure cache when the \"HTML Head Cleanup\" or embed-style options change, so degraded embed cards recover without a manual reset.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Updated version and Tested up to compatibility with WordPress 7.0.<\/li>\n<li>Resolved various official Plugin Check report warnings including database caching, parameter escaping, input sanitization\/unslashing, hook prefixing, and WP_Filesystem usage.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<p>Fixed settings tab panel display issue where settings were overwritten.\nFixed coding standards, text domain mismatches, output escaping, and database query caching.\nRenamed global initialization function for prefix safety.<\/p>\n\n<h4>1.0.0<\/h4>\n\n<p>Initial release.\nIntegrated SEO cleanup, comment block, thumbnail control with AJAX cleanup, and slug translation.<\/p>","raw_excerpt":"An all-in-one performance &amp; SEO suite: cleans HTML head, restricts RSS, disables comments\/thumbnails, and translates Asian-language URL slugs.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/343192","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=343192"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ivanusto"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=343192"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=343192"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=343192"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=343192"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=343192"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=343192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}