✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount

Poem collection pages by form from one data file

Feed SleekRank a JSON file covering roughly 50 poetic forms and the poems written in each. It renders a real WordPress page per form under /poems/{slug}/, pulling the form name, definition, sample poems and poet attribution from the same row set.

€50 off for the first 100 lifetime licenses!

SleekRank for Poems by form

Why a JSON file beats hand-written posts for 50 poetic forms

A poetic form library covers roughly 50 recognized forms, from the sonnet and haiku to the villanelle, ghazal and pantoum, plus several poems per form to illustrate the structure. That is well over 500 example poems once you include a meaningful sample per form, and writing a separate WordPress post per form leaves a backlog that ages every time editors add a niche form.

SleekRank treats the library as a JSON file instead. You keep one row per poem with fields like slug, form, title, poet, year and text. Point SleekRank at data/poems-by-form.json, set the URL pattern to /poems/{slug}/ and one Twig template handles each per-form library page from the matching row group across the entire catalog.

Editors add a new pantoum example and the next sync updates the matching form page. Add a new form like cento and a new URL joins the sitemap automatically. Because the index, the era pages and any related-form block all read the same rows, the form definitions, sample titles and attributions stay aligned everywhere.

Workflow

From a poems-by-form file to live SEO pages

1

Build the poems JSON file

Convert your editorial notes into a JSON array with columns like slug, form, title, poet, year and text. Save the file under data/poems-by-form.json inside the theme and commit it so future poem additions land as clean diffs in your version control history.
2

Point SleekRank at the file

In the rank page group, set the data source to the JSON path, the URL pattern to /poems/{slug}/ and the slug field to the form slug. SleekRank now knows it has roughly 50 form pages to render off the same file in one single pass over the catalog.
3

Map fields into a single template

Bind form into the headline, title into a list row, poet and year into a citation block and text into the poem body. One Twig template handles every form, so a design change applies to all /poems/{slug}/ pages at once across the catalog.
4

Sync and ship the sitemap

Run sleek-rank sync or update the JSON via SFTP. The new URLs join the sitemap and become crawlable. Future poem additions only need a sync, no admin post creation per form and no manual sitemap touches inside the WordPress dashboard from your team.

Data in, pages out

Sample rows from a poems-by-form file

Each row holds form, poem title, poet and the year of publication. SleekRank groups rows by form slug and renders one /poems/{slug}/ library page per group.
Data source: Curated poetic forms catalog
slug form title poet year
sonnet Sonnet Sonnet 18 William Shakespeare 1609
haiku Haiku The Old Pond Matsuo Basho 1686
villanelle Villanelle Do Not Go Gentle into That Good Night Dylan Thomas 1951
ghazal Ghazal Tonight Agha Shahid Ali 2003
pantoum Pantoum Parent's Pantoum Carolyn Kizer 1986
URL pattern: /poems/{slug}/
Generated pages
  • /poems/sonnet/
  • /poems/haiku/
  • /poems/villanelle/
  • /poems/ghazal/
  • /poems/pantoum/

Comparison

Hand-written posts vs SleekRank for poem pages

Hand-written form posts

  • Editors create a separate WordPress post per poetic form for every library page
  • Each new example poem means opening the right form post and editing the body
  • Form, title and poet values drift between the post body and any sidebar widgets
  • Adding a new form needs a fresh post draft, image and SEO setup from scratch
  • Removing a misattributed poem requires hunting through posts across many forms
  • Sitemap entries appear only after each form post is published one by one slowly

SleekRank

  • One JSON under data/poems-by-form.json drives every /poems/{slug}/ page
  • Add a row, sync the file, the new poem shows up on the form library quickly
  • Re-render is per-form, so a corrected line touches one cached library page only
  • Field mapping handles form, title and poet in one template
  • Index page reads the same rows, so totals and the form list never drift apart
  • Era tags group rows across forms for indexable /poems/era/ pages later on too

Features

What SleekRank gives you for Poems by form

Per-form poem libraries

Drop a poems JSON file into the data folder, set the slug and field mapping, and SleekRank turns each form group into a live WordPress page. The template renders the form name, structural definition, sample poems and poet attributions all from one row set.

Refresh from a single sync

Append new sample poems to data/poems-by-form.json or fix a line in place, then trigger a SleekRank sync. Every form page picks up the new entries without any post editing or republishing in the WordPress admin dashboard or sidebar.

Indexable URL per form

Each form gets a unique /poems/{slug}/ URL with its own title, meta description and structured data. Search engines crawl queries like villanelle examples or ghazal examples instead of one giant multi-form poetry anthology page on the site.

Use cases

Where per-form poem libraries really shine in practice

Literary reference sites

Sites that already track poetic forms can graduate from a long single anthology to focused per-form libraries by exporting their notes to JSON and letting SleekRank render one /poems/{slug}/ URL per recognized form in the catalog.

Writing classroom hubs

Teachers can attach a structural breakdown column to each row, so each form page doubles as a teaching aid with the meter, rhyme scheme and stanza pattern laid out alongside the sample poems chosen for class reading.

Contest and journal sites

Literary journals can render index plus detail pages from the same JSON, so submission guidelines and public form pages never drift on which forms are accepted, what structural rules apply and which exemplar poems define each form.

The bigger picture

Why a JSON file beats a CMS for poems by form

A poetic forms library is reference content where structural accuracy and curation matter more than essay-length prose. The value of each form page is in the right definition, a clean set of sample poems and accurate poet attributions, not an editorial intro. The moment you store hundreds of poems as long posts spread across dozens of form posts, you have created a maintenance liability that pulls every line fix into the admin.

SleekRank flips that around. The JSON file is the source of truth, and the form pages are a deterministic render of it. Update the file, the pages reflect the change.

Add a row, the matching form library grows. Drop a row, it shrinks. Because the source is a flat file, editors and CI jobs can touch it without learning the WordPress object model.

That keeps your team focused on long-form context, like the historical arc of a form, while the reference data flows in and out of the file on its own.

Questions

Common questions about SleekRank for Poems by form

Most sites start with editorial notes plus public domain corpora like Project Gutenberg and the Poetry Foundation archive for older poems, with licensed sources for contemporary work. A short script normalizes each entry into one JSON object with slug, form, title, poet, year and text. SleekRank just needs consistent field names.

 

When you edit a poem line in the JSON, SleekRank invalidates the cached payload for that form slug. The next request to /poems/{slug}/ pulls the new row set from the file, so one corrected line touches one form library page rather than rebuilding the entire poetic forms catalog across the site.

 

Add an indexable boolean to the JSON entries and map it to a noindex flag in the template. SleekRank honors that flag per form, which lets you keep draft forms like cento live for internal review while telling search engines to skip them until the example set has been finalized.

 

If your JSON has a related_forms field with sibling slugs or a shared era, the template loops over them and links to /poems/{slug}/ for each one. SleekRank exposes the row group as a Twig variable, so you build the cross-form link graph from data instead of typing every neighbor by hand.

 

Page render reads the row group for the requested form from the cached file map, which is an O(1) lookup once SleekRank parses the JSON on first hit. WordPress full-page cache then takes over, so the marginal cost of more form pages stays low even across the full library set.

 

Yes. The index template reads the full row set, groups by form and lists every form with a link to its library page. Because both pages read the file, the index and the form pages never disagree on poem titles or poet attributions anywhere across the site at any time.

 

Add an era column with values like medieval or modern. SleekRank exposes it as a row field, so the form page can filter or group by era and you can later render /poems/era/{slug}/ pages from the same file by adding a second URL pattern on top of the same catalog of poems.

 

You delete the row or move it to a different status. The matching form page reflects the new row set on the next sync, and the catalog stays accurate without an editor opening individual posts in the WordPress admin to swap attributions or pull copyrighted text across many pages by hand.

 

Pricing

More than 1000+
happy customers

Explore our flexible licensing options tailored to your needs. Upgrade your license anytime to access more features, or opt for a lifetime license for ongoing value, including lifetime updates and lifetime support. Our hassle-free upgrade process ensures that our platform can grow with you, starting from whichever plan you choose.

Starter

€99

EUR

per year

Get started

further 30% launch-discount applied during checkout for existing customers.

  • 3 websites
  • 1 year of updates
  • 1 year of support

Pro

€179

EUR

per year

Get started

further 30% launch-discount applied during checkout for existing customers.

  • Unlimited websites
  • 1 year of updates
  • 1 year of support

Lifetime ♾️

Launch Offer

€299

€249

EUR

once

Get started

further 30% launch-discount applied during checkout for existing customers.

  • Unlimited websites
  • Lifetime updates
  • Lifetime support

...or get the Bundle Deal
and save €250 🎁

The Bundle (unlimited sites)

Pay once, own it forever

Elevate your WordPress site with our exclusive plugin bundle that includes all of our premium plugins in one package. Enjoy lifetime updates and lifetime support. Save significantly compared to buying plugins individually.

What’s included

  • SleekAI

  • SleekByte

  • SleekMotion

  • SleekPixel

  • SleekRank

  • SleekView