{"id":285847,"date":"2026-03-23T17:47:19","date_gmt":"2026-03-23T17:47:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pseo-pro-by-knr\/"},"modified":"2026-03-27T04:09:23","modified_gmt":"2026-03-27T04:09:23","slug":"knr-pseo-generator","status":"publish","type":"plugin","link":"https:\/\/nl-be.wordpress.org\/plugins\/knr-pseo-generator\/","author":23459432,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.4.2","stable_tag":"2.4.2","tested":"6.9.4","requires":"5.5","requires_php":"7.4","requires_plugins":null,"header_name":"Big SEO Programmatic","header_author":"Kailas Nath R","header_description":"Generate thousands of SEO-optimised pages from CSV, XLSX, Google Sheets, JSON or REST API. Unlimited rows, built-in schema, meta, sitemap, cron & WP-CLI \u2014 all free.","assets_banners_color":"","last_updated":"2026-03-27 04:09:23","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/iam-knr.github.io\/pseo_byknr\/","header_author_uri":"https:\/\/www.linkedin.com\/in\/iamknr","rating":0,"author_block_rating":0,"active_installs":60,"downloads":304,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.2.0":{"tag":"2.2.0","author":"kailasnathr","date":"2026-03-24 17:30:49"},"2.2.0.1":{"tag":"2.2.0.1","author":"kailasnathr","date":"2026-03-26 06:02:05"},"2.3.0":{"tag":"2.3.0","author":"kailasnathr","date":"2026-03-26 05:33:31"},"2.4.0":{"tag":"2.4.0","author":"kailasnathr","date":"2026-03-26 06:38:20"},"2.4.1":{"tag":"2.4.1","author":"kailasnathr","date":"2026-03-26 10:24:12"},"2.4.2":{"tag":"2.4.2","author":"kailasnathr","date":"2026-03-27 04:09:23"}},"upgrade_notice":{"2.4.2":"<p>Minor bug fixes. Recommended update for all users.<\/p>","2.2.0":"<p>Major stability release for all programmatic SEO users. Resolves white screen bug on bulk page generation, AJAX save failure, JS loading issues, and UI overflow. Plugin renamed to Big SEO Programmatic. Strongly recommended for all users.<\/p>","2.0.1":"<p>Security hardening and WordPress Plugin Check compliance update for the bulk page generator. Recommended for all users on 1.0.0.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3489695,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3489695,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.2.0","2.2.0.1","2.3.0","2.4.0","2.4.1","2.4.2"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[258650,567,257913,213387,186],"plugin_category":[55],"plugin_contributors":[258651],"plugin_business_model":[],"class_list":["post-285847","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk-page-generator","plugin_tags-csv","plugin_tags-location-pages","plugin_tags-programmatic-seo","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-kailasnathr","plugin_committers-kailasnathr"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/knr-pseo-generator\/assets\/icon-128x128.png?rev=3489695","icon_2x":"https:\/\/ps.w.org\/knr-pseo-generator\/assets\/icon-256x256.png?rev=3489695","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Big SEO Programmatic<\/strong> is the fastest way to create thousands of location-based, service-based, or data-driven pages at scale \u2014 without touching code.<\/p>\n\n<p>Whether you're an agency running multi-location SEO campaigns, an SEO professional building niche programmatic pages, or a marketer scaling content production, this plugin handles all your programmatic SEO needs from a single CSV file.<\/p>\n\n<p>With a simple CSV upload you can generate unlimited SEO-optimised pages with unique titles, meta descriptions, canonical URLs, and JSON-LD schema \u2014 making it the most powerful free programmatic SEO plugin available for WordPress today.<\/p>\n\n<h4>What is Programmatic SEO?<\/h4>\n\n<p>Programmatic SEO is the strategy of generating large volumes of web pages automatically from a data source like CSV. Instead of writing each page manually, you define a template, connect your data, and publish thousands of unique, keyword-targeted pages in minutes. Sites like Tripadvisor, Zillow, and NerdWallet use programmatic SEO to dominate long-tail search at scale.<\/p>\n\n<p><strong>Big SEO Programmatic<\/strong> brings this enterprise-level strategy to any WordPress site \u2014 no coding, no limits, 100% free.<\/p>\n\n<h4>Core Features<\/h4>\n\n<ul>\n<li><strong>Unlimited rows<\/strong> \u2014 no artificial page limits; generate 1 to 100,000+ pages from a single CSV<\/li>\n<li><strong>Unlimited projects<\/strong> \u2014 run multiple programmatic SEO campaigns simultaneously<\/li>\n<li><strong>2 CSV data sources<\/strong> \u2014 CSV via URL or CSV file upload (server path)<\/li>\n<li><strong>Smart update engine<\/strong> \u2014 existing pages are updated, not duplicated on re-run<\/li>\n<li><strong>Orphan detection<\/strong> \u2014 auto-delete pages removed from the data source<\/li>\n<li><strong>Any post type<\/strong> \u2014 Pages, Posts, or any registered custom post type<\/li>\n<\/ul>\n\n<h4>Template Engine<\/h4>\n\n<p>Build powerful bulk page templates with our intuitive placeholder system:<\/p>\n\n<ul>\n<li><code>{{placeholder}}<\/code> \u2014 column value substitution (HTML-escaped)<\/li>\n<li><code>{{raw:placeholder}}<\/code> \u2014 unescaped HTML column output for rich content<\/li>\n<li><code>{Option A|Option B|Option C}<\/code> \u2014 spintax for natural content variation across generated pages<\/li>\n<li><code>[if:column=value]...[\/if]<\/code> \u2014 conditional blocks for dynamic, data-driven content<\/li>\n<li>Supports <code>=<\/code>, <code>!=<\/code>, <code>&gt;<\/code>, <code>&lt;<\/code>, <code>&gt;=<\/code>, <code>&lt;=<\/code> operators for precise conditionals<\/li>\n<\/ul>\n\n<h4>Programmatic SEO Features<\/h4>\n\n<ul>\n<li>Custom title tag and meta description per page \u2014 unique SEO metadata for every generated page<\/li>\n<li>Robots meta control \u2014 set index\/noindex per programmatic SEO project<\/li>\n<li>Canonical URL auto-injected on every generated page to prevent duplicate content<\/li>\n<li><strong>6 Schema types<\/strong> \u2014 Article, LocalBusiness, Product, FAQPage, BreadcrumbList, JobPosting<\/li>\n<li>JSON-LD schema output injected in <code>&lt;head&gt;<\/code> for full structured data SEO coverage<\/li>\n<li>Custom XML sitemap at <code>\/pseo-sitemap.xml<\/code> \u2014 submit to Google Search Console for fast indexing<\/li>\n<li>Fully compatible with <strong>Yoast SEO<\/strong> and <strong>Rank Math<\/strong> \u2014 no conflicts with existing SEO setup<\/li>\n<\/ul>\n\n<h4>Automation &amp; Bulk Page Generation<\/h4>\n\n<ul>\n<li><strong>Auto-sync<\/strong> \u2014 run bulk page generation on hourly, daily, or weekly WP Cron schedules<\/li>\n<li><strong>WP-CLI support<\/strong> \u2014 generate, delete, and list pages from terminal for large-scale bulk operations<\/li>\n<li><strong>Scheduled cron runs<\/strong> independently of user action \u2014 set-and-forget programmatic SEO automation<\/li>\n<\/ul>\n\n<h4>Programmatic SEO Use Cases<\/h4>\n\n<ul>\n<li><strong>Local SEO pages<\/strong> \u2014 generate \"Best [Service] in [City]\" pages targeting every location in your CSV<\/li>\n<li><strong>Service combination pages<\/strong> \u2014 \"[Service] for [Industry]\" bulk pages at unlimited scale<\/li>\n<li><strong>Product catalogue pages<\/strong> \u2014 individual SEO pages for every SKU or product variation<\/li>\n<li><strong>Job listing pages<\/strong> \u2014 bulk generate job postings with JobPosting structured data schema<\/li>\n<li><strong>Real estate listings<\/strong> \u2014 property pages with LocalBusiness and Product schema<\/li>\n<li><strong>Niche affiliate sites<\/strong> \u2014 data-driven, long-tail keyword pages from any CSV dataset<\/li>\n<li><strong>Multi-location agency SEO<\/strong> \u2014 run separate programmatic SEO projects per client from one install<\/li>\n<\/ul>\n\n<h4>Developer Features<\/h4>\n\n<ul>\n<li>PSR-4 style class autoloader for clean, maintainable architecture<\/li>\n<li><code>pseo_schema<\/code> filter hook \u2014 extend or override schema output per generated page<\/li>\n<li>Clean database with 3 custom tables; no post meta bloat<\/li>\n<li>Nonce-protected AJAX endpoints on all admin actions<\/li>\n<li>Full <code>manage_options<\/code> capability checks throughout<\/li>\n<li>All inputs sanitized, all outputs escaped \u2014 security-first bulk page generation<\/li>\n<li><strong>WordPress Plugin Check (PCP) compliant<\/strong> \u2014 0 errors, 0 warnings<\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Method 1 \u2014 Upload ZIP (Recommended)<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file<\/li>\n<li>Go to <strong>WP Admin &gt; Plugins &gt; Add New &gt; Upload Plugin<\/strong><\/li>\n<li>Select the ZIP &gt; <strong>Install Now<\/strong> &gt; <strong>Activate<\/strong><\/li>\n<li>Go to <strong>Settings &gt; Permalinks &gt; Save Changes<\/strong> (required to activate custom URL patterns)<\/li>\n<\/ol>\n\n<h4>Method 2 \u2014 Manual FTP<\/h4>\n\n<ol>\n<li>Upload <code>knr-pseo-generator\/<\/code> to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Go to <strong>Plugins &gt; Installed Plugins<\/strong> &gt; <strong>Activate<\/strong><\/li>\n<li>Go to <strong>Settings &gt; Permalinks &gt; Save Changes<\/strong><\/li>\n<\/ol>\n\n<h4>Method 3 \u2014 WP-CLI (Large-Scale Bulk Installs)<\/h4>\n\n<pre><code>wp plugin install \/path\/to\/knr-pseo-generator.zip --activate\nwp rewrite flush\n<\/code><\/pre>\n\n<h4>Quick Start: Your First Programmatic SEO Campaign<\/h4>\n\n<ol>\n<li>After activation, navigate to <strong>Big SEO Programmatic<\/strong> in your WP Admin menu<\/li>\n<li>Click <strong>Add New Project<\/strong><\/li>\n<li>Upload your CSV file or paste a CSV URL<\/li>\n<li>Set your URL pattern using column placeholders \u2014 e.g., <code>\/services\/{{service}}\/{{city}}\/<\/code><\/li>\n<li>Configure your page title template, meta description template, and schema type<\/li>\n<li>Click <strong>Generate Pages<\/strong> \u2014 all bulk pages go live instantly<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20programmatic%20seo%20and%20how%20does%20this%20plugin%20help%3F\"><h3>What is Programmatic SEO and how does this plugin help?<\/h3><\/dt>\n<dd><p>Programmatic SEO is the process of auto-generating hundreds or thousands of SEO-optimised pages from structured data (like CSV). This plugin is a dedicated programmatic SEO tool for WordPress \u2014 you provide the CSV and a page template, and it handles bulk page generation, SEO metadata, schema injection, and automatic sitemap updates.<\/p><\/dd>\n<dt id=\"how%20is%20this%20different%20from%20other%20bulk%20page%20generator%20plugins%3F\"><h3>How is this different from other bulk page generator plugins?<\/h3><\/dt>\n<dd><p>Most bulk page generators create pages but ignore SEO entirely. Big SEO Programmatic is built with SEO-first architecture \u2014 every generated page gets a unique title tag, meta description, canonical URL, robots directive, and JSON-LD schema. It also includes smart orphan detection, WP-CLI support, unlimited rows, and a custom XML sitemap \u2014 all for free.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20for%20local%20seo%20page%20generation%20at%20scale%3F\"><h3>Can I use this for local SEO page generation at scale?<\/h3><\/dt>\n<dd><p>Absolutely. Local SEO is one of the primary use cases for this programmatic SEO plugin. Create a CSV with city, service, and any other location data columns, build a template page, and generate hundreds of \"[Service] in [City]\" pages in minutes. Each page gets its own unique title, meta, and LocalBusiness schema.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20elementor%20or%20divi%20page%20builders%3F\"><h3>Does it work with Elementor or Divi page builders?<\/h3><\/dt>\n<dd><p>Yes. Set an Elementor or Divi template as the Content Template for your project \u2014 all <code>{{placeholders}}<\/code> inside the page builder content will be substituted automatically during bulk page generation.<\/p><\/dd>\n<dt id=\"will%20it%20conflict%20with%20yoast%20seo%20or%20rank%20math%3F\"><h3>Will it conflict with Yoast SEO or Rank Math?<\/h3><\/dt>\n<dd><p>No. Big SEO Programmatic injects meta tags at priority 1, ensuring no conflicts with Yoast SEO or Rank Math. Both SEO plugins can coexist on the same WordPress install running programmatic SEO campaigns.<\/p><\/dd>\n<dt id=\"is%20there%20a%20page%20limit%20for%20bulk%20page%20generation%3F\"><h3>Is there a page limit for bulk page generation?<\/h3><\/dt>\n<dd><p>No plugin-imposed limit. Generate as many pages as your CSV has rows. For very large programmatic SEO campaigns (10,000+ pages), use WP-CLI to avoid PHP timeouts.<\/p><\/dd>\n<dt id=\"can%20i%20use%20custom%20post%20types%20for%20generated%20pages%3F\"><h3>Can I use custom post types for generated pages?<\/h3><\/dt>\n<dd><p>Yes. Any public custom post type registered in WordPress appears in the post type dropdown \u2014 ideal for programmatic WooCommerce products, portfolio entries, staff directories, or custom listing types.<\/p><\/dd>\n<dt id=\"can%20i%20schedule%20automatic%20bulk%20page%20updates%20from%20csv%3F\"><h3>Can I schedule automatic bulk page updates from CSV?<\/h3><\/dt>\n<dd><p>Yes. Configure your project to auto-sync hourly, daily, or weekly via WP Cron. The bulk page generator will re-process your CSV automatically, updating existing pages and deleting orphaned ones \u2014 fully automated programmatic SEO.<\/p><\/dd>\n<dt id=\"does%20it%20auto-generate%20an%20xml%20sitemap%20for%20generated%20pages%3F\"><h3>Does it auto-generate an XML sitemap for generated pages?<\/h3><\/dt>\n<dd><p>Yes. A dedicated XML sitemap is automatically maintained at <code>\/pseo-sitemap.xml<\/code> listing all your programmatic SEO pages. Submit this URL directly to Google Search Console for rapid indexing.<\/p><\/dd>\n<dt id=\"what%20json-ld%20schema%20types%20are%20supported%3F\"><h3>What JSON-LD schema types are supported?<\/h3><\/dt>\n<dd><p>Big SEO Programmatic supports 6 schema types: <strong>Article<\/strong>, <strong>LocalBusiness<\/strong>, <strong>Product<\/strong>, <strong>FAQPage<\/strong>, <strong>BreadcrumbList<\/strong>, and <strong>JobPosting<\/strong> \u2014 the most commonly needed structured data types for programmatic SEO page templates.<\/p><\/dd>\n<dt id=\"can%20i%20run%20multiple%20programmatic%20seo%20campaigns%20from%20one%20install%3F\"><h3>Can I run multiple programmatic SEO campaigns from one install?<\/h3><\/dt>\n<dd><p>Yes. Create unlimited projects, each with its own CSV source, URL pattern, template, schema type, and sync schedule. Manage all your bulk page generation campaigns from a single dashboard.<\/p><\/dd>\n<dt id=\"why%20were%20json%20url%20and%20rest%20api%20sources%20removed%3F\"><h3>Why were JSON URL and REST API sources removed?<\/h3><\/dt>\n<dd><p>The plugin is now focused exclusively on CSV-based programmatic SEO workflows. CSV is the most universally supported data format for bulk page generation and keeps the configuration interface simple and reliable.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.4.2<\/h4>\n\n<ul>\n<li>Minor bug fixes and stability improvements<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Renamed plugin to \"Big SEO Programmatic\" to better reflect its programmatic SEO and bulk page generator capabilities<\/li>\n<li>Simplified data sources to CSV only (URL + server path) for focused programmatic SEO workflows<\/li>\n<li>Fixed critical white screen bug on project save during bulk page generation<\/li>\n<li>Fixed source_config double-encoding via json_decode() in programmatic SEO save handler<\/li>\n<li>Fixed orphaned delete_orphans call in class-pseo-ajax.php<\/li>\n<li>Fixed AJAX JS not loading on admin pages for bulk page generator UI<\/li>\n<li>Fixed JS object name mismatch in wp_localize_script<\/li>\n<li>Fixed all text domain mismatches throughout admin class<\/li>\n<li>UI fix \u2014 project action buttons now display in 2x2 grid layout<\/li>\n<li>Security \u2014 added wp_unslash() to all $_POST reads in bulk page generation forms<\/li>\n<li>Security \u2014 all outputs escaped with esc_attr \/ esc_html \/ esc_url across programmatic SEO views<\/li>\n<li>WordPress Plugin Check (PCP) compliant \u2014 0 errors, 0 warnings<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fixed text domain mismatch in programmatic SEO admin views<\/li>\n<li>Fixed README missing WordPress.org required plugin headers<\/li>\n<li>Removed deprecated load_plugin_textdomain() call from bulk page generator bootstrap<\/li>\n<li>Fixed unescaped output variables in generated page view templates<\/li>\n<li>Added nonce verification to all AJAX handlers in the bulk page generator<\/li>\n<li>Prefixed global variables in view templates to prevent conflicts<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release of the programmatic SEO plugin for WordPress<\/li>\n<li>Template engine with CSV-driven placeholders, spintax, and conditional blocks for bulk page generation<\/li>\n<li>6 JSON-LD schema types injected on all programmatic SEO generated pages<\/li>\n<li>Custom XML sitemap auto-generated for all bulk pages \u2014 ready for Google Search Console<\/li>\n<li>WP-CLI integration for command-line bulk page generation at any scale<\/li>\n<li>Hourly WP Cron auto-sync for fully automated programmatic SEO campaigns<\/li>\n<li>Full AJAX admin interface for managing programmatic SEO projects<\/li>\n<li>Nonce-protected AJAX security on all bulk page generator endpoints<\/li>\n<\/ul>","raw_excerpt":"Generate thousands of SEO pages from CSV. The #1 Programmatic SEO bulk page generator for WordPress \u2014 free, unlimited, no code needed.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/nl-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/285847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nl-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/nl-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/nl-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=285847"}],"author":[{"embeddable":true,"href":"https:\/\/nl-be.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kailasnathr"}],"wp:attachment":[{"href":"https:\/\/nl-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=285847"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/nl-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=285847"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/nl-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=285847"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/nl-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=285847"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/nl-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=285847"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/nl-be.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=285847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}