✨ 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 Tunisian recipe pages

Keep dishes (slug, name, region, key ingredients, prep time, ingredients array, steps array) in Google Sheets or JSON. SleekRank renders one schema-rich WordPress page per row at /recipes/tunisian/{slug}/, with list mappings driving ingredients and method, and meta mappings carrying Recipe JSON-LD.

€50 off for the first 100 lifetime licenses!

SleekRank for Tunisian recipe pages

Tunisian cooking rewards structured catalogs

Tunisian cuisine spans tagines, brik, couscous variations, harissa-driven stews, semolina cakes, and bsisa. A small recipe team covering this depth ends up with dozens of dishes that share a structure (ingredients, method, region, key spice mix) but differ in detail. Hand-building a WordPress post per recipe means writing the same Recipe schema by hand every time, and the schema is exactly what Google's recipe carousel checks before showing the result.

SleekRank reads one row per dish from a Google Sheet, Notion database, or JSON file and emits one indexable URL at /recipes/tunisian/{slug}/. Tag mapping handles the H1 and title; list mapping renders the ingredients ul and steps ol; meta mapping injects the Recipe JSON-LD that the carousel needs. The base page is a normal WordPress page, so the recipe site's theme, typography, and gallery blocks render every dish identically.

Edit a row, clear the SleekRank cache, every page picks up the new prep time or substitute. Remove a row and the URL returns a 404 so search engines drop it. The sitemap entry is added when the slug appears and removed when it leaves, no manual indexing dance per recipe.

Workflow

From Tunisian recipe sheet to schema-ready pages

1

Design the base recipe page

Build one WordPress page with a hero block, ingredients ul, steps ol, region badge, prep-time card, and a JSON-LD script tag. Every Tunisian dish renders through this single template.
2

Structure the source sheet

Columns for slug, name, region, key_ingredient, prep_min, heat, hero_image, plus JSON arrays for ingredients and steps. Notion databases and Google Sheets both work. CSV files in the theme repo work too.
3

Wire mappings to the template

Tag mapping for title and H1, list mapping for ingredients and steps, selector mapping for region and prep-time card, meta mapping for og:image and Recipe JSON-LD. Each mapping references a column from the sheet.
4

Flush cache and rewrites

After saving the page-group config, run wp rewrite flush so /recipes/tunisian/{slug}/ routes resolve. Delete the SleekRank items cache so the latest sheet values import. Every URL ships indexable on the next request.

Data in, pages out

From dish row to recipe URL

One row per dish, with slug, name, region, key spice or technique, and prep time. Ingredients and steps live in array columns mapped via list selectors.

Data source: Google Sheets / Notion / JSON
slug name region key_ingredient prep_min
lablabi Lablabi Tunis Chickpeas, harissa 40
brik-a-loeuf Brik a l'oeuf Coastal Malsouka, egg, tuna 25
couscous-tunisien Couscous Tunisien National Semolina, lamb, harissa 90
shakshuka Shakshuka North African Tomato, pepper, egg 35
ojja-merguez Ojja Merguez Sahel Merguez, tomato, harissa 30
URL pattern: /recipes/tunisian/{slug}/
Generated pages
  • /recipes/tunisian/lablabi/
  • /recipes/tunisian/brik-a-loeuf/
  • /recipes/tunisian/couscous-tunisien/
  • /recipes/tunisian/shakshuka/
  • /recipes/tunisian/ojja-merguez/

Comparison

Manual Tunisian recipe posts vs SleekRank

Hand-published recipe per dish

  • Each recipe needs its own post and its own Recipe schema block
  • Ingredient lists drift in formatting as different writers contribute
  • Schema markup quietly breaks when the recipe-card plugin updates
  • Internal linking between related dishes is manual every time
  • Translating harissa heat levels or semolina ratios touches every post
  • Removing a recipe leaves orphan URLs and stale sitemap entries

SleekRank

  • One row per dish, one URL per dish at /recipes/tunisian/{slug}/
  • Recipe JSON-LD generated from your sheet columns automatically
  • List mappings render ingredients ul and steps ol from array columns
  • Region and key-ingredient fields drive related-recipe clusters
  • Sitemap auto-managed, base page noindexed
  • Pair with SleekPixel for per-dish Open Graph cards

Features

What SleekRank gives you for Tunisian recipe pages

Recipe schema per row

Map name, prepTime, ingredients, instructions, and image into Recipe JSON-LD via a meta mapping. Every Tunisian dish ships carousel-ready without a per-post schema editor.

Ingredients and steps as arrays

Store ingredients and method as JSON arrays in the sheet. List mappings render them as a proper ul and ol on the base page, with consistent typography across the whole catalog.

Harissa heat clusters

Use a heat column (mild, medium, hot) to power filtered related-recipe lists. Readers who land on lablabi see other harissa-driven stews in the same heat band.

Use cases

Where Tunisian recipe pages fit on SleekRank

Maghreb food blogs

Cover Tunisian, Algerian, and Moroccan cooking with one shared template. Each cuisine gets its own page group and slug pool while sharing the same schema mapping and design.

Cooking schools

Publish a reference catalog of Tunisian dishes for students, each page carrying ingredient lists, method, region, and substitution notes pulled from the school's curated sheet.

North African grocers

Run a recipe hub tied to the products in the shop. Each dish page links to the harissa, semolina, or malsouka the recipe uses, with stock status read from the product feed.

The bigger picture

Why Tunisian recipe catalogs beat hand-built posts

Tunisian recipe sites win on depth and consistency. A reader landing on lablabi expects the same structural cues (ingredients list, method, region, heat level) when they click through to ojja or couscous. With per-post recipes, that consistency depends entirely on the writer's habits, and the schema markup that powers the recipe carousel is the first thing to drift when a deadline gets tight.

Programmatic generation fixes the drift problem at the source. The sheet enforces the shape, the template enforces the layout, and the schema is regenerated from the same row that drives the visible content. Editorial workflow improves at the same time.

The food editor who actually knows how harissa heat scales can own the sheet directly, without a developer in the loop for ratio changes. Adding a new dish is a row, not a post creation plus a schema audit. Translating to French or Arabic is overlaying a translations source, not duplicating the whole site.

The catalog grows because the friction of adding the next dish drops near zero, and the SEO surface (schema, internal links, sitemap) stays correct because it lives in the template rather than the post.

Questions

Common questions about SleekRank for Tunisian recipe pages

There is no hard plugin limit. Page groups with several hundred rows are common across the SleekRank install base. Performance is driven by cacheDuration and source response time, not row count. Most recipe catalogs sit comfortably in the 50-500 row range and rebuild in seconds on cache flush.

 

Add a JSON-LD script block to the base page and use a meta mapping that fills its content from the row's columns. SleekRank substitutes name, prepTime, recipeIngredient (from the ingredients array), recipeInstructions (from the steps array), and image at render time. The result validates in Google's Rich Results test.

 

Yes. SleekRank uses a normal WordPress page as the template, so any theme or builder works. The mappings target elements you place on that base page, whether they were rendered by Bricks, Elementor, Gutenberg, or a classic theme. Style the base page once and every Tunisian dish inherits the look.

 

Yes. Every generated URL is added to the SleekRank sitemap, gets a 200 response, and carries the page's own meta. The base template page is excluded from the sitemap and noindexed so it never competes with the real dish pages in search results.

 

Yes. Use conditional mappings keyed on a layout column (e.g. stew, pastry, dessert) so each dish renders the right sub-template. Pastries can show malsouka technique notes, stews can show pot recommendations, all from the same base page with conditional blocks.

 

The corresponding URL returns a 404 on the next request after cache flush, and the sitemap entry is removed. Google drops it from the index over the following crawl cycle. Set up a redirect mapping if the recipe was renamed rather than retired so the old URL points at the new slug.

 

Make each row genuinely different in ingredient amounts, method, or regional notes. Tunisian variants on shared base techniques (couscous, ojja, shakshuka) each carry their own region, spice mix, and prep notes. Add a few unique sentences per row in a description column so the body copy varies meaningfully across pages.

 

Yes. SleekRank supports multiple data source types per page group: Google Sheets, CSV, JSON URL, JSON file, Notion, REST API, and CSV URL. Run primary recipes from the editorial sheet and overlay translation arrays from a separate JSON. Mappings reference either source by column name.

 

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