✨ 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 rock identification pages

Maintain a sheet of around 700 rock types across igneous, sedimentary, and metamorphic classes. SleekRank publishes one page per type at /rock-id/{slug}/ with mineral composition, texture, formation environment, and OG card driven by the row.

€50 off for the first 100 lifetime licenses!

SleekRank for Rock identification pages

Rock ID lives between mineralogy and field geology

A hiker picks up a rock and wants to know what they're holding. A geology student studies for an identification exam. A garden landscaper sources stone for a wall. All three queries hit the same kind of page: a focused ID page with the rock type, the mineral composition, the texture, the formation environment, and a few specimen photos. Around 700 rock types covers the audience.

SleekRank reads the rock-type sheet as the schema. Columns for slug, name, class, parent_rock, composition, texture, formation_environment, color_range, specific_gravity, uses, and image_url feed the base page at /rock-id/{slug}/. List mappings render mineral composition and uses, a selector mapping fills the spec table, and a meta mapping wires the OG card.

Cluster blocks at the bottom surface other rocks in the same class (other igneous rocks for granite, other sedimentary rocks for limestone) and other rocks with overlapping composition (other quartz-rich rocks). Both are list mappings against the same sheet, returning six related rocks per page deterministically.

Workflow

From rock-type row to ID page

1

Build the base rock-type page

Design one WordPress page with hero photo, name and class heading, spec table, mineral composition list, formation environment block, transformation links to parent and equivalent rocks, and a related-rocks cluster. Every type inherits this layout.
2

Compile the rock-type sheet

Pull rock types from a geology textbook or USGS dataset. Normalize columns for slug, name, class, composition array, texture, formation environment, color range, parent rock, metamorphic equivalent, and image URL. Around 700 rows.
3

Wire selector and list mappings

Tag mappings for title and H1, selector mappings for spec table cells, list mappings for composition and uses, conditional mappings for use-class and composite blocks. Schema mapping wraps geological fields into JSON-LD.
4

Cluster by class and composition

Class column clusters igneous with igneous, sedimentary with sedimentary, metamorphic with metamorphic. Composition columns cluster quartz-rich rocks together. Both list mappings against the same sheet, six related rocks per page deterministically.

Data in, pages out

One row per rock type, one ID page

Columns for class, composition, texture, and formation environment. Selector mappings fill the spec table; list mappings render mineral composition and uses.
Data source: USGS / geology textbook database / JSON
slug name class texture formation_environment
granite Granite igneous phaneritic deep intrusion
limestone Limestone sedimentary clastic / biogenic shallow marine
basalt Basalt igneous aphanitic lava flow
sandstone Sandstone sedimentary clastic river / desert / shore
marble Marble metamorphic granoblastic regional / contact
URL pattern: /rock-id/{slug}/
Generated pages
  • /rock-id/granite/
  • /rock-id/limestone/
  • /rock-id/basalt/
  • /rock-id/sandstone/
  • /rock-id/marble/

Comparison

Hand-published rock guides vs SleekRank

Per-rock-type WordPress posts

  • Each rock type written manually, with composition listed inline as prose
  • Texture and formation terminology drifts across entries
  • Cross-references between parent rocks and metamorphic equivalents are manual
  • Specimen photos and credits typed per post, often missing
  • Schema and OG card configured per post, broken on most
  • Practical ceiling around 50 rock types before quality decays

SleekRank

  • One row per rock type fills /rock-id/{slug}/ automatically
  • List mappings render mineral composition and common uses
  • Selector mappings fill the spec table with class, texture, and environment
  • Parent rock and metamorphic equivalent columns drive transformation clusters
  • Meta mapping wires og:image from the same row
  • Around 700 rock types become 700 indexable URLs from one template

Features

What SleekRank gives you for Rock identification pages

Mineral composition lists

Composition stored as a JSON array column with mineral name and percentage. The list mapping renders one li per mineral under a Mineral Composition heading. Cross-references link each mineral to its species page, so the rock corpus and the mineral corpus interlock cleanly.

Formation environment and texture

Selector mappings fill texture, formation environment, and tectonic context cells from columns. The reader sees not only what the rock is but where it forms, which is the field geologist's first question after the rock name.

Parent rock and transformation links

Parent rock and metamorphic equivalent columns drive a transformation block on each page. Granite links to gneiss (its high-grade metamorphic equivalent), limestone links to marble, shale links to slate. The geological story of the rock unfolds across linked pages.

Use cases

Who runs rock ID libraries on SleekRank

Geology departments and labs

Run a teaching rock library off the same sheet that backs the lab specimen collection. Composition values and texture descriptions stay consistent, and undergraduates always read the same fields across the corpus.

Landscape stone and quarry sites

Pair the ID library with the quarry inventory. Each rock-type page links to suppliers who carry the stone; each product page links back to the rock-type page for spec reference.

Field guide and hiking sites

Build regional rock libraries tied to trail guides. Each trail page lists the rock types a hiker is likely to see; each rock-type page lists trails where it is exposed. Both flow from one sheet with parallel arrays.

The bigger picture

Why rock ID rewards a structured per-type library

Rock identification queries split between hobbyists picking up a rock on a hike and students preparing for a lab exam. Both audiences benefit from the same kind of page: a focused entry that names the rock, lists the minerals that compose it, describes the texture, and explains how the rock forms. Building 700 such entries by hand is impossible at any reasonable timescale, and the values drift between entries as authors change.

A data-driven library inverts the work: the editor curates the rock-type sheet, the developer maintains the template, and the corpus emerges as a consistent reference library across all 700 entries. The other reason rock ID works as a generated corpus is the interlocking with mineralogy. Every rock is composed of minerals, and a mineral library and a rock library together form a tightly cross-linked reference.

The composition column on the rock page carries mineral slugs; the occurrence column on the mineral page carries rock slugs. Both link graphs are generated, not hand-maintained, so they stay consistent as the corpus grows. The hiker who lands on the granite page can follow the links to quartz, feldspar, and mica; the student who lands on the quartz page can follow the links to granite, sandstone, and quartzite.

The same sheets feed all of it.

Questions

Common questions about SleekRank for Rock identification pages

The IUGS rock classification scheme is the canonical source for igneous rocks; the Pettijohn scheme for sedimentary; the metamorphic facies scheme for metamorphic. Apply one classification system per class as the column vocabulary, and let the sheet enforce naming consistency. The template stays the same; the column values stay controlled.

 

Add a composite_components JSON array column for rocks that are mixtures of others. A list mapping renders the components on the page. Migmatite, for instance, has a melanosome and a leucosome; both render as separate entries in the composite list.

 

Yes. A use_class column with values like building, ornamental, or industrial drives conditional mappings. Building-stone pages show a workability and durability block; field-rock pages hide it. One template, several conditional blocks, the same sheet.

 

Add a tectonic_setting column (subduction, mid-ocean ridge, continental rift, passive margin). A list mapping renders other rocks formed in the same setting at the bottom of the page. A geologist browsing through a setting reads the page suite end-to-end without leaving the corpus.

 

Add an aliases JSON array column listing regional or historic names. A selector mapping renders the aliases under a Also Known As heading. Search engines pick up the regional terms as alternate names, so a query for trap rock lands on the basalt page and a query for caliche lands on the calcrete page.

 

Yes. The composition JSON array column carries mineral slugs; a list mapping renders each as a link to the matching /mineral/{slug}/ page (assuming the mineral library is on the same site). The two corpora interlock without an editor maintaining the link graph.

 

An image_credit column per row carries the photographer or source. A selector mapping renders credit under the photo. USGS public-domain photos credit USGS; community-contributed photos credit the photographer. The same template handles both.

 

The static pages each show their composition. A separate Vite-built search widget reads the same JSON file and filters by mineral, texture, or formation environment. The widget links to the static pages, so search and corpus share one source of truth.

 

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