Free · Local CSV review · No paid API
Programmatic SEO
Planner and Checker
Build the plan.
Question every page.
Review the data and templates behind a proposed page set before deciding what deserves publication. Generate plain-text samples from CSV rows, or check supplied samples for missing information, URL conflicts and repeated wording.
city, slug, detailTEMPLATE/workshops/{{slug}}/REVIEW01 Required information
02 Address & field conflicts
03 Lexical overlap & coverage
A completed check is a plan to review.
It is not permission to publish.
Your review workspace
Start small. Inspect the evidence.
Plan locally · No paid API · Nothing auto-published
Review the dataset before creating pages
Combine your CSV rows with simple templates, or check supplied page samples. Inspect missing values, URL conflicts, duplicate metadata and bounded wording-overlap candidates before deciding what deserves publication.
This workspace produces a review plan, not live pages. It does not fetch your URLs, upload your CSV, alter WordPress content, or promise rankings. Your project can contain private information: review downloaded reports before sharing them.
This workspace creates a local review plan. It does not create WordPress drafts, publish pages, fetch supplied URLs, add redirects or submit addresses for indexing.
Another row needs
another useful answer.
Start with a reader’s need, not the number of pages a template can produce.
Identify the question each page will answer and the information that changes meaningfully between rows. Verified availability, original measurements, service boundaries or product specifications can create a useful distinction. Substituting another place name is not, by itself, a reason for another page.
Use the Keyword Mapping Tool to assign supplied keyword groups to intended pages and inspect overlapping assignments. This planner does not supply search volume or establish demand for a page pattern.
Choose one small, understandable dataset first. Keep the source and review date of important facts with the project. Someone should be able to explain why each row belongs and what its answer contributes.
Turn that purpose into a writing assignment with the Content Brief Generator. Record the audience, required evidence and information each page must contribute. A template is easier to assess when those expectations are explicit.
Two modes. One deliberate review.
Plan a sample set from source data, or examine sample fields you already have. Neither mode visits the addresses in your rows.
Planner
Combine flat named CSV columns with literal templates. Each data record produces a local review row containing a proposed URL, title, description, H1 and plain-text body.
Best for: checking a page pattern before moving it into a publishing workflow.
Checker
Inspect supplied plain-text samples. Use the required headers url,title,description,h1,body, with optional id only. An address identifies a sample; it is not a crawl instruction.
Best for: reviewing an existing sample export before approving the next step.
Prepare comma-separated UTF-8 CSV
Include a header row and quote cells containing commas, quotation marks or line breaks. Row labels identify CSV records, not physical text lines: one quoted paragraph can span several lines while remaining one cell.
Paste CSV or choose a local file. Selecting a file clears pasted CSV; editing pasted CSV clears the file selection. Check the active source before running. Excel workbooks, archives, TSV, JSON and remote source fetching are outside this input contract.
Use literal, single-pass placeholders
Write {{column_name}} using the exact case of the source column. The template language substitutes values once; it does not execute expressions, functions, loops or nested-property lookups. Placeholder-looking text inside a source value is not evaluated recursively.
Missing or unresolved values need correction. The tool does not invent them. Bodies are plain text: angle brackets and link-like strings remain text, not rendered HTML or a working page. Layout, accessibility, structured data and CMS integration need separate review.
Construct proposed URLs deliberately
Use an explicit HTTP(S) base origin and a root-relative path template. Substituted values are encoded as path-component data. A slash inside a value does not create another path level. Generated paths do not support queries or fragments.
Syntactic normalization can reconcile scheme, host, default ports and URL serialization. Path case, reserved percent escapes and trailing slashes can remain distinct. The eventual server determines their behavior; a constructed address is not proof of availability, a redirect or a canonical choice.
Keep the publishing
boundary visible.
A sample set makes the proposed pattern inspectable. People still need to review the facts, distinct purpose, design and publication requirements.
Repeated fields are not
a single quality score.
Read the rule, the affected records and the scope behind each result.
Exact field groups preserve case and punctuation and exclude empty values. Separate whitespace groups use NFC normalization and trimmed, collapsed whitespace while preserving case. A blank title is missing information, not a useful duplicate group.
A URL, title, description and body can all repeat between the same two rows. Those are four different field findings, not four additional pages. Source-signature groups describe repeated source records under the declared rule; they do not prove page usefulness.
Near-body comparison uses sets of five consecutive tokens after NFKC normalization, lowercasing and punctuation separation. Jaccard overlap is the number of shared distinct shingles divided by the number in their union.
The 80% threshold is a local review rule, not a Google penalty boundary, quality standard or recommended amount of rewriting. Shared shingle examples illustrate token overlap; they are not aligned matching passages or a measure of meaning.
For a separate batch workflow, try the Duplicate Content Checker. Keep each tool’s method and input scope attached to its results rather than treating percentages as interchangeable.
Unknown is not zero.
Finished is not approved.
Read completion, row findings and comparison coverage together.
A completed review can contain errors, warnings and unresolved editorial questions. A ready row concerns the checks performed here; it does not approve the page’s facts, design, usefulness or publication. Fatal input errors do not produce a completed plan.
Near-copy checks have their own eligibility and coverage. Short, empty or invalid bodies can have no near-copy result. Long bodies may use an explicitly marked token prefix. Unexamined pairs remain unknown. The report distinguishes possible pairs, eligible pairs, examined work and retained qualifying results.
Literal and substituted character counts explain how a template formed a body. Distinct source-value counts describe the dataset. Neither is an originality percentage, demand estimate or useful-content verdict.
Understand the operating limits
The default workspace ceilings are 1,048,576 CSV bytes, 100 data records, 20 columns, 8,000 UTF-16 units per field and 2,097,152 generated-output bytes, with a 5,000-pair comparison budget and 15-second run budget. Site administrators can configure limits; read the active values in your workspace.
A UTF-16 field length is not its byte size or meaningful word count. Small input can expand into much larger output when values appear in several templates. Read terminal messages, section coverage and omissions instead of assuming every possible check completed.
Four rows. Three eligible pairs.
More than one kind of problem.
This authored reference explains the method. It is not a captured production report or a customer result.
Base originhttps://example.com
Path/workshops/{{slug}}/
Title / H1 / body{{city}} workshop notes{{city}} workshop{{detail}}
| Row | city | slug | detail |
|---|---|---|---|
| A | North Bank | north/bank | Plan every workshop around clear goals tasks materials checks owners |
| B | South Quay | south quay | Plan every workshop around clear goals tasks materials checks dates |
| C | North Bank | north/bank | Plan every workshop around clear goals tasks materials checks owners today |
| D | East Pier | Empty value | Short useful note |
Address & metadata evidence
A and C construct https://example.com/workshops/north%2Fbank/. B constructs https://example.com/workshops/south%20quay/. D needs a real slug; do not invent a destination to hide the missing value.
A and C also share the reference title and H1, while their bodies differ. Address, metadata and wording findings ask different questions.
Overlap evidence
A and B share nine of ten words in the same positions, but their five-token sets produce 71.43% overlap. A changed word can affect several token windows. Token overlap and shingle Jaccard are different measurements.
Only A–C reaches the reference 80% rule. That rule does not decide which page deserves publication.
| Eligible pair | Shared shingles | Union | Jaccard |
|---|---|---|---|
| A–B | 5 | 7 | 71.43% |
| A–C | 6 | 7 | 85.71% |
| B–C | 5 | 8 | 62.50% |
Resolve the missing slug and repeated destinations, then review whether each page serves a useful distinct purpose. More substituted characters or different wording do not establish factual value, originality or demand.
Inspect. Decide.
Then hand off.
Keep the source, templates, findings and unresolved decisions together.
Open row previews and inspect the actual supplied or generated fields. Correct missing information and address conflicts before approving a final destination list. A local URL group does not determine how a live server behaves.
When published variants need technical investigation, use the Canonical Tag Checker for a separate inspection of declarations. This planner does not identify Google’s selected canonical or automatically justify a redirect.
After the final URL list is separately approved, the XML Sitemap Generator can help prepare a sitemap. This planner does not publish that sitemap or submit addresses for indexing. Use the SEO tools hub for further checks required by your handoff.
Download the evidence, not a publishing instruction
Review JSON and sample CSV downloads preserve bounded samples and diagnostics. They are review evidence, not automatically CMS-import-ready files. Check the completed file, its scope, omitted items and sensitive values before handing it to another person.
Reports exclude raw CSV, unused source values and filenames. Generated fields and URL paths can still contain private information copied from source values. The export is not anonymous merely because processing happens locally.
Understand local processing and Clear everything
CSV and templates are processed in the isolated browser workspace without uploading them, using paid APIs or storing a project. The surrounding public page still makes normal website requests. Local processing is not anonymization.
Keep your original source and templates outside the tool. Clear everything removes the current workspace’s inputs and results while retaining the selected mode; it does not delete files you downloaded, browser caches or service logs.
Programmatic SEO
Planner FAQs
The scope is a local review of supplied data, not an automated publishing system.
Does this create or publish pages?
No. Planner creates local review samples; Checker examines supplied samples. Neither mode creates WordPress drafts, changes live content, adds redirects or submits URLs for indexing. Publication belongs to a separate approved workflow.
Can I import an Excel workbook, TSV or JSON?
The input contract is plain UTF-8 comma-separated CSV. Export the intended table to that format, preserve its header row and quote multiline cells correctly. Review the active source rather than assuming a spreadsheet filename establishes valid CSV.
Will the tool crawl the URLs in my rows?
No. The addresses are part of the supplied or generated evidence. The review does not establish HTTP responses, redirects, live canonical signals, availability or indexing. Those require separate inspection.
Does 80% overlap mean a Google penalty?
No. It is the tool’s lexical review threshold. Repeated wording can be appropriate, while different wording can still provide little value. Inspect the pages’ intended purpose and evidence rather than aiming for a safe percentage.
Can a finished review contain errors?
Yes. A review can finish with rows missing required information. By contrast, a missing required header stops processing without producing a report. Completion and publication approval are different states.
Are local results anonymous?
No. Generated text and addresses can carry private source-derived information. Local processing does not remove that information from a download. Inspect the evidence and share it only with the people who need it.
Make the next step
as deliberate as the plan.
If the destination needs content or campaign support, the SEO services overview is a route to discuss the page, audience and scope.
Once it is ready, compare the guest post purchasing options with the intended audience and placement requirements. Sending a brief requests review; a confirmed order follows its approved terms.
For a confirmed order, the agreed dofollow-link and Google indexing guarantee includes the review period and remedy recorded in the approved order. Rankings, traffic, leads, sales and authority-score gains are not guaranteed.
Confirm paid-placement qualification, offered link treatment and publisher terms before approval. A local review does not establish paid-link compliance or control future indexing decisions.
Return to your workspace