=== SiteNivo – Modular Site Toolkit ===
Contributors: forgewpdevx
Tags: seo, broken link scanner, redirections, smtp, permalink manager
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.3.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Custom fields, custom post types, taxonomies, SEO & speed toolkit in one plugin — build structure and optimize your site with zero code.

== Description ==

**SiteNivo** is a powerful, lightweight, modular toolkit for WordPress. Build custom content structures, boost SEO rankings, accelerate page speed, scan dead links, manage SMTP, and secure your website — all from one intuitive admin dashboard without writing code.

### 🌟 All-in-One Modular Architecture
Instead of installing 10+ separate bulky plugins that slow down your website, SiteNivo brings all essential website management, performance, and developer tools into a single streamlined system.

* **Custom Post Types & Taxonomies** — Register and configure custom post types and custom taxonomies with full UI options, archive rules, and PHP code generation.
* **Custom Fields & Meta Boxes** — Create rich meta boxes on posts, pages, terms, and options screens with advanced location rules.
* **SEO Toolkit & SERP Analyzer** — Real-time Google SERP preview, focus keyword analysis, automated XML sitemap (`/sitemap.xml`), JSON-LD Schema markup, Open Graph, Twitter cards, Breadcrumbs, and IndexNow instant search engine indexing.
* **Smart Cache & Speed Optimizer** — High-performance disk page cache, automated HTML/CSS/JS minification, emoji/embed bloat cleanup, instant cache purges, and database optimization.
* **Broken Link Scanner** — Chunked background scanner to find dead links (404/500), 1-click inline URL fixer, auto-unlink, and CSV audit export.
* **Security & BOT Protection** — Hide login URL, brute-force protection, XML-RPC disable, security headers, and live activity event monitor.
* **Cookie-Free Visitor Tracking** — 100% server-side, privacy-first pageview analytics with IP geolocation and one-click IP blocking without cookies.
* **SMTP & Email Delivery** — Reliable transactional email with presets for Gmail, Outlook 365, SendGrid, Mailgun, Amazon SES, Brevo, and Zoho Mail.
* **Redirections & 404 Monitor** — Fast 301/302 URL redirects with wildcards and live 404 log capture.
* **Site Tools & Utilities** — URL search & replace, Permalink Manager, Code Generator, Header & Footer injection, Duplicate Post, Theme/Plugin Downloader, and Core/Plugin Rollback.

### 🚀 Developer Friendly
Use clean helper functions `sn_get_field()` and `sn_the_field()` in your themes, or export PHP registration code with zero plugin runtime dependency.

### Maintenance Mode & Coming Soon

Show a branded Maintenance Mode or Coming Soon page with built-in templates while you build or launch.

### WP Reset & Settings

* **WP Reset** — selectively reset posts, comments, terms, media, users, transients, theme mods, or plugin options. **Complete Site Reset** is available in the Pro Version.
* **Settings (Free)** — Classic Editor, Classic Widgets, Duplicate Post, Visitor Tracking, Download Theme & Plugin, Rollback, Disable Core / Theme / Plugin Updates, Favicon (Site Icon), safe SVG uploads, **Performance-related settings**, security toggles, Google Maps API key, and uninstall cleanup. Settings are organized in tabs (General, Media, Performance, Security, Admin UI, Integrations, Maintenance).

**Classic Widgets** restores the classic (non-block) Widgets screen via WordPress’s `use_widgets_block_editor` filter — toggle it under **SiteNivo → Settings → General**.

**Duplicate Post** adds a Duplicate row action and Bulk actions option for posts, pages, and public custom post types (creates drafts). Enable it under **SiteNivo → Settings → General**. Copying SiteNivo **custom field** values when duplicating is a **Pro Version** feature.

**Visitor Tracking** can be enabled under **SiteNivo → Settings → General** — see the **Visitor Tracking** section below for full details.

### Download Theme & Plugin

Download any installed theme or plugin as a ZIP from the WordPress admin — useful for backups, moving a theme/plugin to another site, or keeping a local copy.

* **Appearance → Themes** — open a theme’s details modal and use **Download** next to Customize / Menus
* **Plugins → All Plugins** — use the **Download** link next to Activate / Deactivate on each plugin row
* Creates a ZIP of that theme or plugin folder (ready to install elsewhere)

Enable it under **SiteNivo → Settings → General → Download Theme & Plugin**. When the toggle is Off, the Download actions are hidden.

### Rollback

Roll plugins, themes, or WordPress core back to a **previous WordPress.org version** (classic rollback style).

* Enable under **SiteNivo → Settings → General → Rollback**
* **Plugins:** Rollback link on plugin list rows (WordPress.org plugins only)
* **Themes:** Rollback on the theme details modal (WordPress.org themes only)
* **Core:** roll back WordPress from the Settings → General Rollback card (not the Updates screen)
* Choose a version, confirm, and SiteNivo installs that package from WordPress.org

When the toggle is Off, Rollback actions are hidden.

### Disable Updates

Three independent toggles under **SiteNivo → Settings → General** let you disable WordPress core, theme, and plugin updates separately. Each toggle fully blocks update notices, automatic updates, and manual Update actions for that type.

Disabling updates does not block installing new themes or plugins, and does not affect SiteNivo Rollback.

### Social Buttons

Add floating contact buttons from **SiteNivo → Social Buttons** (below Visitor Tracking).

* Channels: WhatsApp, Phone Call, Email, Facebook Messenger, Telegram, Custom Link — enable any subset (even just two)
* Optional custom icons via the Media Library (defaults provided)
* Position left or right; show on desktop and/or mobile
* Show on all pages, or limit to posts / pages
* Style: circle or square, size, gap, offsets, colors, border, shadow, hover
* Live admin preview is reserved for **SiteNivo Pro** (hooks are ready for Pro)

### Security

Harden common WordPress attack surface from **SiteNivo → Security** (below Social Buttons).

* **Block sensitive files** — deny public access to install.php, setup-config.php, debug.log, readme.html, and license.txt (Apache `.htaccess` when writable, plus PHP fallback)
* **Disable XML-RPC** and remove the X-Pingback header
* **Disable theme & plugin file editor** (`DISALLOW_FILE_EDIT` when not already defined)
* **Hide WP identity** — remove generator meta, blank RSS/Atom signatures, strip ?ver= from scripts/styles, and remove RSD + WLW manifest links
* **Login lockout** — after 5 failed attempts per IP within 15 minutes, show a generic “too many attempts” message
* **Hide login error detail** with a customizable generic message on wp-login.php so usernames are harder to enumerate
* **BOT Protection** — optional rate limit (default 25 requests / 60 seconds per IP); timed entries on the Visitor Tracking block list; optional admin email alert and event log
* Optional: **block application passwords** for non-admins
* **Visitor Tracking** can ignore known scanner / probe paths so logs stay clean

Pitch: stops the usual automated WordPress attacks.

### Hide Login

Change the WordPress login URL from **SiteNivo → Hide Login** (below Security).

* Set a private login slug — only that path serves the login form
* Direct hits to `wp-login.php` show a theme 404 (they are not redirected to your secret URL)
* Guest visits to `wp-admin` go to your configured redirect path (default `404`), never to the login URL
* Logout, password reset, and other WordPress-generated login links use the custom URL
* Bookmark the new URL; recover by clearing the Hide Login options or temporarily removing the plugin folder

### Disable Comments

Turn off comments where you don’t need them from **SiteNivo → Disable Comments** (below Hide Login).

* **Disable Comments** — closes new comments on selected content types; blocks submissions, comment feeds, comment-reply scripts, and comment XML-RPC methods (does not delete existing comments)
* **Hide existing comments** — optionally hide approved comments on the frontend for selected types
* **Remove Comments Menu** — hides Comments from the admin menu, admin bar, dashboard widget, and related metaboxes; blocks direct admin URLs
* **Disable Comments REST API** — removes `/wp/v2/comments` endpoints and blocks REST inserts
* **Disable Trackbacks** — closes trackbacks/pingbacks on selected types
* **Apply To** — Posts, Pages, Products (when WooCommerce is active), and other public Custom Post Types

### Redirections

Manage **301 / 302 redirects** from **SiteNivo → Redirections** (below Permalink Manager).

* Add, edit, enable/disable, and delete redirect rules (exact path match)
* Optional ignore query string when matching (on by default)
* **404 Log** — see broken URLs visitors hit and create a redirect in one click
* Backup / migrate redirect rules via **SiteNivo → Import / Export** (JSON)
* Bulk enable, disable, or delete selected redirects

### Favicon

Set your site favicon from **SiteNivo → Settings → Media**. SiteNivo uses WordPress **Site Icon** (same as Appearance → Customize → Site Identity).

* Required size: square image at least **512×512** pixels (PNG or JPG recommended)
* Select / change / remove from the Media tab, then **Save Changes**
* Works on the frontend automatically via WordPress core

### Header & Footer

Add tracking and analytics snippets from **SiteNivo → Header & Footer** (below SMTP).

* **Header scripts** — output on `wp_head` (GA, GTM, meta tags, pixels)
* **Footer scripts** — output on `wp_footer`
* Editors use WordPress core **CodeMirror** (`wp_enqueue_code_editor`)
* Only users with `manage_options` can save; snippets print on the frontend only

### Visitor Tracking

Log public pageviews with **cookie-free, server-side** tracking from **SiteNivo → Visitor Tracking** (below Header & Footer).

Visitors are never asked to allow cookies for this feature — nothing is stored in the browser.

* Enable under **SiteNivo → Settings → General → Visitor Tracking** (tracking starts only when On)
* Visit log with search and **First / Prev / Next / Last** pagination; open a row for the **detail panel**
* Details include city, region, country, postal code, timezone, ISP, IP address, visitor token, user agent, page URL, and referrer
* **Device / OS / browser** labels parsed from the user agent (raw UA kept in details)
* Referrer **source** label (Direct or host such as linkedin.com when the browser sends `HTTP_REFERER`)
* **Block / unblock IPs** — blocked visitors get a public-site 403; remove an IP from the list to allow access again (logged-in admins are never blocked). Timed bot blocks from Security → BOT Protection appear here and expire automatically.
* Extra geo fields when available (organization, AS, coordinates, mobile / proxy / hosting flags)
* Timestamps are stored in **UTC** and shown in your site’s **WordPress timezone**
* Optional IP geolocation via **ip-api.com** (see External Services); private/local IPs are logged without a geo lookup

### For Developers

Read field values in your theme:

    sn_get_field( 'field_key', $post_id );
    sn_the_field( 'field_key', $post_id );
    sn_get_field( 'field_key', 'option' );

Works with post meta, options pages, user meta, and term meta.

---

### Coming Soon in Free

Upcoming free updates will include:

* and much more

### SiteNivo Pro — Coming Soon

**SiteNivo Pro** is coming soon with advanced modules such as:

* Social Buttons — live admin preview
* Forms
* Blocks Development
* User Activity
* Login Activity
* URL Replace history & rollback
* Duplicate Post — custom field values when duplicating
* SMTP rarer mailers, Email Log, and advanced testing
* REST API Module
* Complete Site Reset
* Repeater, Clone, Flexible Content, and Table fields
* and much more

The free plugin already includes **Performance-related settings** under **SiteNivo → Settings**, so you can tune common performance options without Pro.

---

== Installation ==

1. In WordPress go to **Plugins → Add New**, search for **SiteNivo** (custom fields / custom post types), then install and activate.
2. Or upload the plugin ZIP via **Plugins → Add New → Upload Plugin**.
3. Open **SiteNivo** in the admin menu to create your first custom post type, taxonomy, or field group.

== Frequently Asked Questions ==

= Is SiteNivo a custom fields plugin? =

Yes. SiteNivo lets you create custom fields and field groups (meta boxes) for posts, pages, taxonomies, users, and options pages — plus custom post types and taxonomies in the same plugin.

= Can I create custom post types without code? =

Yes. Use the CPT builder to register WordPress custom post types from the admin. You can also export PHP with the Code Generator if you want portable `register_post_type()` code.

= Does it support custom taxonomies? =

Yes. Create custom taxonomies, choose hierarchical or flat behaviour, and assign them to any post type.

= Will SiteNivo conflict with ACF or other custom fields plugins? =

No. SiteNivo is independent. You can run it alongside Advanced Custom Fields (ACF) or similar plugins if needed.

= Do I need coding skills? =

No. Build custom post types, taxonomies, custom fields, and options pages from the UI. Developers can use `sn_get_field()` / `sn_the_field()` in themes when needed.

= Where can I get support? =

Use the **WordPress.org support forum** for this plugin (Support tab on the plugin page).

= What happens if I uninstall? =

Configuration stays in the database by default so you can reinstall later. Enable **Delete data on uninstall** under **SiteNivo → Settings** to remove tables and options.

= Can I download themes and plugins as ZIP files? =

Yes. Enable **Download Theme & Plugin** under **SiteNivo → Settings → General**. Then use **Download** on the theme details modal (**Appearance → Themes**) or on plugin list rows (**Plugins → All Plugins**). SiteNivo zips that theme or plugin folder for you.

= Can I roll back a plugin, theme, or WordPress core? =

Yes. Enable **Rollback** under **SiteNivo → Settings → General**. Then use **Rollback** on plugin rows or the theme details modal (WordPress.org items only), or use the Core Rollback card on the Settings page. SiteNivo installs the version you pick from WordPress.org.

= Can I set a favicon from SiteNivo? =

Yes. Open **SiteNivo → Settings → Media → Favicon**, select a square image at least **512×512** pixels, then Save Changes. This sets the WordPress Site Icon (same setting as Appearance → Customize → Site Identity).

= Can I add Google Analytics or tracking scripts? =

Yes. Open **SiteNivo → Header & Footer** (below SMTP). Paste your tracking tags into Header (wp_head) and/or Footer (wp_footer), then Save Changes. Only administrators can edit these fields.

= Does Visitor Tracking use cookies? =

No. Visitor Tracking is cookie-free and server-side — nothing is stored in the visitor’s browser, and visitors are not asked to allow cookies for this feature. Enable it under **SiteNivo → Settings → General**, then open **SiteNivo → Visitor Tracking** to review the visit log and details. Optional IP geolocation uses ip-api.com when available (see External Services).

= Can I manage URL redirects? =

Yes. Open **SiteNivo → Redirections** to add 301/302 rules (source path → destination), view a **404 Log** of broken URLs, and create redirects from those hits. Back up or migrate rules from **SiteNivo → Import / Export**.

= Does SiteNivo include SMTP / email settings? =

Yes. Open **SiteNivo → SMTP** to use Default PHP mail, Other SMTP, or common providers (Gmail, Outlook, SendGrid, and more). Save your settings, then use **Send Test Email**. Branded API/OAuth mailers and the Email Log are Coming Soon In Pro Version.

= How does the Broken Link Scanner work? =

Open **SiteNivo → Broken Links** and click **Scan Now**. SiteNivo runs an optimized batch background scan across your selected content types (posts, pages, CPTs) checking both internal and external links. You can fix broken URLs directly inside post content in one click, remove dead links, re-check individual URLs, or export full audit reports to CSV. Scanner settings can be managed under **SiteNivo → Settings → Broken Links**.

== Screenshots ==

1. SiteNivo dashboard — custom post types, fields, and site tools overview
2. Custom post type builder
3. Custom taxonomy builder
4. Custom fields / field group editor with field types
5. Options page settings
6. Admin columns manager for post list tables
7. Code Generator for CPT and taxonomy PHP export
8. Maintenance Mode and Coming Soon templates

== External Services ==

SiteNivo works without external services by default. Optional features may contact third parties only when you use them:

* **Google Map field** — Google Maps JavaScript API / Places API when a Maps API key is saved in Settings. [Terms](https://cloud.google.com/maps-platform/terms) · [Privacy](https://policies.google.com/privacy)
* **OpenStreetMap field** — Leaflet is bundled locally; map tiles / geocoding may use OpenStreetMap-compatible providers and Nominatim. [OSM copyright](https://www.openstreetmap.org/copyright) · [Privacy](https://osmfoundation.org/wiki/Privacy_Policy)
* **oEmbed field** — uses WordPress core oEmbed (may contact the URL’s provider, e.g. YouTube).
* **SMTP / Email** — when you choose an SMTP mailer, WordPress sends mail through the SMTP host **you** configure (for example `smtp.gmail.com`, `smtp.sendgrid.net`, or your own server). SiteNivo does not relay mail through SiteNivo servers; credentials stay in your WordPress database and are only used to authenticate with your chosen host.
* **Rollback** — when you roll back a plugin, theme, or WordPress core, SiteNivo contacts **WordPress.org** APIs and downloads packages from `downloads.wordpress.org` / `wordpress.org` only (the version you select). [API](https://api.wordpress.org/) · [Privacy](https://wordpress.org/about/privacy/)
* **Visitor Tracking** — when enabled, SiteNivo may look up a visitor’s IP with **ip-api.com** (free HTTP JSON endpoint) to enrich the visit log with city, region, country, ISP, and related fields. Only the visitor IP is sent for geolocation; no cookies are set. Free tier is HTTP-only and rate-limited (non-commercial use per ip-api terms). [Docs](https://ip-api.com/docs/api:json) · [Terms](https://ip-api.com/docs/legal)

== Changelog ==

= 1.3.2 =
* Enhanced: WP Rocket-grade URL directory hierarchy cache storage (`cache/sitenivo/{host}/{path}/index.html`) for transparent file inspection and direct local serving.
* Enhanced: Instant Local Cache Serving — immediate `X-SiteNivo-Cache: HIT` response with early serving bypassing template generation and database queries.
* Fix: Permission and Nonce Protection — comprehensive auth cookie scanning (`wordpress_logged_in_*`, `wp-postpass_*`, WooCommerce session/cart) to prevent stale nonces, permission denied errors, and user state leaks.
* Fix: Pagination Caching & Multi-Level Invalidation — full support for `/page/{n}/` and `?paged={n}` caching with automatic purging of homepage, categories, tags, and archives upon content changes.
* Fix: Asset Minification & Combining — overhaul `url_to_local_path` with path normalization for root-relative, protocol-relative, IP-based, and subdirectory WordPress installations.
* New: Admin Bar Quick Purge Dropdown — 1-click purge for the currently viewed page or entire site cache directly from the WordPress frontend.

= 1.3.1 =
* New: Speed & Cache Asset Optimization Suite — CSS and JS minification, Combine CSS with relative path resolution, Combine JS, Async CSS, and Delay JavaScript execution until first user interaction.
* New: Smart Query String Normalization — strip marketing tracking parameters (utm_*, fbclid, gclid, _ga, mc_cid, mc_eid) during cache computation for instant paid traffic delivery.
* New: Media Acceleration Suite — native image lazy loading with LCP leading image protection, YouTube video preview placeholder saving ~1 MB upfront payload, auto image dimensions, and featured image preloading.
* New: WordPress Bloat Cleaner Tweaks — disable XML-RPC, remove RSD/WLW links, remove shortlink, hide WordPress version, disable self pingbacks, and disable header feed links.
* New: Database Table Health — orphaned term relationships cleaner and MySQL table optimization & defragmentation.
* Enhanced: Settings page master switch for Speed & Cache module with direct navigation links and status notices.
* Enhanced: Multi-Module Import & Export — complete roundtrip backup and restoration for all 21 modules and standalone options.

= 1.3.0 =
* New: Multi-Module Import & Export — full JSON backup, export, and migration support for all 21 SiteNivo modules and settings.
* Export and import configurations for SEO, Speed & Cache Optimizer, Security & BOT Shield, SMTP Mailer, Header & Footer Scripts, Coming Soon, Maintenance Mode, Social Share Buttons, Hide Login, Disable Comments, Duplicate Post, Broken Link Scanner, Permalink Manager, Visitor Tracking, and General Tweaks.
* Granular module selection: export entire site setups or specific feature configs with one click.
* Enhanced import validation: safe restoration with duplicate protection and sanitize safeguards.

= 1.2.8 =
* New: SEO Toolkit module — complete on-page and technical SEO toolkit.
* Live SERP snippet preview with desktop and mobile toggle views for posts and pages.
* On-page content analysis: focus keyphrase checklist and dynamic character gauge bars.
* Automated meta tags: smart title templates, meta description, canonical URL, and robots index/follow controls.
* Social Graph: Facebook Open Graph and Twitter Cards with custom images and titles.
* Dynamic XML Sitemap at /sitemap.xml with index and sub-sitemaps for posts, pages, and CPTs.
* HTML Sitemap generator via [sitenivo_html_sitemap] shortcode with multi-column layout support.
* Missing Image ALT Text Scanner with 1-click inline editing and auto-fill from image file titles.
* Breadcrumbs generator via [sitenivo_breadcrumbs] with Google BreadcrumbList JSON-LD Schema.
* FAQ Accordion generator via [sitenivo_faq] with Google FAQPage rich snippet Schema.
* Site SEO Health & Audit checklist with dynamic scoring gauge.
* JSON-LD Schema markup for Organization, Person, WebSite search, Breadcrumbs, and Article.
* Webmaster Tools: verification codes for Google Search Console, Bing, Pinterest, Yandex, and Baidu.
* Virtual robots.txt editor with automatic sitemap directive injection.
* Added Broken Links and SEO Toolkit to the main SiteNivo Dashboard module list.

= 1.2.7 =
* New: Broken Link Scanner module — scan posts, pages, and custom post types for dead links (404, 500), broken redirects (3xx), and timeouts.
* Live batch scanner with smooth chunked background AJAX execution and progress bar.
* Inline Quick Fix: update broken URLs directly across post content without opening the WordPress editor.
* 1-Click Unlink: remove dead links from post content while preserving anchor text.
* Single re-check and dismiss controls for false-positive management.
* Export full broken link audit reports to CSV.

= 1.2.6 =
* Security: BOT Protection — rate-limit public requests per IP (60s window); timed Visitor Tracking block; optional email alert; event log.
* Visitor Tracking: block list supports timed / sourced entries (bot auto-expiry) with UI labels.

= 1.2.5 =
* Visitor Tracking: First / Last pagination alongside Prev / Next.
* Visitor Tracking: clearer referrer source labels (Direct vs host); capture still uses HTTP_REFERER.
* Visitor Tracking: device / OS / browser parsed from user agent in the list and detail panel.
* Visitor Tracking: block / unblock IPs (public site 403); remove from the block list to whitelist again.
* Tags: added `visitor tracking` (replaced `scf`).

= 1.2.4 =
* New: Hide Login module — custom login slug; wp-login.php probes get a theme 404; guest wp-admin redirects to a configured path (not the secret login URL).
* Tags: added `hide login` (replaced `no cookie tracking`).

= 1.2.3 =
* New: Disable Comments module — close comments/trackbacks on Posts, Pages, Products, and CPTs; optional admin menu cleanup and comments REST API disable.
* Extra hardening: hide existing frontend comments, block comment feeds/XML-RPC comment methods, reject new submissions, block edit-comments.php direct access when menu removed.
* Docs: removed Disable Comments from Coming Soon in Free.

= 1.2.2 =
* New: Security module — block sensitive files, disable XML-RPC, disable file editor, hide WP identity, login lockout (5 / 15 min), optional app-password restriction for non-admins.
* Hide WP identity also removes RSD and WLW manifest links and blanks feed generator signatures.
* Visitor Tracking: ignore known scanner / probe paths (Security toggle).
* Moved hardening toggles from Settings → Security into SiteNivo → Security; Settings keeps uninstall cleanup + link.
* Docs: removed Hide Identity from Coming Soon in Free.

= 1.2.1 =
* New: Social Buttons — floating WhatsApp, Phone, Email, Messenger, Telegram, and Custom Link (enable any subset).
* Style controls: shape, size, gap, offsets, colors, border, shadow, hover; optional Media Library icons.
* Pro-ready: admin live preview hooks (preview UI is Pro); removed Social Buttons from Coming Soon in Free.

= 1.2.0 =
* New: Disable Core / Theme / Plugin Updates — three independent toggles under Settings → General (full block: notices, auto-updates, and manual Update actions).
* Docs: removed Disable Theme & Plugin Updates from Coming Soon in Free.

= 1.1.9 =
* Docs: full Visitor Tracking section in the readme (cookie-free tracking, Settings toggle, admin log/detail panel).
* Docs: removed Header & Footer and Visitor Tracking from Coming Soon in Free (both already shipped).
* FAQ: Does Visitor Tracking use cookies?
* Tags: restored `no cookie tracking` (replaced `search and replace`).

= 1.1.8 =
* Admin: WordPress flyout under SiteNivo shows only Dashboard (other pages stay in the SiteNivo sidebar).
* Tags: added `redirections` (replaced `no cookie tracking`).

= 1.1.7 =
* New: Visitor Tracking — cookie-free server-side pageview log (Settings → General to enable).
* Geo enrichment via ip-api.com; timestamps stored in UTC and displayed in the WordPress timezone.
* Admin visit table + detail panel (city, region, country, ZIP, ISP, IP, visitor token, UA, and more).
* Tags: replaced `duplicate post` with `no cookie tracking`.

= 1.1.6 =
* New: Header & Footer module — tracking/analytics snippets (wp_head / wp_footer), below SMTP.
* Uses WordPress core CodeMirror via wp_enqueue_code_editor (no bundled editor).
* Capability-gated save (manage_options); frontend-only output.

= 1.1.5 =
* Fix: Favicon no longer breaks the frontend (removed full-page HTML buffer that could blank the site).
* Site Icon still uses WordPress core output via Settings → Media.
* Redirections polish: Import/Export integration, UI fixes, Plugin Check cleanup.

= 1.1.4 =
* New: Redirections — 301/302 rules, 404 log, bulk enable/disable; backup via Import / Export.
* Module page below Permalink Manager (sidebar, dashboard, menu).
* Admin shell: WordPress notices re-homed so they no longer break the layout.

= 1.1.3 =
* New: Favicon — set WordPress Site Icon from Settings → Media (min 512×512).
* Syncs with Appearance → Customize → Site Identity; size validation on select and save.

= 1.1.2 =
* New: Rollback — install a previous WordPress.org version of plugins, themes, or WordPress core.
* Settings → General toggle; Plugins row + Themes modal actions; Core rollback card in Settings only.
* Tags: replaced `custom post types` with `duplicate post`.

= 1.1.1 =
* New: SMTP module — Default PHP mail, Other SMTP, and common SMTP providers (Gmail, Outlook, SendGrid, and more), From Email/Name, Force From, Send Test Email.
* Pro teasers: rarer mailers, Email Log, and advanced testing (Coming Soon In Pro Version).
* Module page below Permalink Manager in the SiteNivo menu, sidebar, and dashboard.

= 1.1.0 =
* New: Permalink Manager — custom URIs for posts, pages, and public CPTs (edit-screen box).
* 301 redirect from the native WordPress permalink to the custom URI.
* Module page below URL Replace: supported post types, custom URI list, flush permalinks.

= 1.0.9 =
* Settings: tabbed layout (General, Media, Performance, Security, Admin UI, Integrations, Maintenance) — layout only; no setting behavior changes.

= 1.0.8 =
* New: Download Theme & Plugin — ZIP download for any installed theme or plugin.
* Themes: Download button in the theme details modal (Appearance → Themes).
* Plugins: Download link on plugin list rows (Plugins → All Plugins).
* Settings: toggle under SiteNivo → Settings → General (below Duplicate Post).

= 1.0.7 =
* New: Duplicate Post — row action + bulk duplicate for posts, pages, and public CPTs (Settings → General).
* Pro: SiteNivo custom field values are copied when duplicating (Coming Soon In Pro Version / licensed Pro).

= 1.0.6 =
* New: Classic Widgets setting — restore the classic Widgets screen (Settings → General, below Classic Editor).
* Settings: renamed the Editor settings card to General.

= 1.0.5 =
* Fix: Options page render fatal error — anonymous BasePage now implements get_screen_nonce_action().

= 1.0.4 =
* New: URL Replace module — full-database URL search/replace with serialized-aware handling.
* History table UI reserved for SiteNivo Pro (Coming Soon In Pro Version) via extension hooks.

= 1.0.3 =
* Readme: Developers sample now shows sn_get_field / sn_the_field with $post_id.

= 1.0.2 =
* Readme updates: tags, Coming Soon / Pro roadmap, developer code sample fix.
* Removed external site / donate links until the official website launches.

= 1.0.1 =
* Updated readme and branding.
* Plugin Check compliance improvements.
* Admin menu and dashboard icon refinements.

= 1.0.0 =
* Initial release: Custom Post Types, Taxonomies, Field Groups, Options Pages, Admin Columns, Code Generator, Import/Export, Maintenance Mode, Coming Soon, WP Reset, and Settings.

== Upgrade Notice ==

= 1.3.2 =
WP Rocket-grade URL cache tree, instant local cache serving, permission & nonce guards for logged-in users and WooCommerce, pagination caching & archive purge, and robust asset minification.

= 1.3.1 =
Full Speed & Cache Asset Optimization Suite (CSS/JS minification & bundling, Delay JS, Async CSS), Media & YouTube video previews, WordPress bloat tweaks, query string caching, and database table optimization.

= 1.3.0 =
Multi-Module Import & Export support for all SiteNivo modules: SEO, Cache, Security, SMTP, Header/Footer, Coming Soon, Maintenance, Social Buttons, Hide Login, Comments, Duplicate Post, Scanner, and Global Tweaks.

= 1.2.8 =
New SEO Toolkit module: on-page SEO analysis, live SERP snippet preview, automated meta tags, Open Graph, Twitter Cards, XML sitemaps, JSON-LD Schema markup, robots.txt editor, and Webmaster verification.

= 1.2.7 =
New Broken Link Scanner module: scan posts, pages, and custom post types for broken URLs (404/500/timeouts), redirects (3xx), inline link editing in post content, 1-click unlinking, and CSV export.

= 1.2.6 =
Security BOT Protection: block bursty IPs via the Visitor Tracking list (timed), with optional email alerts and an event log.

= 1.2.5 =
Visitor Tracking: First/Last pager, device labels from user agent, clearer referrer source, and IP block/unblock for the public site.

= 1.2.4 =
New Hide Login module: set a custom login URL. wp-login.php and guest wp-admin no longer reveal that secret path.

= 1.2.3 =
New Disable Comments module: turn off comments, trackbacks, comment admin clutter, and the comments REST API on selected content types.

= 1.2.2 =
New Security module: block sensitive files, XML-RPC, file editor, hide identity, login lockout, and scanner noise filtering for Visitor Tracking.

= 1.2.1 =
New Social Buttons module: floating contact icons with full style controls. Live admin preview comes in Pro.

= 1.2.0 =
Three new Settings toggles to disable WordPress core, theme, and plugin updates independently.

= 1.1.9 =
Readme documents Visitor Tracking; Header & Footer and Visitor Tracking removed from Coming Soon Free. Tags: no cookie tracking.

= 1.1.8 =
WP admin flyout shows only Dashboard under SiteNivo. Tags: added redirections.

= 1.1.7 =
Adds cookie-free Visitor Tracking (Settings → General). Visit log with IP geolocation via ip-api.com.

= 1.1.6 =
Adds Header & Footer tracking scripts (below SMTP). WordPress CodeMirror for GA/GTM/pixels.

= 1.1.5 =
Fixes blank frontend when a Favicon/Site Icon is set. Redirections Import/Export polish included.

= 1.1.4 =
New Redirections module: 301/302 rules, 404 log, Import / Export backup. Below Permalink Manager.

= 1.1.3 =
Favicon (Site Icon) from Settings → Media. Minimum size 512×512.

= 1.1.2 =
Adds Rollback (WordPress.org previous versions for plugins, themes, and core) under Settings → General. Tags updated: duplicate post.

= 1.1.1 =
Adds SMTP (Default, Other SMTP, common providers + test email) below Permalink Manager. Rarer Pro mailers / Email Log Coming Soon In Pro Version.

= 1.1.0 =
Adds Permalink Manager (custom URIs for posts/pages/CPTs) below URL Replace in the SiteNivo menu.

= 1.0.9 =
Settings page now uses tabs (General, Media, Performance, and more). No setting behavior changes.

= 1.0.8 =
Adds Download Theme & Plugin (Settings → General). ZIP any theme from the Themes modal or any plugin from the Plugins list.

= 1.0.7 =
Adds Duplicate Post (row + bulk) under Settings → General. Custom field copy is Pro.

= 1.0.6 =
Adds Classic Widgets under Settings → General (restore classic Widgets screen).

= 1.0.5 =
Fixes a fatal error when opening a custom Options Page in the admin.

= 1.0.4 =
Adds URL Replace (full database). History / rollback Coming Soon In Pro Version.

= 1.0.3 =
Readme developer sample update for v1.0.3.

= 1.0.2 =
Readme and listing updates for v1.0.2.

= 1.0.1 =
Maintenance update — branding, readme, and Plugin Check fixes.

= 1.0.0 =
Initial release.
