AstroPundit isn’t just a design — it’s a ready-made programmatic SEO structure for an astrology site: 258 pre-built pages (horoscopes by sign, by month, sign compatibility), a full internal linking network, Schema.org markup with extended EEAT signals, and complete Yoast SEO integration. The theme is built so that after installation you don’t build a site from scratch — you edit an already-ready framework and publish.
Ready-Made Structure and Navigation
When the theme is activated, a full pool of posts is automatically created in draft status (not published and not indexed until you click “Publish” yourself — this protects against duplicate-content penalties across dozens of sites using the same theme):
- 12 “Horoscopes” CPT entries — yearly forecast for each zodiac sign
- 156 “By Month” CPT entries — 12 months for all signs + 12×12 sign/month combinations
- 90 “Compatibility” CPT entries — 12 hub pages (“sign with everyone”) + 78 unique pairs
- 3 archive pages (horoscopes, monthly horoscopes, compatibility)
All posts already have their URLs, titles, meta data, and taxonomies set up — a classic programmatic SEO structure that covers long-tail queries like “Aries horoscope for March” or “Pisces and Scorpio compatibility.”
Navigation is built around top-level content blocks — section headings (homepage, archives) are marked up as H2 (“Zodiac Signs,” “Sign Compatibility,” “Monthly Horoscopes”) with anchor ids, giving search engines a clean heading hierarchy. Inside articles there’s an automatic “Table of Contents” block linking to subheadings — improves engagement metrics and increases the chance of landing featured snippets.
A dedicated internal linking system automatically connects:
- all zodiac signs to each other;
- a sign → all months for that sign;
- a month → all signs for that month;
- compatibility pages between hubs and pairs.
This creates a dense internal link graph and distributes link equity evenly across all 258 pages, instead of relying on manual linking.
Clean Code, Correct Rendering, DOM/JS
- All HTML is rendered server-side (PHP/WordPress); JS never builds the DOM or uses
innerHTML— this eliminates content flicker (CLS) and dynamic-content indexing issues. - No jQuery — vanilla JS only, wrapped in
try/catchwith graceful degradation when the browser doesn’t support an API (e.g.IntersectionObserver). - Data is passed from PHP to JS only via
wp_localize_script— no inline JS with business logic. - Fonts are self-hosted (woff2, local, no requests to Google Fonts), with
font-display: swapandpreloadfor critical weights — faster LCP, no extra third-party domains. - LiteSpeed Cache compatibility is pre-configured: critical inline scripts and AdSense are correctly excluded from defer/combine so the caching plugin doesn’t break ads or header functionality.
- Telegram and Google AdSense scripts only load if the corresponding settings fields are filled in — no empty blocks or broken links out of the box.
Yoast SEO Integration
The theme doesn’t duplicate the SEO plugin’s functionality — it delegates the basics to Yoast and builds on top of it:
- Title, description, sitemap, and breadcrumbs are fully handled by Yoast (
yoast_breadcrumb()), with its own fallback template if Yoast is ever disabled. - Article/BlogPosting Schema.org is generated through the
wpseo_schema_articlefilter — duplicate JSON-LD was intentionally removed to avoid markup conflicts. - On top of Yoast, additional markup types are added that aren’t there out of the box:
- Person schema with EEAT signals —
sameAs(Telegram, personal website),knowsAbout(astrology, horoscopes, zodiac compatibility, natal charts, planetary transits) — strengthens the author’s expertise in Google’s eyes; - WebSite + SearchAction and Organization with a logo — for brand search and sitelinks searchbox;
- FAQPage schema — automatically generated whenever an article contains an FAQ block.
- Person schema with EEAT signals —
Setup After Installation
- Activate the theme → the pool of 258 drafts is created automatically.
- Settings → General: add your Telegram link and Google AdSense Publisher ID (optional — leave blank and the related blocks hide themselves).
- In the same place — choose the interface language: Ukrainian (default), English, Spanish, Russian, French (this translates the interface — header, footer, search, archives, breadcrumbs, sign/month names; the horoscope content itself still needs to be translated manually or via WPML/Polylang — the theme intentionally doesn’t depend on either).
- Open the drafts in the admin panel, replace the placeholder text with real content, and publish.
- If needed, regenerate the pool (e.g. after changing the data structure) — use the “Regenerate post pool” button in Settings; the action is idempotent, posts that already exist by URL are not duplicated.
- Install and activate Yoast SEO (required plugin for the theme’s SEO module to work fully).
Why This Strengthens Search Rankings
- Programmatic SEO out of the box — 258 ready URLs with a unique metadata structure targeting long-tail topical queries.
- Controlled indexing — drafts don’t enter the sitemap or index until the owner fills them in, eliminating the risk of duplicate content across many sites running the same theme.
- Dense internal linking between signs, months, and compatibility pairs — link equity spread evenly across pages.
- Extended Schema.org on top of Yoast — Article, Person (EEAT), WebSite, Organization, FAQPage — better odds of rich snippets.
- Fast rendering: server-rendered HTML, no jQuery, self-hosted fonts with preload, pre-configured cache-plugin compatibility — directly improves Core Web Vitals (LCP, CLS), which Google factors into ranking.
- Clean heading semantics (H2 sections, anchored TOC) — a clear content hierarchy for search engines on every page.
