✨ 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 moon illumination pages by city

Compute lunar phase, illumination percentage, moonrise, and moonset for thousands of cities and emit one WordPress URL per location at /moon-phase/{slug}/. Today's phase and the upcoming month's outlook flow in from one generated dataset on every refresh.

€50 off for the first 100 lifetime licenses!

SleekRank for moon illumination by city

Moon questions live on the city axis, not the global one

The moon is everywhere but moon questions are local. Visitors search 'full moon tonight Portland', 'moonrise Tokyo', 'illumination tonight Auckland' because their question is anchored to their sky. The existing reference sites do one of two things: a global page that re-renders for whatever city you type, or a static almanac that lists only the broad lunar calendar. Both miss the per-city URL space that matches the way people search.

SleekRank reads a generated dataset of moon data for thousands of cities and emits one WordPress URL per city at /moon-phase/{slug}/. Tag mappings push the city into the H1 and title. Selector mappings drop today's illumination percentage, phase name, moonrise, moonset, and lunar age into a hero stat block. A list mapping renders the upcoming month's daily phases so visitors can plan an astrophotography night or a dark-sky outing without leaving the page.

The slug is the city. The dataset refreshes daily because illumination changes by the hour but the user-facing precision is per-day. Each city carries lat, long, and timezone. The base page lives in WordPress, so the lunar surface can carry photo embeds, observation tips, and cross-links to meteor shower nights, astrophotography guides, and dark-sky locations without breaking the data layer.

Workflow

From lunar algorithm to indexed city page

1

Reuse the city catalog

Use the same city catalog as the sun-position page group: slug, city, latitude, longitude, elevation, timezone, and optional description. The lunar algorithm needs the same four geographic fields.
2

Generate the lunar dataset

Run the USNO lunar position algorithm nightly across every city, writing today's phase, illumination, moonrise, moonset, lunar age, and the next month's daily outlook into a JSON array.
3

Wire the mappings

Slug and city through tag mappings, phase and illumination through selector mappings, monthly outlook through a list mapping, og:image through a meta mapping that picks a phase-specific image keyed to the phase name.
4

Schedule the refresh

Run the generator each night during a low-traffic hour, flush the SleekRank cache, and rebuild the sitemap. Every URL picks up the day's values without manual intervention.

Data in, pages out

From lunar algorithm to live city URL

Each row is one city. Today's phase and illumination feed the hero block, and the upcoming month's daily phase table flows in below via a list mapping.
Data source: USNO lunar position data
slug city phase_name illumination_pct moonrise_local
portland Portland Waxing Gibbous 78 2:14 PM
dublin Dublin Waxing Gibbous 79 1:42 PM
vienna Vienna Waxing Gibbous 79 1:58 PM
perth Perth Waxing Gibbous 78 2:11 PM
halifax Halifax Waxing Gibbous 79 2:33 PM
URL pattern: /moon-phase/{slug}/
Generated pages
  • /moon-phase/portland/
  • /moon-phase/dublin/
  • /moon-phase/vienna/
  • /moon-phase/perth/
  • /moon-phase/halifax/

Comparison

Global moon almanac vs SleekRank

Single-page lunar almanacs

  • Almanac pages list one global phase calendar with no city context
  • Moonrise and moonset shift by minutes per city and rarely surface per city
  • Long-tail searches like 'moonrise Halifax tonight' have no per-city landing
  • Sitemap inclusion at the city level is missing across the board
  • Internal links to related cities or hemispheres are non-existent
  • Updates depend on annual almanac uploads rather than nightly syncs

SleekRank

  • One generated dataset feeds 2,000 city URLs
  • Selector mappings hit #illumination and #moonrise
  • List mappings render the upcoming month's daily phases
  • Category field groups cities by hemisphere and latitude band
  • Phase name field drives icon swaps in the hero block
  • Sitemap regenerates per city with no manual entries

Features

What SleekRank gives you for moon illumination by city

Per-city precision

Moonrise and moonset shift by minutes per city longitude and degrees per city latitude. A per-city URL respects that geometry, so the value the visitor sees matches the sky they look at when they walk outside.

Month-ahead outlook

A list mapping over the next month's daily phases renders a compact calendar that visitors scan for the next full moon, the next new moon, or a specific illumination window for astrophotography planning.

Phase-aware iconography

The phase name field drives icon swaps in the hero block via a selector mapping that resolves to one of eight phase glyphs. The visual cue makes the page legible at a glance without forcing the visitor to read the percentage first.

Use cases

Where moon pages catch the long tail

Astrophotography blogs

Posts about Milky Way conditions, deep-sky targets, and night sky photo planning can deep-link to per-city moon pages so readers see the lunar interference window for their own location.

Stargazing and dark-sky sites

Dark-sky reserves and stargazing tour operators benefit from per-city pages that double as planning surfaces for visitors deciding which weekend has the darkest skies.

Gardening and lunar calendars

Biodynamic and lunar-calendar gardening content gets a stable per-city URL that updates daily without editorial work, so readers see what the moon is doing the day they read the article.

The bigger picture

Why moon coverage needs the city axis

The moon is global but the moon questions are not. Visitors anchored to their city want their moonrise, their illumination, their dark-sky window. A single global almanac forces them to translate the data themselves or land on a calculator that ranks for nothing specific.

SleekRank turns the city axis into the URL space and lets WordPress own the editorial surface, so the page that ranks for their search already knows their city before they read the first line. The lunar algorithm is cheap to run, the data refreshes nightly, and the city catalog is identical to the one driving the sun-position pages. Cross-links between sun, moon, meteor shower, and constellation page groups all reuse the same slug, so the visitor moves through the astronomy section without breaking context.

The base page is a normal WordPress page that can host photo essays, planning guides, and ad slots without affecting the data layer. The lunar coverage scales by adding cities, not by adding pages; by editing the algorithm output, not by editing posts; and by tightening the cross-link logic, not by rewriting articles.

Questions

Common questions about SleekRank for moon illumination by city

The USNO algorithm produces illumination accurate within fractions of a percent for any given moment. Daily display rounds to whole percentages because that's the precision the user-facing question demands. For tighter astrophotography planning, expose a per-hour illumination column via a list mapping if needed; the data is already in the source row.

 

Yes. The phase name and illumination are global, but the visual orientation differs in the southern hemisphere. A hemisphere flag in the city row drives icon orientation through a selector mapping, so the glyph the visitor sees matches the way the moon actually looks from their latitude.

 

Yes. Add a meteor_shower_slugs column to the city row that lists which showers fall during the dark-moon windows in the next month. A list mapping renders a card grid linking to /meteor-showers/{slug}/, so visitors pivot from lunar interference planning to specific shower nights in one click.

 

A flags column lists special-event tags per row when the upcoming month carries a blue moon, supermoon, or eclipse. A selector mapping promotes any non-empty flag into a banner above the hero block, so the page surfaces the unusual event without disrupting the standard layout.

 

Yes. The two page groups can share the same city catalog and the same lat/long/timezone fields. Run the lunar algorithm against the same input and let the moon-phase page group cross-link to /sun-position/{slug}/ in a side card. Both pages stay in sync without manual coordination.

 

Yes. Each page emits an Article JSON-LD block with the current phase, illumination, and city in the headline. For specific events like a full moon, the schema switches to Event with startDate and endDate covering the visibility window. A category column drives the schema selection at render time.

 

The algorithm runs against absolute Julian dates, not calendar conventions, so leap years and timezone shifts are handled correctly. The DST transition is the only city-level concern, and the timezone field on each city row captures that correctly. The base page renders identically every day of the year.

 

Yes. A print-stylesheet variant of the base page renders the upcoming month's daily phase calendar as a single-page printable layout. The data is the same; only the CSS differs. Visitors print a moon calendar for their fridge straight from the city URL.

 

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