WordPress Hosting Documentation

Complete technical documentation for MK-Dizajn WordPress-optimized hosting. Everything you need to know about our pre-configured WordPress environment.

Quick Navigation

Benefits of Our Platform

We combine proven scale with measurable SEO impact. Here’s what that looks like in practice.

Huge SEO Impact in Days: Fast Media Subdomain + CDN

Moving images to a dedicated fast subdomain (e.g. media.domain.tld) and serving them behind a CDN (e.g. Cloudflare with global cache) can transform Core Web Vitals and SEO in a matter of days. One client saw 3,000+ URLs move from “needs improvement” to “good” in Google Search Console after this change—as shown in the graph below.

Core Web Vitals: 3k+ URLs improved from “need improvement” to “good” in days.
WordPress media library with 481,210 items — S3 bucket linked to client site.

Experience with Huge WordPress Media Libraries

We have hands-on experience running very large WordPress media libraries. We’ve operated setups where a client’s WordPress site is linked to an S3 (or S3-compatible) bucket with half a million items or more—ingestion, sync, and delivery all handled reliably. The screenshot shows one such library with 481,210 media items; we’re comfortable designing and operating at that scale.

That example is ~smaller than 1TB; we operate with no limits for media storage when using our infrastructure + CloudFlare.

SEO + Performance

Automatic next-gen images: AVIF (JPEG/PNG fallback)

When media offload is on, each new upload is converted to AVIF when conversion succeeds. Pages offer AVIF to browsers that support it (HTML picture: AVIF plus the original JPEG or PNG as fallback). Direct links to the original file still work. Theme CSS that uses background-image with the original URL still gets that original file — not AVIF. Gallery and lightbox stay one image per slot. WebP is not a format we generate for delivery; older WebP files left from previous plugins may still be served as stored.

AVIF for capable browsers, original JPEG/PNG as fallback — smaller files, same public URLs, no extra setup.

Try the Speed Yourself

We also support other large, internationally known publishing clients who rely on our infrastructure for performance and scale.

Open vizkultura.hr

Caching & WordPress tools

Agency WordPress sites ship with HTML page cache, Redis object cache, and media offload with AVIF. They load automatically — you do not install them from the plugin directory. Administrators see two extra items on the WordPress toolbar (top of the screen).

Who sees the toolbar

Only Administrators. Editors and other roles do not get these controls. Logged-in visits are not stored as the public HTML page, so your admin bar never becomes what anonymous visitors see.

Page cache

MK Cache — HTML pages

Stores the public HTML of anonymous GET visits (origin disk; Cloudflare can keep a copy at the edge). Nginx can serve that HTML without running WordPress again. Publishing or updating a post, comments, and some taxonomy edits refresh the relevant pages.

What it covers

  • Anonymous front-end pages (home, posts, pages, archives)
  • Clear this page cache — this URL on disk and at Cloudflare (front end only)
  • Clear Full cache — all origin HTML, plus Cloudflare HTML when the site is set up for it

What it does not store as the public page

  • Logged-in views, wp-admin, POST, 404, search, feeds
  • WooCommerce cart, checkout, account, and cart cookies
  • Comment-author cookies and most query strings (tracking parameters like utm_ are ignored)
  • Redis object cache — that is MK OB Cache, a different toolbar item

Toolbar

Gold/amber item labelled MK Cache. After a full clear, the item briefly shows whether Cloudflare was purged or only disk HTML was cleared.

Clear this page cache
Front end only. Deletes this URL’s HTML on disk and purges that URL at Cloudflare.
Clear Full cache
Clears all origin HTML. If Cloudflare HTML cache is configured for the site, that is purged too.
WordPress toolbar: MK Cache — Clear this page cache (front end) or Clear Full cache.
Object cache

MK OB Cache — Redis objects

WordPress object cache in Redis: options, transients, and query results. This makes wp-admin and PHP faster. It is not a copy of your HTML pages.

What it covers

  • Connection status (green = Redis connected, red = not)
  • Hits, misses, hit ratio, and time for this request
  • Clear all Cache — flush Redis for this site only

What it does not do

  • Does not rebuild or delete HTML files
  • Does not purge Cloudflare HTML — use MK Cache for that

Toolbar

Green item labelled MK OB Cache (red if Redis is down). Stats are for the current page load only.

Clear all Cache
Flushes this site’s Redis object cache, then reloads the page.
WordPress toolbar: MK OB Cache — request stats and flush Redis for this site.

Media offload (no toolbar)

Uploads go to the media host with best-effort AVIF. Pages use a picture element when an AVIF sibling exists. There is no admin-bar control; reclaim local disk from Site Hub → WordPress → Web Terminal (media disk cleanup).

How AVIF is deliveredMedia disk cleanup

Server Infrastructure

WordPress-Only Nginx Web Server

Our hosting infrastructure is built on Nginx, not Apache, and is specifically optimized for WordPress. The server is pre-configured with WordPress-specific rules and caching directives. This is a semi-managed hosting environment running on a premium Hetzner VPS.

Important: Due to the semi-managed WordPress-only hosting environment, we cannot provide custom Nginx location blocks or server-specific configurations. However, if you have specific technical requirements, please email our support team at help@mk-dizajn.hr and we'll work with you to find a solution.

Multi-Version PHP-FPM

We support multiple PHP versions running simultaneously via PHP-FPM (FastCGI Process Manager). This allows you to:

  • Run legacy applications on older PHP versions
  • Use the latest PHP versions for modern applications
  • Optimize performance with PHP-FPM's efficient process management

Supported PHP versions: 7.4, 8.0, 8.1, 8.2, 8.3 (more available upon request)

Cache at a glance

HTML page cache and Redis object cache — including the WordPress toolbar — have their own section. On the server you also get: Caching & WordPress tools.

MK Cache (HTML)

Public HTML for anonymous visits, served from origin disk and the Cloudflare edge. Clear a page or the full cache from the WordPress toolbar.

MK OB Cache (Redis)

WordPress object cache in Redis — options, transients, and query results. Separate from HTML; flush it from the green toolbar item.

OpCache

PHP bytecode caching for faster script execution and reduced CPU usage.

Browser & CDN

Cache headers for static assets plus Cloudflare for HTML and media at the edge.

See Caching & WordPress tools for what each toolbar control does. Typical anonymous page loads stay well under a second on a warm cache.

CloudFlare Protection

All hosting plans benefit from native CloudFlare integration, providing enterprise-level protection and performance:

  • DDoS protection with automatic threat mitigation
  • Web Application Firewall (WAF) for WordPress-specific threats
  • Global CDN for faster content delivery worldwide
  • SSL/TLS encryption with automatic certificate renewal

Your WordPress site sits behind CloudFlare's network, giving you enterprise-grade security without additional cost.

WordPress Installation Guidelines

Single vs. Multiple Installations

You can install WordPress once or multiple times depending on your hosting plan. However, there are important restrictions to keep in mind:

Subdirectory Installations Only

Multiple WordPress sites must be installed in subdirectories of your main domain (e.g., yourdomain.com/site1, yourdomain.com/site2)

Subdomain Limitations

Subdomains can be set up as additional domains but cannot be mapped to the same TLD on semi-managed hosting plans. Separate domains (domain1.com, domain2.com) are not possible for different WordPress installations on semi-managed hosting plans.

Installation Options

1. One-Click Installation

Most plans include access to a control panel with one-click WordPress installation. Simply log in, select WordPress, and follow the wizard.

2. Manual Installation

Advanced users can manually install WordPress via SFTP. Download WordPress from wordpress.org, upload files, and configure wp-config.php.

3. Professional Installation Service

Need help? Our Installation & Custom Work add-on service includes WordPress setup, theme installation, and initial configuration. Starting from €50/hour.

Staging Environment (dev.domain.com)

Every hosting plan includes a one-click staging environment at dev.yourdomain.com. This is a completely separate WordPress installation with its own database.

Important: The staging environment is isolated. We do not offer an automatic "Push to Production" feature because merging databases, files, and permalinks is complex and risky. Use the staging site to safely test plugins, themes, and updates before manually applying them to your live site.

Automated Security Checks

Your security is our priority. Our system automatically runs weekly integrity checks using WP-CLI to verify core WordPress files against the official repository.

You will receive a weekly email report summarizing the health status of your installation. You can enable or disable these notifications in your hosting dashboard.

Developer Access (SSH & Git)

For advanced users, we provide full SSH access to your server space.

Web Terminal: Use Site Hub → WordPress → Web Terminal for an interactive shell over HTTPS. Direct SSH to the VPS is not available to clients.

Git is pre-installed on all servers. You can manage your code versioning using standard `git pull` workflows via SSH. Note: We do not currently support automatic deployment hooks; updates must be pulled manually.

Databases, Users & Adminer

Manage MySQL databases for your site in Site Hub → Database. The hosting platform stores database and user records in ISPConfig; the Hub creates, lists, and deletes through that API. Extra database passwords are shown once when you create or rotate them — copy them immediately; the Hub does not keep a password vault.

Primary WordPress database

Your live WordPress site uses one primary database and user. That pair cannot be deleted from the Hub (and primary password rotate is not offered there). Opening Adminer from the Hub for the primary database can auto-fill the MySQL login using credentials from the live site configuration.

Extra databases & users

Within your plan database limit you can create an additional database with its user in one step. After create (or password rotate), copy the password and store it safely. When you open Adminer for an extra database, username and database name are prefilled — you type the MySQL password yourself.

Adminer access

Adminer is the browser SQL UI included with hosting. Use Open Adminer in Site Hub (not a random public bookmark). Access is gated on the server; the Hub opens the correct flow for your site. Auto-login applies to the primary WordPress database only.

Optimization

The Database tab still includes optimize-now and optional scheduled OPTIMIZE/ANALYZE for the WordPress database.

Tip: if you lose an extra database password, use Password (rotate) in Site Hub → Database, copy the new password, then update any app that uses that database.

File Manager, Web Terminal & Logs

In Site Hub → WordPress you will find Files, Web Terminal, and Logs in a two-column grid with WordPress management. The file manager is limited to your site’s web root. Web Terminal opens an interactive shell in your site jail over HTTPS — no client SSH required. Logs shows recent production nginx and PHP error lines.

Files (Site Hub → WordPress)

Browse, download, upload (max 32 MB; .php and normal assets allowed), edit text files, rename, and delete individual files. Directory delete and mass-delete are blocked. Shell/binary-style extensions such as .phtml, .phar, .exe, and .sh remain refused.

Web Terminal (Site Hub → WordPress)

Interactive bash in your site chroot as the site system user. Use it for WP-CLI, composer, git, and other shell work. Sessions are ticketed over HTTPS through Cloudflare; direct SSH is not offered to clients.

Logs (Site Hub → WordPress)

View up to the last 500 lines of production nginx access, nginx error, or PHP error logs, with an on-screen text filter. Download/export is not included. Cloudflare traffic analytics and custom WAF rules are not part of this Logs panel.

Need a full shell or to upload PHP? Open Site Hub → WordPress → Web Terminal (HTTPS). Direct SSH is not offered to clients.

Media disk cleanup

After media is copied off the site, WordPress can show files as migrated while local copies still sit in wp-content/uploads/ and use your disk quota.

A background job reclaims confirmed files over time, walking the whole library in small batches so older years drain too — not only the newest uploads.

To reclaim that disk now, open Site Hub → WordPress → Web Terminal. You can preview first; nothing is deleted until you run the real cleanup.

In Web Terminal, from your site’s web root: run `wp mk-b2 status` to see remaining local media, then `wp mk-b2 cleanup --dry-run` to preview what would be removed, then `wp mk-b2 cleanup` to drain files that are confirmed on the media host.

Only files marked migrated and confirmed present on the media host are removed. Pending and unconfirmed files (not on the media host) stay on disk.

Old /wp-content/uploads/… links still work: visitors get the local file if it is still there, or a redirect to the media host after the local copy is gone.

Cloudflare Tab & Security Cache Rules

Site Hub → Cloudflare replaces the old Analytics tab. It has two panels: Analytics (edge traffic/performance) and Rules (WAF custom rules). Cache rules live under Site Hub → Security. All rule CRUD uses your site’s Cloudflare API token — not a shared agency token.

Analytics (Site Hub → Cloudflare)

Shows Cloudflare zone analytics for your site when the site token and zone are configured. Errors from Cloudflare are shown honestly if metrics cannot be loaded.

WAF Rules (Site Hub → Cloudflare → Rules)

List, create, edit, and delete custom WAF (firewall custom) rules for your zone. Delete asks for confirmation. Rules whose description starts with “MK ” are platform-provisioned — treat them carefully; re-provision may restore them.

Cache Rules (Site Hub → Security)

Manage Cloudflare cache rules alongside security level and cache purge. Same site token as WAF Rules. Prefer not deleting platform “MK WP HTML cache*” rules unless you intend to replace them.

Site Cloudflare API token

Analytics and rule APIs require the per-domain Cloudflare client API token stored for your site. If it is missing or rejected, the Hub shows a clear error and does not fall back to an agency-wide token. Create a Cloudflare API Token (not Global API Key) with Zone → Zone (Read), Zone → Analytics (Read), Zone → Firewall Services (Edit), and Zone → Cache Rules / Cache Settings (Edit) as needed for your plan, then attach it in the Hub domain Cloudflare settings.

Tip: bookmark ?tab=cloudflare or ?tab=analytics — both open the Cloudflare tab.

Email Service

~10 Forwarding Aliases as Transactional Email

We provide approximately 10 forwarding aliases (for Gmail, Yahoo, or additional email accounts via ForwardEmail) as transactional email. This option is secure and more GDPR-friendly.

You can use your domain addresses (e.g. info@yourdomain.com, mk@yourdomain.com) to send and receive from your existing inbox—no separate email hosting needed. Manage aliases and SMTP passwords in Site Hub → Email.

Sending from a domain alias (e.g. mk@mk-dizajn.hr) in your email client.

What's Included

We provide email via ForwardEmail for all hosting plans: domain aliases that forward to your existing inbox (Gmail, Yahoo, etc.) plus light outbound SMTP for day-to-day mail. This is not Google Workspace–class mailbox hosting.

Transactional email via ForwardEmail

Up to 5–10 forwarding aliases to your Gmail or Yahoo so you can send and receive as your domain (e.g. info@yourdomain.com). Manage aliases and generate SMTP passwords in Site Hub → Email. Learn more:

Who uses ForwardEmail · Privacy & storage (do we store emails) · Send mail as Gmail (aliases)

WordPress Outgoing Email Configuration

WordPress service emails (new sale notifications, password changes, user registrations, etc.) are automatically configured with correct DKIM/SPF/DMARC records for optimal deliverability. There is no limit for WordPress server outgoing emails when your domain is with us, or when you use a third-party email plugin (e.g. WP Mail SMTP, SendGrid, Mailgun).

Important: WordPress email configuration with DKIM/SPF/DMARC is ONLY available if:

  • Your domain is parked/purchased from us, OR
  • Your domain is migrated to our Cloudflare account with orange cloud (Proxy) enabled for Cloudflare security

If your domain is not managed through us or our Cloudflare account, you can still use the SMTP/POP3 email account, but WordPress outgoing emails will need to be configured manually with your own email provider.

  • 100 SMTP emails per day - generous limit for standard email correspondence - do not use for mass email - use Mailchimp Brevo or similar specialized service
  • Email forwarding - receive emails sent to your aliases in your regular inbox

Daily SMTP Email Limit: 100 Emails

We actively monitor included SMTP usage daily (per site fair-use of 100/day). Our email provider also enforces account-level outbound caps. If you consistently approach or exceed limits, we may temporarily suspend SMTP access to protect infrastructure and sender reputation. Mailbox storage on the shared provider is limited and not the default product — prefer forwarding to Gmail/Yahoo.

SMTP / IMAP client settings

  • SMTP (send): host smtp.forwardemail.net — port 465 SSL/TLS (recommended) or 587 STARTTLS — username = full alias (info@yourdomain.com) — password = generated alias password from Site Hub (not your dashboard login)
  • IMAP (optional receive): host imap.forwardemail.net — port 993 SSL/TLS. Storage is optional and limited on the shared provider; forwarding to your existing inbox is the default product.
  • POP3 (optional): host pop3.forwardemail.net — port 995 SSL/TLS

Need More Than 100 SMTP Emails Per Day?

The 100/day limit applies only to the included SMTP (ForwardEmail) account. If you need to send more than 100 emails per day via that account (e.g., newsletters, marketing campaigns, high-volume e-commerce), use your own email service provider or a third-party WordPress plugin:

SendGrid

Free tier: 100 emails/day

sendgrid.com →

Mailgun

Free tier: 100 emails/day

mailgun.com →

Amazon SES

Pay-as-you-go pricing

aws.amazon.com/ses →

GDPR & Data Protection

ForwardEmail is fully GDPR-compliant and takes data protection seriously. All email processing is handled securely with proper data protection measures in place.

Data Processing Agreement (DPA)

ForwardEmail provides a comprehensive Data Processing Agreement that ensures:

  • Full compliance with GDPR and international data protection regulations
  • Secure processing of personal data
  • No data retention beyond operational requirements
  • Transparent data handling practices
  • Your rights as a data controller are protected
Read ForwardEmail's DPA →

By using our hosting service with ForwardEmail, you benefit from enterprise-grade email security and compliance without additional cost or complexity.

GDPR & Data Processing Agreements

We are committed to GDPR compliance and data protection. Below you can find our Data Processing Agreements (DPA) with our service providers.

Hetzner Data Processing Agreement

Our hosting infrastructure is powered by Hetzner, a leading European cloud provider. This DPA ensures GDPR compliance for all data processed through our hosting services.

PDF • Updated: February 9, 2026
Download DPA

PostHog GDPR Compliance

We use PostHog for analytics and product insights. This document outlines PostHog's GDPR compliance measures and data processing practices.

PDF
Download PDF

Your Data Protection Rights

Under GDPR, you have the right to:

  • Access your personal data
  • Rectify inaccurate data
  • Request deletion of your data
  • Object to processing of your data
  • Data portability

To exercise these rights, please contact us at help@mk-dizajn.hr

Features & Limits Comparison

Detailed comparison of what each hosting plan includes

FeatureStarterProfessionalEnterprise
NVMe SSD Storage3 GB NVMe5 GB NVMe20 GB NVMe
Cloud Storage200 GB1 TB
Core Web Vitals
BandwidthUnmeteredUnmeteredUnmetered
SSL CertificatesFreeFreeFree
PHP Versions7.4 - 8.37.4 - 8.37.4 - 8.3
Caching SystemMK Cache + Redis + OpCacheMK Cache + Redis + OpCacheMK Cache + Redis + OpCache
BackupsDailyDaily + WeeklyDaily + Weekly + Monthly
DDoS ProtectionStandardStandardAdvanced
SupportEmailPriority Email24/7 Priority
Green Energy✓ 100%✓ 100%✓ 100%
Price (per year)60160480

Additional Limitations

  • Database size is included in the overall storage limit
  • CPU and memory limits vary by plan (contact support for details)
  • Inodes limit applies (typically 250,000 files per account)

Managed Services

Our hosting is not fully managed by default

This means you're responsible for managing your WordPress site, including updates, security, and optimization. However, we offer comprehensive managed services as optional add-ons.

What's Included in Managed Services?

WordPress Core Updates

Regular updates to WordPress core software

Plugin & Theme Updates

Keep all your plugins and themes up-to-date

Security Monitoring

24/7 security monitoring and malware scanning

Performance Optimization

Regular performance tuning and caching optimization

Backup Management

Enhanced backup retention and restoration services

Uptime Monitoring

Proactive monitoring with instant alerts

Common Questions

Can I get a refund if I'm not satisfied?

Yes, we offer a 30-day money-back guarantee. If you're not satisfied with our hosting within the first 30 days, contact us for a full refund. No questions asked.

Do you offer website migration services?

Yes! Website migration is available as part of our Installation & Custom Work service. We'll handle the entire migration process from your old host to our servers. Starting from €100 depending on the complexity of your site.

What happens if I exceed my storage limit?

We'll notify you before you reach your storage limit. You can either upgrade to a higher plan, add AWS Block Storage, or optimize your current storage usage. We'll never interrupt your service without warning.

Is green energy really used?

Absolutely! Our data centers in Germany are powered by 100% renewable energy sources including wind and solar power. We're committed to reducing the environmental impact of web hosting.

Can I host non-WordPress sites?

Yes, while our hosting is optimized for WordPress, you can host any PHP-based application. Contact us for details about running custom applications or other CMS platforms.

How quickly can I get started?

Your hosting account is provisioned within minutes of payment. You'll receive your login credentials and ForwardEmail details via email, and you can start building your site immediately.

What is the difference between MK Cache and MK OB Cache?

MK Cache stores public HTML for anonymous visitors and can purge Cloudflare HTML from the gold toolbar item. MK OB Cache is Redis object cache (options, transients, queries) on the green toolbar item. Clearing one does not clear the other. See Caching & WordPress tools.

Ready to Get Started?

Choose a hosting plan and launch your website on our premium green infrastructure