{"id":358771,"date":"2026-08-28T08:03:50","date_gmt":"2026-08-28T08:03:50","guid":{"rendered":"https:\/\/cn.wordpress.org\/plugins\/lesep\/"},"modified":"2026-08-28T08:03:14","modified_gmt":"2026-08-28T08:03:14","slug":"lesep","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/lesep\/","author":16982120,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.2","stable_tag":"1.2.2","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"LeSEP - \u591a\u5408\u4e00\u641c\u7d22\u5f15\u64ce\u63d0\u4ea4\u63d2\u4ef6","header_author":"\u8001\u848b","header_description":"\u652f\u6301\u8c37\u6b4c\u3001\u5fc5\u5e94\u3001\u767e\u5ea6\u3001\u5934\u6761\u7b49\u4e3b\u6d41\u641c\u7d22\u5f15\u64ce\u7684 URL \u63d0\u4ea4\uff0c\u4fc3\u8fdb\u6536\u5f55\u3002","assets_banners_color":"c5cee6","last_updated":"2026-08-28 08:03:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.lezaiyun.com\/lesep.html","header_author_uri":"https:\/\/www.lezaiyun.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":59,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.2":{"tag":"1.2.2","author":"laobuluo","date":"2026-08-28 08:03:14","revision":3669997}},"upgrade_notice":{"1.2.2":"<p>WordPress.org review compliance: safer Toutiao script handling, updated Chart.js, and documented external services.<\/p>","1.2.1":"<p>Recommended update with batch submit, safer auto-push behavior, and WordPress.org compliance fixes.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3669997,"resolution":"128x128","location":"assets","locale":"","width":128,"height":122},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3669997,"resolution":"256x256","location":"assets","locale":"","width":256,"height":244}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3669997,"resolution":"772x250","location":"assets","locale":"","width":800,"height":396}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3669997,"resolution":"1","location":"assets","locale":"","width":1554,"height":1197},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3669997,"resolution":"2","location":"assets","locale":"","width":1591,"height":1211},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3669997,"resolution":"3","location":"assets","locale":"","width":1580,"height":1146}},"screenshots":{"1":"Search engine configuration and connection tests","2":"General settings for auto submission","3":"Manual batch URL submission","4":"Submission log and charts"}},"plugin_section":[],"plugin_tags":[6330,150,10557,204677,186],"plugin_category":[55],"plugin_contributors":[169988],"plugin_business_model":[],"class_list":["post-358771","plugin","type-plugin","status-publish","hentry","plugin_tags-baidu","plugin_tags-google","plugin_tags-indexing","plugin_tags-indexnow","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-laobuluo","plugin_committers-laobuluo"],"banners":{"banner":"https:\/\/ps.w.org\/lesep\/assets\/banner-772x250.png?rev=3669997","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/lesep\/assets\/icon-128x128.png?rev=3669997","icon_2x":"https:\/\/ps.w.org\/lesep\/assets\/icon-256x256.png?rev=3669997","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/lesep\/assets\/screenshot-1.png?rev=3669997","caption":"Search engine configuration and connection tests"},{"src":"https:\/\/ps.w.org\/lesep\/assets\/screenshot-2.png?rev=3669997","caption":"General settings for auto submission"},{"src":"https:\/\/ps.w.org\/lesep\/assets\/screenshot-3.png?rev=3669997","caption":"Manual batch URL submission"}],"raw_content":"<!--section=description-->\n<p>LESEP helps WordPress site owners notify search engines when content is published, updated, or removed. It supports multiple search providers from one settings screen.<\/p>\n\n<h4>Supported search engines<\/h4>\n\n<ul>\n<li><strong>Google<\/strong> \u2014 Indexing API with a service account JSON key<\/li>\n<li><strong>Bing<\/strong> \u2014 official IndexNow endpoint<\/li>\n<li><strong>IndexNow alliance<\/strong> \u2014 public IndexNow endpoint for multiple engines<\/li>\n<li><strong>Yandex<\/strong> \u2014 IndexNow endpoint for Yandex Search<\/li>\n<li><strong>Baidu<\/strong> \u2014 active URL push API from Baidu Webmaster Tools<\/li>\n<li><strong>Toutiao<\/strong> \u2014 auto-push script from Toutiao Webmaster Tools (only allowlisted CDN script URLs are output)<\/li>\n<\/ul>\n\n<p>IndexNow-based engines can share one API key. The plugin can serve a virtual <code>{key}.txt<\/code> file so you do not need to upload it manually.<\/p>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li><strong>Event-based auto submission<\/strong> \u2014 only pushes when you publish, schedule publish, update published posts, or delete\/trash content. Existing site content is not scanned or re-submitted automatically.<\/li>\n<li><strong>Async queue<\/strong> \u2014 URLs are queued and submitted via WP-Cron without blocking post saves.<\/li>\n<li><strong>Manual batch submit<\/strong> \u2014 paste up to 500 URLs per request on a dedicated admin tab.<\/li>\n<li><strong>Connection tests<\/strong> \u2014 test API credentials from the admin screen.<\/li>\n<li><strong>Key file check<\/strong> \u2014 verify IndexNow key files are publicly reachable.<\/li>\n<li><strong>Submission logs<\/strong> \u2014 charts, recent entries, export to JSON\/CSV, delete and clear actions.<\/li>\n<li><strong>Encrypted secrets<\/strong> \u2014 API keys, tokens, and JSON credentials are encrypted before storage.<\/li>\n<li><strong>Migration<\/strong> \u2014 imports settings from the legacy <code>webmastersubmit<\/code> plugin slug.<\/li>\n<\/ul>\n\n<h4>Admin location<\/h4>\n\n<p><strong>Settings \u2192 Search Engine Submission<\/strong><\/p>\n\n<p>Tabs: Search Engines | General | Batch Submit | Submission Log<\/p>\n\n<h4>Links<\/h4>\n\n<ul>\n<li>Plugin homepage: https:\/\/www.lezaiyun.com\/lesep.html<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to third-party search-engine APIs and CDNs so it can notify those services about your content URLs. No visitor personal profiles are collected by the plugin itself. When an enabled engine runs, the plugin may send the public post\/page URLs of your site (and, where required by the provider, your configured site host, API token\/key, or OAuth credentials). Data is sent only when you enable an engine and a submit action occurs (publish\/update\/delete auto-queue, manual batch submit, or connection test), except Toutiao which loads its script on frontend page views while enabled.<\/p>\n\n<h4>Google Indexing API and Google OAuth<\/h4>\n\n<ul>\n<li>Used for: authenticating with a Google service account and submitting URL update\/delete notifications.<\/li>\n<li>Data sent: JWT assertion to obtain an access token; then public content URLs and notification type (<code>URL_UPDATED<\/code> \/ <code>URL_DELETED<\/code>) to the Indexing API.<\/li>\n<li>Endpoints: <code>https:\/\/oauth2.googleapis.com\/token<\/code>, <code>https:\/\/indexing.googleapis.com\/v3\/urlNotifications:publish<\/code><\/li>\n<li>Terms of Service: https:\/\/developers.google.com\/terms<\/li>\n<li>Privacy Policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<h4>Bing IndexNow<\/h4>\n\n<ul>\n<li>Used for: submitting URLs to Bing via IndexNow.<\/li>\n<li>Data sent: your IndexNow key, key file location, host, and the list of public URLs being submitted.<\/li>\n<li>Endpoint: <code>https:\/\/www.bing.com\/indexnow<\/code><\/li>\n<li>Terms of Service: https:\/\/www.microsoft.com\/servicesagreement<\/li>\n<li>Privacy Policy: https:\/\/privacy.microsoft.com\/privacystatement<\/li>\n<\/ul>\n\n<h4>IndexNow (alliance endpoint)<\/h4>\n\n<ul>\n<li>Used for: submitting URLs through the public IndexNow API shared by participating search engines.<\/li>\n<li>Data sent: your IndexNow key, key file location, host, and the list of public URLs being submitted.<\/li>\n<li>Endpoint: <code>https:\/\/api.indexnow.org\/indexnow<\/code><\/li>\n<li>Terms of Service \/ Privacy: https:\/\/www.indexnow.org\/terms<\/li>\n<\/ul>\n\n<h4>Yandex IndexNow<\/h4>\n\n<ul>\n<li>Used for: submitting URLs to Yandex via IndexNow.<\/li>\n<li>Data sent: your IndexNow key, key file location, host, and the list of public URLs being submitted.<\/li>\n<li>Endpoint: <code>https:\/\/yandex.com\/indexnow<\/code><\/li>\n<li>Terms of Service: https:\/\/yandex.com\/legal\/webmaster_termsofuse\/<\/li>\n<li>Privacy Policy: https:\/\/yandex.com\/legal\/confidential\/<\/li>\n<\/ul>\n\n<h4>Baidu URL submission API<\/h4>\n\n<ul>\n<li>Used for: pushing public URLs to Baidu Search Resource Platform for faster discovery.<\/li>\n<li>Data sent: configured site host, API token, and the list of public URLs in the request body.<\/li>\n<li>Endpoint: <code>http:\/\/data.zz.baidu.com\/urls<\/code><\/li>\n<li>Terms \/ legal notices: https:\/\/www.baidu.com\/duty\/<\/li>\n<li>Privacy Policy: https:\/\/www.baidu.com\/duty\/yinsiquan.html<\/li>\n<\/ul>\n\n<h4>Toutiao (ByteDance) auto-push script<\/h4>\n\n<ul>\n<li>Used for: loading the official Toutiao webmaster auto-inclusion script so visiting browsers can help Toutiao discover page URLs.<\/li>\n<li>Data sent: when the feature is enabled, visitors' browsers request the allowlisted Toutiao\/ByteDance CDN script URL you configured; the script may observe the current page URL in the visitor browser context according to Toutiao's own script behavior.<\/li>\n<li>Typical CDN hosts: ByteDance\/Toutiao CDN domains such as <code>*.bytegoofy.com<\/code><\/li>\n<li>Terms of Service: https:\/\/www.toutiao.com\/user_agreement\/<\/li>\n<li>Privacy Policy: https:\/\/www.toutiao.com\/privacy_protection\/<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>lesep<\/code> folder to <code>\/wp-content\/plugins\/<\/code> or install the ZIP from the WordPress admin.<\/li>\n<li>Activate <strong>lesep<\/strong>.<\/li>\n<li>Open <strong>Settings \u2192 Search Engine Submission<\/strong>, enable the engines you need, and save API credentials.<\/li>\n<li>Configure auto-submission options on the <strong>General<\/strong> tab.<\/li>\n<li>Use <strong>Test connection<\/strong> on each engine to verify credentials.<\/li>\n<\/ol>\n\n<p>If you previously used the <code>webmastersubmit<\/code> plugin, settings are migrated automatically on load.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20submit%20all%20old%20posts%20automatically%3F\"><h3>Will this submit all old posts automatically?<\/h3><\/dt>\n<dd><p>No. Auto submission runs only when you publish, schedule publish, update published content, or delete\/trash supported post types. Use <strong>Batch Submit<\/strong> to manually push historical URLs.<\/p><\/dd>\n<dt id=\"baidu%20returns%20%22site%20init%20fail%22.%20what%20should%20i%20do%3F\"><h3>Baidu returns \"site init fail\". What should I do?<\/h3><\/dt>\n<dd><p>The <code>site<\/code> value must be a plain domain such as <code>www.example.com<\/code> without <code>http:\/\/<\/code> or <code>https:\/\/<\/code>, and it must exactly match the site verified in Baidu Webmaster Tools.<\/p><\/dd>\n<dt id=\"google%20test%20fails%20but%20other%20engines%20work.%20why%3F\"><h3>Google test fails but other engines work. Why?<\/h3><\/dt>\n<dd><p>The Google Indexing API is mainly intended for specific URL types such as job postings and broadcast events. Generic blog posts may be rejected by Google even when credentials are valid.<\/p><\/dd>\n<dt id=\"how%20does%20toutiao%20work%3F\"><h3>How does Toutiao work?<\/h3><\/dt>\n<dd><p>Paste the auto-push JavaScript from Toutiao Webmaster Tools into the Toutiao engine settings. The plugin extracts only HTTPS script URLs on allowlisted Toutiao\/ByteDance CDN hosts and outputs a safe external <code>&lt;script src&gt;<\/code> tag in the frontend <code>&lt;head&gt;<\/code>. Arbitrary inline JavaScript is not executed.<\/p><\/dd>\n<dt id=\"what%20happens%20on%20uninstall%3F\"><h3>What happens on uninstall?<\/h3><\/dt>\n<dd><p>Options, pending queue data, logs, scheduled events, and Google token transients are removed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Constrained Toutiao auto-push output to allowlisted CDN script URLs with late <code>wp_kses<\/code> escaping<\/li>\n<li>Upgraded bundled Chart.js to 4.5.1<\/li>\n<li>Documented third-party \/ external services, data sent, and Terms\/Privacy links in readme<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Added Batch Submit tab for manual URL lists (up to 500 URLs)<\/li>\n<li>Removed sitemap auto-fetch submission<\/li>\n<li>Event-based auto submission for publish, update, and delete<\/li>\n<li>Baidu site field and HTTP endpoint fixes<\/li>\n<li>Toutiao JS auto-push support<\/li>\n<li>Renamed from webmastersubmit to lesep with data migration<\/li>\n<li>Bundled Chart.js locally for WordPress.org compliance<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Split IndexNow engines (Bing \/ alliance \/ Yandex)<\/li>\n<li>Submission log charts and export<\/li>\n<li>Encrypted credential storage<\/li>\n<\/ul>","raw_excerpt":"Submit WordPress URLs to Google, Bing, Baidu, IndexNow, Yandex, and more to improve search indexing.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/358771","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=358771"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/laobuluo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=358771"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=358771"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=358771"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=358771"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=358771"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=358771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}