{"id":10681,"date":"2026-05-18T22:30:10","date_gmt":"2026-05-18T14:30:10","guid":{"rendered":"https:\/\/aeosub.com\/seopulse\/"},"modified":"2026-05-18T22:30:10","modified_gmt":"2026-05-18T14:30:10","slug":"seopulse","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/seopulse\/","title":{"rendered":"SEOPulse &#8211; Complete SEO Toolkit"},"content":{"rendered":"<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 15px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\"><img decoding=\"async\" src=\"https:\/\/ps.w.org\/seopulse\/assets\/icon-256x256.png?rev=3535735\" style=\"width: 40px;height: 40px;border-radius: 6px;margin-right: 12px;vertical-align: middle\"> Developer<\/th>\n<td style=\"padding: 15px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/citrusdevlab\/\" target=\"_blank\" rel=\"noopener\">Alexandre Jacquin<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v1.0.0<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">0 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">6.0 \/ 6.9.4<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-05-18 2:05pm GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/seopulse\/\" target=\"_blank\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\" rel=\"noopener\">View Details \u2192<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">SEOPulse boosts WordPress SEO with real-time analysis, Local Business schema, Google News, sitemaps &amp; GDPR analytics.<\/div>\n<h3>The modern, all-in-one SEO plugin for WordPress<\/h3>\n<p>SEOPulse is a complete WordPress SEO solution that helps you optimize your content, manage your metadata, generate sitemaps, handle redirections, and improve your local search visibility \u2014 all from a single, modular plugin.<\/p>\n<p>\u2714 <strong>Real-time content analysis with SEO scoring (0\u2013100) and actionable recommendations<\/strong><br \/>\n\u2714 <strong>Up to unlimited focus keywords per post with per-keyword scoring<\/strong><br \/>\n\u2714 <strong>Open Graph, Twitter Card &amp; LinkedIn live social previews directly in the editor<\/strong><br \/>\n\u2714 <strong>Meta Template Engine with 99+ dynamic variables for titles and descriptions<\/strong><br \/>\n\u2714 <strong>XML sitemaps: posts, pages, taxonomies, images, and Google News<\/strong><br \/>\n\u2714 <strong>301\/302 URL redirections with 404 monitoring<\/strong><br \/>\n\u2714 <strong>Local Business JSON-LD schema<\/strong><br \/>\n\u2714 <strong>GDPR-compliant Google Analytics 4, Google Tag Manager &amp; cookie consent banner<\/strong><br \/>\n\u2714 <strong>Migrate from Yoast SEO, Rank Math, SEOPress and AIOSeo in one click<\/strong><br \/>\n\u2714 <strong>No ads, fully modular \u2014 disable what you don&#8217;t need<\/strong><\/p>\n<h3>Why choose SEOPulse?<\/h3>\n<ul>\n<li><strong>All in one<\/strong>: No need for separate plugins for sitemaps, redirects, schemas, or analytics. SEOPulse bundles everything. Disable unused modules with one click.<\/li>\n<li><strong>Easy AND powerful<\/strong>: The setup wizard guides you through initial configuration. Advanced users get access to 99+ template variables, REST API endpoints and WP-CLI commands.<\/li>\n<li><strong>Modern architecture<\/strong>: Built on PHP 8.1 with a modular design, SEOPulse is fast, extensible, and developer-friendly.<\/li>\n<li><strong>Migrate easily<\/strong>: Import your focus keywords, meta tags, and Open Graph data from Yoast SEO, Rank Math, SEOPress or All In One SEO in a single click.<\/li>\n<\/ul>\n<h3>Features<\/h3>\n<ul>\n<li><strong>Installation wizard<\/strong> to quickly setup your site<\/li>\n<li><strong>Content analysis<\/strong> with up to 5 focus keywords per post and real-time SEO scoring (0\u2013100)<\/li>\n<li><strong>18+ content checks<\/strong>: title structure, heading hierarchy, word count, keyword density, links, images, alt text<\/li>\n<li><strong>Readability analysis<\/strong>: Flesch Reading Ease, sentence length, passive voice, complex words, transition words<\/li>\n<li><strong>Mobile \/ Desktop Google Preview<\/strong> to see how your post appears in search results<\/li>\n<li><strong>Facebook, Twitter &amp; LinkedIn social previews<\/strong> directly in the editor sidebar<\/li>\n<li><strong>SEO titles &amp; meta descriptions<\/strong> with dynamic variables (post title, author, date, custom fields\u2026)<\/li>\n<li><strong>Meta Template Engine<\/strong>: 16 namespaces, 99+ variables, conditional rendering, fallback chains<\/li>\n<li><strong>Open Graph &amp; Twitter Cards<\/strong> for better social sharing on Facebook, LinkedIn, Twitter, WhatsApp\u2026<\/li>\n<li><strong>Custom canonical URL<\/strong> and robots directives (noindex, nofollow, noarchive)<\/li>\n<li><strong>XML Sitemaps<\/strong>: posts, pages, custom post types, taxonomies, images<\/li>\n<li><strong>Google News Sitemap<\/strong> with multilingual support (WPML, Polylang, TranslatePress)<\/li>\n<li><strong>robots.txt management<\/strong> with auto-insertion of sitemap URL<\/li>\n<li><strong>301\/302 URL redirections<\/strong> with exact matching, hit counter, and chain detection<\/li>\n<li><strong>404 monitoring<\/strong>: automatic logging with referrer, user agent, deduplication, and bot filtering (up to 100 entries)<\/li>\n<li><strong>Redirect suggestions<\/strong> for 404 URLs<\/li>\n<li><strong>CSV export<\/strong> for redirects and 404 logs<\/li>\n<li><strong>Local Business SEO<\/strong>: single-location JSON-LD schema with address, opening hours, phone, email, social profiles, business identity, logo, ratings, and pricing<\/li>\n<li><strong>JSON-LD schema<\/strong>: Organization, WebSite, Article, FAQ, HowTo, Product (WooCommerce)<\/li>\n<li><strong>JSON-LD validator<\/strong> with browser preview<\/li>\n<li><strong>Google Analytics 4<\/strong> (GA4) with Consent Mode v2 and GDPR compliance<\/li>\n<li><strong>Google Tag Manager<\/strong> (GTM) with consent-aware script injection<\/li>\n<li><strong>GDPR cookie consent banner<\/strong>: customizable position, theme, message, and button text<\/li>\n<li><strong>Instant indexing<\/strong>: IndexNow protocol and Google Indexing API with submission log<\/li>\n<li><strong>Google Suggest integration<\/strong> for keyword research in the editor<\/li>\n<li><strong>WooCommerce support<\/strong>: Product schema auto-injection, meta template variables (price, SKU, rating\u2026)<\/li>\n<li><strong>SEO columns<\/strong> in post\/page lists: sortable score, title, description, focus keywords with color-coded badges<\/li>\n<li><strong>Admin bar SEO score<\/strong> for quick reference<\/li>\n<li><strong>Image ALT auto-fill<\/strong> and image diagnostics<\/li>\n<li><strong>HTML Head cleanup<\/strong>: remove generator tag, emoji scripts, WLW manifest, shortlinks, RSD links<\/li>\n<li><strong>Freeze Modified Date<\/strong> to preserve SEO history on post edits<\/li>\n<li><strong>Import\/Export settings<\/strong> in JSON format and one-click plugin reset<\/li>\n<li><strong>Migrate from<\/strong> Yoast SEO, Rank Math, SEOPress and All In One SEO<\/li>\n<li><strong>WP-CLI commands<\/strong>: analyze, dashboard, migrate, export, import<\/li>\n<li><strong>Full REST API<\/strong> for all major features<\/li>\n<li><strong>Multisite compatible<\/strong><\/li>\n<li><strong>Multilingual ready<\/strong>: WPML, Polylang, TranslatePress<\/li>\n<\/ul>\n<h3>All Features Included<\/h3>\n<p>SEOPulse ships with every feature unlocked \u2014 no upsells, no limits:<\/p>\n<ul>\n<li><strong>Unlimited focus keywords<\/strong> per post<\/li>\n<li><strong>Unlimited redirections<\/strong> with regex pattern support and capture groups<\/li>\n<li><strong>CSV redirect import\/export<\/strong> for bulk redirect management<\/li>\n<li><strong>Extended Local SEO fields<\/strong>: fax, GPS coordinates, price range, aggregate rating, area served, founding date, number of employees, payment methods, slogan, currencies accepted\u2026<\/li>\n<\/ul>\n<h3>WooCommerce SEO<\/h3>\n<p>SEOPulse integrates with WooCommerce out of the box:<\/p>\n<ul>\n<li>Automatic Product JSON-LD schema (name, price, availability, SKU, ratings, brand, images)<\/li>\n<li>WooCommerce variables in the Meta Template Engine (price, SKU, rating, stock\u2026)<\/li>\n<li>Freeze Modified Date to preserve SEO history on product edits<\/li>\n<li>Enhanced product schema, breadcrumb customization, and category SEO optimization<\/li>\n<\/ul>\n<h3>Developers will love SEOPulse!<\/h3>\n<ul>\n<li>Modular architecture with 6 toggleable modules<\/li>\n<li>Full REST API under `\/wp-json\/seopulse\/v1\/` for every feature<\/li>\n<li>WP-CLI commands for batch operations (analyze, migrate, export, import)<\/li>\n<li>Hooks and filters for extensibility (`seopulse_container_built`, `seopulse_modules_definition`\u2026)<\/li>\n<li>Modern codebase with PSR-4 autoloading<\/li>\n<\/ul>\n<h3>External Services<\/h3>\n<p>This plugin connects to several third-party external services as described below. No data is sent to any external service without the site administrator explicitly enabling the corresponding feature.<\/p>\n<h4>Google Analytics 4 (GA4)<\/h4>\n<p>When the GA4 tracking feature is enabled by the administrator, this plugin loads the Google Analytics 4 script on the frontend of your website.<\/p>\n<ul>\n<li><strong>What it does:<\/strong> Collects anonymous website usage and traffic data for analytics purposes.<\/li>\n<li><strong>When data is sent:<\/strong> On every frontend page load, after the visitor has given consent (if the cookie consent banner is enabled).<\/li>\n<li><strong>What data is sent:<\/strong> Page views, user interactions, browser information, and other analytics data are collected client-side by Google&#8217;s script and sent to Google&#8217;s servers.<\/li>\n<li><strong>Service provider:<\/strong> Google LLC<\/li>\n<li><a href=\"https:\/\/marketingplatform.google.com\/about\/analytics\/terms\/us\/\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Analytics Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/policies.google.com\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n<h4>Google Tag Manager (GTM)<\/h4>\n<p>When the GTM feature is enabled by the administrator, this plugin loads the Google Tag Manager script and noscript iframe on the frontend.<\/p>\n<ul>\n<li><strong>What it does:<\/strong> Manages and deploys marketing and analytics tags on your website.<\/li>\n<li><strong>When data is sent:<\/strong> On every frontend page load, after the visitor has given consent (if the cookie consent banner is enabled).<\/li>\n<li><strong>What data is sent:<\/strong> Page views, browser information, and any data configured within your GTM container. The GTM container ID is embedded in the script URL.<\/li>\n<li><strong>Service provider:<\/strong> Google LLC<\/li>\n<li><a href=\"https:\/\/marketingplatform.google.com\/about\/analytics\/tag-manager\/use-policy\/\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Tag Manager Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/policies.google.com\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n<h4>Google Consent Mode v2<\/h4>\n<p>When Google Consent Mode v2 is enabled alongside GA4 or GTM, this plugin injects a consent defaults script on the frontend.<\/p>\n<ul>\n<li><strong>What it does:<\/strong> Sets all Google consent categories to &#8220;denied&#8221; by default until the visitor explicitly grants consent via the cookie banner.<\/li>\n<li><strong>When data is sent:<\/strong> No additional data is sent. This script configures the behavior of other Google scripts already loaded on the page.<\/li>\n<li><strong>Service provider:<\/strong> Google LLC<\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/security\/guides\/consent\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Consent Mode documentation<\/a><\/li>\n<li><a href=\"https:\/\/policies.google.com\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n<h4>Google Indexing API<\/h4>\n<p>When the Google Indexing feature is enabled by the administrator and a service account JSON key file has been uploaded, this plugin submits URLs to Google for indexing.<\/p>\n<ul>\n<li><strong>What it does:<\/strong> Notifies Google when pages are published, updated, or deleted so they can be crawled and indexed faster.<\/li>\n<li><strong>When data is sent:<\/strong> Automatically when a post is published, updated, or deleted, or manually via the admin interface.<\/li>\n<li><strong>What data is sent:<\/strong> The page URL and the action type (URL_UPDATED or URL_DELETED). For authentication, a JWT assertion signed with the service account private key is sent to Google&#8217;s OAuth2 token endpoint.<\/li>\n<li><strong>Service provider:<\/strong> Google LLC<\/li>\n<li><a href=\"https:\/\/developers.google.com\/terms\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Indexing API Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/policies.google.com\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n<h4>Google Autocomplete (Google Suggest)<\/h4>\n<p>This plugin uses the Google Autocomplete API to provide keyword suggestions in the editor.<\/p>\n<ul>\n<li><strong>What it does:<\/strong> Retrieves keyword suggestions based on a search query to help with SEO keyword research.<\/li>\n<li><strong>When data is sent:<\/strong> When an administrator uses the Google Suggest feature in the post editor. Requests are rate-limited (2 per minute) and results are cached for 1 hour.<\/li>\n<li><strong>What data is sent:<\/strong> The search keyword and the site language code.<\/li>\n<li><strong>Service provider:<\/strong> Google LLC<\/li>\n<li><a href=\"https:\/\/policies.google.com\/terms\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/policies.google.com\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n<h4>Google Sitemap Ping<\/h4>\n<p>When an administrator manually triggers a search engine ping from the Sitemap settings page, this plugin notifies Google about the sitemap.<\/p>\n<ul>\n<li><strong>What it does:<\/strong> Notifies Google that a sitemap has been updated.<\/li>\n<li><strong>When data is sent:<\/strong> Only when the administrator clicks the &#8220;Ping search engines&#8221; button.<\/li>\n<li><strong>What data is sent:<\/strong> The sitemap URL of your website.<\/li>\n<li><strong>Service provider:<\/strong> Google LLC<\/li>\n<li><a href=\"https:\/\/policies.google.com\/terms\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/policies.google.com\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n<h4>Bing Sitemap Ping<\/h4>\n<p>When an administrator manually triggers a search engine ping from the Sitemap settings page, this plugin notifies Bing about the sitemap.<\/p>\n<ul>\n<li><strong>What it does:<\/strong> Notifies Bing that a sitemap has been updated.<\/li>\n<li><strong>When data is sent:<\/strong> Only when the administrator clicks the &#8220;Ping search engines&#8221; button.<\/li>\n<li><strong>What data is sent:<\/strong> The sitemap URL of your website.<\/li>\n<li><strong>Service provider:<\/strong> Microsoft Corporation<\/li>\n<li><a href=\"https:\/\/www.bing.com\/webmasters\/terms\" rel=\"nofollow ugc noopener\" target=\"_blank\">Bing Webmaster Tools Terms of Use<\/a><\/li>\n<li><a href=\"https:\/\/privacy.microsoft.com\/en-us\/privacystatement\" rel=\"nofollow ugc noopener\" target=\"_blank\">Microsoft Privacy Statement<\/a><\/li>\n<\/ul>\n<h4>IndexNow API<\/h4>\n<p>When the IndexNow feature is enabled by the administrator, this plugin submits URLs to the IndexNow API for faster indexing by participating search engines (Bing, Yandex, and others).<\/p>\n<ul>\n<li><strong>What it does:<\/strong> Notifies search engines when pages are published, updated, or deleted.<\/li>\n<li><strong>When data is sent:<\/strong> Automatically when a post is published, updated, or deleted.<\/li>\n<li><strong>What data is sent:<\/strong> The page URL and an auto-generated API key. The request is sent to <code>https:\/\/api.indexnow.org\/indexnow<\/code>.<\/li>\n<li><strong>Service provider:<\/strong> IndexNow.org (supported by Microsoft Bing, Naver, Seznam.cz, Yandex, and Yep)<\/li>\n<li><a href=\"https:\/\/www.indexnow.org\/terms\" rel=\"nofollow ugc noopener\" target=\"_blank\">IndexNow Terms and Conditions<\/a><\/li>\n<li><a href=\"https:\/\/privacy.microsoft.com\/en-us\/privacystatement\" rel=\"nofollow ugc noopener\" target=\"_blank\">Microsoft Privacy Statement<\/a><\/li>\n<\/ul>\n<h4>OpenStreetMap Nominatim Geocoding API<\/h4>\n<p>The Local SEO module uses the Nominatim geocoding API to convert a business address into GPS coordinates.<\/p>\n<ul>\n<li><strong>What it does:<\/strong> Converts an address to GPS coordinates (geocoding) directly from the Local SEO admin settings.<\/li>\n<li><strong>When data is sent:<\/strong> When an administrator clicks the &#8220;Get Coordinates&#8221; button after filling in their business address.<\/li>\n<li><strong>What data is sent:<\/strong> The address search query. The administrator&#8217;s IP address is visible to the API server.<\/li>\n<li><strong>Service provider:<\/strong> OpenStreetMap Foundation<\/li>\n<li><a href=\"https:\/\/operations.osmfoundation.org\/policies\/nominatim\/\" rel=\"nofollow ugc noopener\" target=\"_blank\">Nominatim Usage Policy<\/a><\/li>\n<li><a href=\"https:\/\/wiki.osmfoundation.org\/wiki\/Privacy_Policy\" rel=\"nofollow ugc noopener\" target=\"_blank\">OpenStreetMap Privacy Policy<\/a><\/li>\n<\/ul>\n<h4>YouTube (Privacy-Enhanced Mode)<\/h4>\n<p>The setup wizard embeds a tutorial video using YouTube&#8217;s privacy-enhanced mode.<\/p>\n<ul>\n<li><strong>What it does:<\/strong> Displays an embedded YouTube video in the plugin setup wizard.<\/li>\n<li><strong>When data is sent:<\/strong> When an administrator clicks the play button on the video in the setup wizard. YouTube&#8217;s privacy-enhanced mode (youtube-nocookie.com) is used to minimize tracking.<\/li>\n<li><strong>What data is sent:<\/strong> Standard video embed request data (IP address, browser information). A video thumbnail image is also loaded from img.youtube.com.<\/li>\n<li><strong>Service provider:<\/strong> Google LLC (YouTube)<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/t\/terms\" rel=\"nofollow ugc noopener\" target=\"_blank\">YouTube Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/policies.google.com\/privacy\" rel=\"nofollow ugc noopener\" target=\"_blank\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n<h4>XML Sitemaps Validator (xml-sitemaps.com)<\/h4>\n<p>The Sitemap settings page includes a link that lets administrators validate their sitemap against the XML Sitemap standard using the xml-sitemaps.com online validator.<\/p>\n<ul>\n<li><strong>What it does:<\/strong> Validates the XML sitemap file of your website for conformity with the XML Sitemap protocol.<\/li>\n<li><strong>When data is sent:<\/strong> Only when the administrator explicitly clicks the &#8220;Validate sitemap&#8221; link. The link opens the external validator in a new browser tab \u2014 no data is sent automatically by the plugin.<\/li>\n<li><strong>What data is sent:<\/strong> The public URL of your website&#8217;s sitemap is passed as a URL parameter to the validator.<\/li>\n<li><strong>Service provider:<\/strong> xml-sitemaps.com<\/li>\n<li><a href=\"https:\/\/www.xml-sitemaps.com\/privacy-policy.html\" rel=\"nofollow ugc noopener\" target=\"_blank\">xml-sitemaps.com Privacy Policy<\/a><\/li>\n<\/ul>\n<h3>Source Code &amp; Build Instructions<\/h3>\n<p>The full uncompiled source code is publicly available on GitHub:<br \/>\nhttps:\/\/github.com\/wp-seopulse\/wp-seopulse-free<\/p>\n<p>The compiled and minified files in <code>assets\/build\/<\/code> (e.g. <code>admin.js<\/code>, <code>editor-sidebar.js<\/code>, <code>setup-wizard.js<\/code>, etc.) are generated from the human-readable source files using <code>@wordpress\/scripts<\/code> (webpack). No external code is fetched at build time beyond npm dependencies declared in <code>package.json<\/code>.<\/p>\n<h4>Source file locations (in the GitHub repository)<\/h4>\n<ul>\n<li>JavaScript \/ TypeScript source: <code>assets\/src\/<\/code> (React components, Gutenberg blocks, admin pages)<\/li>\n<li>SCSS source for admin styles: <code>assets\/css\/seopulse-admin.scss<\/code><\/li>\n<li>SCSS source for module styles: <code>Modules\/MetaSeo\/assets\/css\/<\/code><\/li>\n<li>Webpack configuration: <code>webpack.config.js<\/code><\/li>\n<li>Build dependencies: <code>package.json<\/code><\/li>\n<\/ul>\n<h4>Build Instructions<\/h4>\n<p>To build from source, clone the GitHub repository and run the following commands. You need Node.js (v18 or higher) and npm.<\/p>\n<ol>\n<li>Clone the repository: <code>git clone https:\/\/github.com\/wp-seopulse\/wp-seopulse-free<\/code><\/li>\n<li>Navigate to the plugin directory: <code>cd wp-seopulse-free<\/code><\/li>\n<li>Install dependencies: <code>npm install<\/code><\/li>\n<li>Build production assets: <code>npm run build<\/code><\/li>\n<li>For development with live rebuilds: <code>npm start<\/code><\/li>\n<\/ol>\n<p>The build process uses <code>@wordpress\/scripts<\/code> (which includes webpack) to compile TypeScript\/JSX into JavaScript and SCSS into CSS. The output is written to <code>assets\/build\/<\/code>.<\/p>\n<h4>PHP Dependencies<\/h4>\n<p>Composer is used for PHP autoloading. Vendor dependencies are included in the <code>vendor\/<\/code> directory. To regenerate: <code>composer install --no-dev<\/code><\/p>","protected":false},"excerpt":{"rendered":"<p>SEOPulse boosts WordPress SEO with real-time analysis, Local Business schema, Google News, sitemaps &amp; GDPR analytics.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[1231,1232,553,554,555,1233],"class_list":["post-10681","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-local-business","tag-redirections","tag-schema","tag-seo","tag-wordpress-plugin","tag-xml-sitemap"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=10681"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10681\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=10681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=10681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=10681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}