BigSEO Pages is a WordPress plugin built for marketers, agencies, & SEO professionals who need to generate large volumes of location-based, service-based, or data-driven pages at scale — without touching code. BigSEO Pages Programmatic SEO – Bulk Page Generator for WordPress Generate thousands of SEO-optimised pages from CSV. Unlimited rows · Built-in Schema · Meta Tags · XML Sitemap ·....
BigSEO Pages is a WordPress plugin built for marketers, agencies, & SEO professionals who need to generate large volumes of location-based, service-based, or data-driven pages at scale — without touching code.
BigSEO Pages
Programmatic SEO – Bulk Page Generator for WordPress
Generate thousands of SEO-optimised pages from CSV.
Unlimited rows · Built-in Schema · Meta Tags · XML Sitemap · Auto-Sync · WP-CLI — 100% Free.
📋 Table of Contents
- Overview
- Features
- Requirements
- Installation
- Quick Start
- Data Sources
- Template Syntax
- Project Settings Reference
- Schema Markup
- Auto-Sync & Cron
- XML Sitemap
- WP-CLI Commands
- Hooks & Filters
- Database Tables
- File Structure
- Troubleshooting
- FAQ
- Changelog
- Author
- License
Overview
BigSEO Pages is a WordPress plugin built for marketers, agencies, and SEO professionals who need to generate large volumes of location-based, service-based, or data-driven pages at scale — without touching code.
What is Programmatic SEO?
Programmatic SEO is the practice of creating hundreds or thousands of SEO-optimised pages from a structured dataset, where each page targets a specific keyword combination (e.g. “Plumbing in Bangalore”, “Plumbing in Mumbai”, “Electrician in Bangalore”).
Traditional approach: Create each page manually → 500 rows = 500 hours of work
With BigSEO Pages: Upload a 500-row CSV → click Generate → done in 30 seconds
Real-World Use Cases
Industry
Page Type
Scale
Home Services
{service} in {city}
1,000+ pages
Real Estate
Properties in {city}, {locality}
10,000+ pages
Jobs / Hiring
{job_title} jobs in {city}
5,000+ pages
eCommerce
{product} price in {city}
2,000+ pages
Education
{course} colleges in {city}
3,000+ pages
Travel
Hotels in {city}, {area}
8,000+ pages
SaaS / Directories
{tool} alternatives / reviews
500+ pages
Finance
{loan_type} in {city}
1,500+ pages
Features
Core Features
- ✅ Unlimited rows — no artificial page limits
- ✅ Unlimited projects — run multiple campaigns simultaneously
- ✅ 2 data sources — CSV via URL, CSV Upload (server path)
- ✅ Smart update engine — existing pages are updated, not duplicated
- ✅ Orphan detection — auto-delete pages removed from the data source
- ✅ Any post type — Pages, Posts, or any custom post type
Template Engine
- ✅
{{placeholder}} — column value substitution (HTML-escaped)
- ✅
{{raw:placeholder}} — unescaped HTML column output
- ✅
{Option A|Option B|Option C} — spintax for content variation
- ✅
[if:column=value]...[/if] — conditional blocks
- ✅ Supports
=, !=, >, <, >=, <= conditional operators
SEO Features
- ✅ Custom title tag per page with placeholders
- ✅ Custom meta description per page with placeholders
- ✅ Robots meta control (index/noindex per project)
- ✅ Canonical URL auto-injected
- ✅ 6 Schema types — Article, LocalBusiness, Product, FAQPage, BreadcrumbList, JobPosting
- ✅ JSON-LD schema output in
- ✅ Custom XML sitemap at
/pseo-sitemap.xml
- ✅ Compatible with Yoast SEO & Rank Math
Automation
- ✅ Auto-sync — hourly, daily, weekly via WP Cron
- ✅ WP-CLI — generate/delete/list from terminal
- ✅ Scheduled cron runs independently of user action
Developer Features
- ✅ PSR-4 style class autoloader
- ✅
pseo_schema filter hook for custom schema
- ✅ Clean database with 3 custom tables
- ✅ Nonce-protected AJAX endpoints
- ✅ Full
manage_options capability checks
- ✅ All
$_POST inputs sanitized with wp_unslash() + sanitize_*() functions
- ✅ All outputs escaped with
esc_attr() / esc_html() / esc_url()
- ✅ WordPress Plugin Check (PCP) compliant — 0 errors
Requirements
Requirement
Minimum
Recommended
WordPress
5.5+
6.0+
PHP
7.4+
8.1+
MySQL
5.6+
8.0+
PHP Extensions
json, mbstring
—
Quick Start
`
Step 1 → Prepare CSV with column headers
Step 2 → Upload CSV or provide a public CSV URL
Step 3 → Create a template page with {{placeholders}}
Step 4 → Prog SEO → + New Project → fill the form
Step 5 → Click ⚡ Generate Pages Now
Step 6 → Visit /your-url-pattern/ to see live pages
Step 7 → Submit /pseo-sitemap.xml to Google Search Console
`
Data Sources
This plugin supports 2 data source types — CSV via URL and CSV Upload (server path).
1. CSV via URL
`
Source Type : CSV via URL
URL : https://yourdomain.com/data.csv
`
2. CSV Upload (Server Path)
`
Source Type : CSV Upload (server path)
Path : /var/www/html/wp-content/uploads/2026/02/data.csv
`
Tip: Your CSV must be publicly accessible (for the URL option) and the first row must contain column headers that match your {{placeholders}}.
Template Syntax
Syntax
Output
{{column}}
HTML-escaped value
{{raw:column}}
Unescaped raw HTML value
{A\|B\|C}
Random option (spintax)
[if:col=val]text[/if]
Conditional block
[if:col>0]text[/if]
Numeric condition
[if:col!=val]text[/if]
Not-equal condition
Project Settings Reference
URL Pattern Examples
`
{{service}}/{{city}} → /plumbing/bangalore/
services/{{service}}-in-{{city}} → /services/plumbing-in-bangalore/
{{state}}/{{city}}/{{service}} → /karnataka/bangalore/plumbing/
jobs/{{job_title}}/{{city}} → /jobs/developer/bangalore/
`
SEO Meta
Field
Recommended
Title Tag
Under 60 chars after substitution
Meta Description
120–160 chars after substitution
Robots
index,follow for live pages
Schema Markup
Schema Type
Required CSV Columns
Article
(none — auto-populated)
LocalBusiness
city, address, phone
Product
product_name, price
FAQPage
faq_q1, faq_a1, faq_q2, faq_a2
BreadcrumbList
(none — auto-generated)
JobPosting
job_title, company, city
Auto-Sync & Cron
WP Cron event pseo_cron_sync runs hourly and regenerates pages for all non-manual projects automatically.
In wp-config.php:
php
define( 'DISABLE_WP_CRON', true );
cPanel crontab (every 15 minutes):
bash
*/15 * * * * wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
XML Sitemap
URL: https://yourdomain.com/pseo-sitemap.xml
If sitemap returns 404 → Settings → Permalinks → Save Changes
WP-CLI Commands
`bash
wp bigseo-pages list
wp bigseo-pages list –format=json
wp bigseo-pages generate –id=1
wp bigseo-pages generate –id=1 –delete-orphans
wp bigseo-pages generate –all
wp bigseo-pages generate –all –delete-orphans
wp bigseo-pages delete-pages –id=1
`
Hooks & Filters
pseo_schema
`php
add_filter( ‘pseo_schema’, function( $schema, $type, $row, $post ) {
if ( $type === ‘LocalBusiness’ ) {
$schema[‘openingHours’] = ‘Mo-Su 09:00-21:00’;
$schema[‘image’] = get_the_post_thumbnail_url( $post->ID, ‘large’ );
}
return $schema;
}, 10, 4 );
`
Database Tables
Table
Purpose
wp_pseo_projects
Project configurations
wp_pseo_data_rows
Fetched data snapshots with row hashes
wp_pseo_pages
Map of generated post IDs to projects
File Structure
`
knr-pseo-generator/
├── knr-pseo-generator.php
├── debug-ajax-response.php
├── README.md
├── includes/
│ ├── class-pseo-database.php
│ ├── class-pseo-datasource.php
│ ├── class-pseo-template.php
│ ├── class-pseo-generator.php
│ ├── class-pseo-seometa.php
│ ├── class-pseo-schema.php
│ ├── class-pseo-sitemap.php
│ ├── class-pseo-ajax.php
│ ├── class-pseo-admin.php
│ └── class-pseo-cli.php
└── admin/
├── views/
│ ├── page-projects.php
│ ├── page-project-edit.php
│ └── page-settings.php
├── images/
│ └── icon.png
├── css/
│ └── pseo-admin.css
└── js/
└── pseo-admin.js
`
Troubleshooting
Problem
Fix
No data returned
Check CSV is public; use 👁 Preview Data to debug
Sitemap 404
Settings → Permalinks → Save Changes
{{city}} shows in page
Column name in CSV header must match exactly
Pages duplicating
URL pattern must produce unique slugs per row
Schema not detected
Check required columns exist in CSV
Auto-sync not running
Set up real server cron (see above)
Icon not showing
Ensure icon.png is 20×20px in admin/images/
White screen on save
Ensure plugin files are fully up to date; check PHP error log
Save button dead click
Clear cache; confirm JS is loading on PSEO admin pages
Action buttons overflow
Update to v2.2.0 — buttons now display in a 2×2 grid layout
Author
Kailas Nath R
Digital Marketing Strategist | WordPress Developer | SEO Expert
- 🌐 LinkedIn: linkedin.com/in/iamknr
License
GPL-2.0-or-later — https://www.gnu.org/licenses/gpl-2.0.html
Built with ❤️ by Kailas (KNR) Nath R — PSEO PRO -knr v2.2.0
Be Part of the Conversation with WordPress Enthusiasts
Using Big SEO Programmatic? Great, join the conversation now!
Let’s talk about overall quality, ease of use, stellar support, unbeatable value, and the amazing experience Big SEO Programmatic brings to you.