✨ 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

SleekRank for public defender directories

Feed SleekRank a sheet of public defender offices and assistant defenders with county, division (felony, misdemeanor, juvenile, appellate), and bar number. It builds a clean WordPress page per office plus per-division and per-county URLs from one base template.

€50 off for the first 100 lifetime licenses!

SleekRank for public defender directories

Defendants and families search by county first

Public defender search is almost entirely county-level. "Public defender Cook County", "juvenile public defender Maricopa", "appellate public defender King County", "misdemeanor public defender office Harris". A defendant's family searching for help wants the office that covers their county and the division that matches the charge. A single archive page cannot rank for the combinatorial space of county-plus-division.

SleekRank reads the existing roster of offices, divisions, and assistant defenders and uses one base WordPress page as the template. Each row becomes a unique URL with the office's intake number, hours, division leads, jurisdiction, and eligibility rules mapped into the page. Add an office when a new county joins the system, remove a row when reorganization happens, and the directory updates from one source.

Combinations come for free. A URL pattern like /public-defenders/{state}/{county}/{division}/ generates /public-defenders/illinois/cook/juvenile/ from the same data. The office pages, division hubs, and county pages all draw from the same sheet.

Workflow

From PD roster to indexable directory

1

Build the office template

Design one WordPress page with office name, address, intake number, division leads, eligibility summary, and a structured-data block. This is every office's page.
2

Maintain the roster sheet

Columns for slug, office, county, state, division, chief_defender, intake_phone, intake_email, hours, eligibility_url. The chief clerk maintains one sheet that drives every page.
3

Wire mappings

Tag mapping for office name to H1 and title, selector mappings for intake number and hours, a list mapping for division leads, and a meta mapping for og:image keyed to the slug.
4

Generate combinations

Add a second page group with /public-defenders/{state}/{county}/{division}/ as the URL pattern. County hubs and division hubs all pull from the same data.

Data in, pages out

Public defender roster, one page per office

A Google Sheet of public defender offices with slug, county, state, division, and chief defender works as the source.
Data source: Google Sheets / CSV
slug office county division chiefDefender
cook-county-il-felony Cook County PD - Felony Cook, IL Felony Maria Velazquez
maricopa-az-juvenile Maricopa County PD - Juvenile Maricopa, AZ Juvenile Tom Hashimoto
king-county-wa-appellate King County PD - Appellate King, WA Appellate Anika Patel
harris-county-tx-misdemeanor Harris County PD - Misdemeanor Harris, TX Misdemeanor Devon Brooks
los-angeles-ca-mental-health LA County PD - Mental Health Los Angeles, CA Mental health court Sara Ahn
URL pattern: /public-defenders/{slug}/
Generated pages
  • /public-defenders/cook-county-il-felony/
  • /public-defenders/maricopa-az-juvenile/
  • /public-defenders/king-county-wa-appellate/
  • /public-defenders/harris-county-tx-misdemeanor/
  • /public-defenders/los-angeles-ca-mental-health/

Comparison

Manual office pages vs. data-driven directory

Manual pages or static county list

  • Every new office or division means another hand-built WordPress page
  • Reorganization leaves stale division leads on county pages
  • Static lists fail to rank for county-plus-division queries
  • Eligibility rule changes don't propagate to every county page
  • Custom code locks the directory to one theme
  • Adding a new specialty court requires a developer ticket

SleekRank

  • One page per office and division generated from a single sheet
  • Per county and per division URLs from the same data
  • Update the sheet, the pages update on the next cache flush
  • Works with whatever theme or builder the state association uses
  • Sitemap support so every office page gets crawled
  • Pair with SleekPixel for an OG image per office

Features

What SleekRank gives you for public defender directories

Page per office

Each row becomes a unique WordPress URL with the office's address, intake number, hours, division leads, and eligibility rules mapped in. The page accrues authority for the office name.

Per division pages

Felony, misdemeanor, juvenile, appellate, mental health court: each division gets its own indexable hub fed from the roster, with the assistant defenders assigned to that division surfaced.

Per county hubs

Build /public-defenders/illinois/cook/ and /public-defenders/texas/harris/ as their own indexable hubs. List mappings render the divisions and lead attorneys per county.

Use cases

Who builds public defender directories with SleekRank

State PD associations

State public defender associations publish member-office directories sourced from the membership database via a REST endpoint. Office and division changes flow from the source of truth.

County PD offices

Large county systems publish division-level directories so defendants and families can find the right intake number quickly. Internal reorganization updates the directory from one sheet.

Defender training organizations

Statewide and national training organizations publish member-attorney directories by jurisdiction, division, and specialty. Membership rolls drive the directory without per-attorney page builds.

The bigger picture

Why public defender directories live at the county level

Public defender search is some of the most time-pressured intent on the web. A defendant has 48 hours before arraignment; a family has hours to find the office that covers their county. "Public defender Cook County", "juvenile public defender Maricopa", "appellate public defender King County".

A single archive page filtered by query string cannot rank for hundreds of county-plus-division queries because Google ranks pages, not parameters, and the specific combination is what families type at 11pm. Most directory plugins solve the wrong problem by letting users filter without giving Google an indexable URL per filter combination. SleekRank inverts that: every meaningful state-plus-county-plus-division is a real WordPress page with its own H1, schema, and content.

The roster sheet is the canonical source, so a new specialty court or division appears in three places (the office page, the division hub, the county hub) the moment the chief clerk adds the row.

Questions

Common questions about SleekRank for public defender directories

Yes. Define a URL pattern like /public-defenders/{state}/{county}/{division}/ and SleekRank builds a page per combination from the sheet. Each combination renders its own H1, division-lead contact, and meta tags, which is what ranks for queries like "juvenile public defender Maricopa".

 

Add an eligibility column or link to an eligibility document, and a last_reviewed date. Selector mappings render the eligibility summary on every office page. When the rules change statewide, one sheet update propagates across every county page in that state.

 

Yes. Add specialty courts as additional division rows for the relevant county. Each row generates its own page and slots into the county hub. For statewide specialty-court hubs (mental health court state-wide, say), define a page group with /public-defenders/{state}/specialty/{court-type}/ as the URL pattern.

 

Update the slug-keeping division rows in the sheet and remove the rows that no longer exist. Set up redirects in your normal WordPress redirects plugin so old division URLs forward to the merged office's page. The sitemap regenerates on the next cache flush.

 

Each generated URL is a real WordPress page with full HTML and appears in the sitemap. The base template page is auto-noindexed so it never competes with the generated children. New offices typically index within a few crawls of the sitemap update.

 

Yes. SleekRank uses an existing WordPress page as the template, so Bricks, Elementor, Gutenberg, Oxygen, and classic themes all work because rendering happens on the page output. The directory inherits whatever the association's site already looks like.

 

Yes. Store the assistant defenders as a JSON array column on the division row, or maintain them in a separate sheet joined by office_id. A list mapping renders the attorney roster on each division page. Internal-only contact info (direct lines, for example) can stay in a separate non-public sheet.

 

Yes. Build the form once into the base page using your normal form plugin and inject the office's intake email via a selector mapping into a hidden field. Submissions then route to the right intake coordinator without per-page form configuration.

 

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