I já, jako vývojář s dlouhou praxí musím říct, že méně je někdy více. Není třeba implementovat všechny možné konstanty jen proto, že existují. Důležité je pochopit potřeby projektu a podle toho volit správná nastavení. Zároveň je dobré myslet na budoucí dramatickou údržbu a rozvoj projektu – příliš komplexní konfigurace může být v dlouhodobém horizontu spíše na škodu, zvlášť bez komentářů nebo technické dokumentace🖕
Proč používat konstanty?
WordPress konstanty představují základní stavební kámen konfigurace každé WordPress instalace. Jejich hlavní síla spočívá v centralizované správě nastavení. Představte si, že máte několik vývojových prostředí – local, staging a production. Díky konstantám můžete snadno spravovat různá nastavení pro každé z nich, aniž byste museli zasahovat do kódu.
Hlavní výhody konstant
Bezpečnost je jedním z hlavních důvodů, proč vývojáři sahají po konstantách. Umožňují bezpečné uložení citlivých údajů mimo veřejně přístupné složky. Navíc poskytují robustní kontrolu nad přístupy a oprávněními.
Výkon je další oblast, kde konstanty excelují. Můžete jemně ladit cache, optimalizovat využití systémových zdrojů a vypínat nepotřebné funkce. To vše vede k rychlejšímu a efektivnějšímu webu.
Skrytá nebezpečí
Ačkoliv jsou konstanty mocným nástrojem, přicházejí i s určitými riziky. Největším z nich je paradoxně přeoptimalizace. Příliš mnoho konstant může vést k nepřehlednému kódu a zbytečné komplexitě. Jak říkáme v našem týmu: „Každá konstanta by měla mít svůj účel.“
Praktické problémy s konstanty
Údržba rozsáhlé konfigurace může být náročná. Konstanty vyžadují pravidelnou aktualizaci a mohou způsobovat konflikty při aktualizacích WordPressu. Proto je klíčová důkladná dokumentace.
Doporučení pro implementaci
Pro malé projekty
Začněte s minimem nutných konstant. Typicky potřebujete pouze základní nastavení databáze, debugování a paměťové limity. Například:
define('WP_MEMORY_LIMIT', '512M');
PHPPro střední projekty
Se zvětšujícím se projektem přidejte cache konstanty a možná i podporu pro multisite. Zaměřte se také na monitoring a logování.
Pro enterprise řešení 🐦🔥
Velké projekty mohou těžit z pokročilých konstant pro mikroservisy, A/B testování a škálování. Zde je důležité najít správnou rovnováhu mezi funkcionalitou a udržitelností.
Dokumentace a komentáře⚡️
Dokumentujte a pište komentáře!
// Důležité! Ovlivňuje celkový výkon webu
define('WP_CACHE', true);
/*
* Nastavení limitů paměti
* @since 1.5.1
* @affects admin-ajax.php, upload.php
*/
define('WP_MEMORY_LIMIT', '1G');
PHPVerzování a prostředí🪇
// Nastavení pro různá prostředí
if (ENVIRONMENT === 'development') {
define('WP_DEBUG', true);
define('SCRIPT_DEBUG', true);
} else {
define('WP_DEBUG', false);
define('DISALLOW_FILE_EDIT', true);
}
PHPBest Practices🛞
- Dokumentujte vše
- Každá konstanta by měla mít jasný účel
- Udržujte přehled použitých konstant
- Pravidelně aktualizujte dokumentaci
- Testujte dopady těchto konstant
- Měřte vliv konstant na výkon
- Provádějte testy na různých prostředích
- Sledujte potenciální konflikty s pluginy
- Zachovejte si pragmatický přístup
- Implementujte pouze skutečně potřebné funkce
- Pravidelně revidujte použité konstanty
- Reagujte na reálné potřeby projektu
Hierarchie důležitosti🍋🟩
- Nejdříve základní nastavení (databáze, cache, bezpečnost)
- Pak výkonnostní optimalizace
- Nakonec specializované funkce
Ne úplné kompletní seznam konstant pro wp-config.php
// Databázové připojení
define('DB_NAME', 'nazev_databaze');
define('DB_USER', 'uzivatel');
define('DB_PASSWORD', 'heslo'); // Volte ideálně 16+ znáků s čísly a pismený (příklad: SNK#!Kq8Rw4UmG&n)
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
$table_prefix = 'wp_'; // Individuální volba. wp_ je výchozí hodnota, standardní.
// Správa revizí a automatického ukládání
define('WP_POST_REVISIONS', false); // Vypnutí revizí
define('AUTOSAVE_INTERVAL', 180); // Interval autosave v sekundách
// Paměť a výkon
define('WP_MEMORY_LIMIT', '512M');
define('WP_MAX_MEMORY_LIMIT', '1G');
define('WP_CACHE', true); // Povolení cache
define('WP_SQLITE_OBJECT_CACHE_TIMEOUT', 15000); // Nastavuje timeout pro SQLite objektovou cache v milisekundách (15 sekund)
// FTP přístup
define('FS_METHOD', 'direct'); // Metoda souborového systému
define('FTP_BASE', '/path/to/wordpress');
define('FTP_CONTENT_DIR', '/path/to/wp-content');
define('FTP_PLUGIN_DIR', '/path/to/plugins');
define('FTP_USER', 'username'); // FTP uživatel
define('FTP_PASS', 'password'); // FTP heslo
define('FTP_HOST', 'ftp.example.com'); // FTP host
define('FTP_SSL', false); // FTP SSL
define('FTP_SSH', true); // Aktivace SSH spojení
define('FTP_PRIKEY', '/path/to/private.key'); // SSH privátní klíč
define('FTP_PUBKEY', '/path/to/public.key'); // SSH veřejný klíč
define('FTP_LANG_DIR', '/path/to/langs'); // Vlastní cesta pro jazyky
// Debugging a logování
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
define('SCRIPT_DEBUG', false); // Debug skriptů
define('SAVEQUERIES', false); // Ukládání SQL dotazů
define('WP_DISABLE_FATAL_ERROR_HANDLER', true); // Vypne handler fatálních chyb
define('WP_START_TIMESTAMP', microtime(true)); // Časová značka startu
define('WP_DEBUG_DISPLAY_CALLBACK', null); // Vlastní callback pro zobrazení chyb
// Alternativa debuggingu a logování
define('WP_DEBUG', true); // Zapne režim ladění ve WordPressu
if (WP_DEBUG) {
@error_reporting(E_ALL); // Povolit hlášení všech PHP chyb a varování
@ini_set('log_errors', false); // Zakázat logování chyb do souboru
@ini_set('log_errors_max_len', '0'); // Zakázat omezení délky logovaných chyb
define('WP_DEBUG_LOG', false); // Zakázat ukládání debug logů do wp-content/debug.log
define('WP_DEBUG_DISPLAY', false); // Zakázat zobrazování PHP chyb přímo na stránce
define('CONCATENATE_SCRIPTS', false); // Zakáže spojování JavaScript souborů (užitečné pro debugování)
define('SAVEQUERIES', false); // Zakáže ukládání SQL dotazů do paměti pro ladění výkonu
}
// Bezpečnostní nastavení
define('DISALLOW_FILE_EDIT', true); // Zákaz editace souborů
define('DISALLOW_FILE_MODS', true); // Zákaz modifikace souborů
define('FORCE_SSL_ADMIN', true); // Vynutit SSL pro admin
define('FORCE_SSL_LOGIN', true); // Vynutit SSL pro přihlášení
//Authentication Unique Keys and Salt = SALT KEYS, lze generovát nové na https://api.wordpress.org/secret-key/1.1/salt/
define('AUTH_KEY', 'unikátní fráze');
define('SECURE_AUTH_KEY', 'unikátní fráze');
define('LOGGED_IN_KEY', 'unikátní fráze');
define('NONCE_KEY', 'unikátní fráze');
define('AUTH_SALT', 'unikátní fráze');
define('SECURE_AUTH_SALT', 'unikátní fráze');
define('LOGGED_IN_SALT', 'unikátní fráze');
define('NONCE_SALT', 'unikátní fráze');
// Multisite konstanty
define('WP_ALLOW_MULTISITE', true); // Povolení multisite
define('MULTISITE', true); // Aktivace multisite
define('SUBDOMAIN_INSTALL', true); // Instalace na subdoménách
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
// Aktualizace a údržba
define('WP_AUTO_UPDATE_CORE', false); // Automatické aktualizace jádra
define('AUTOMATIC_UPDATER_DISABLED', true); // Vypnutí automatických aktualizací
define('EMPTY_TRASH_DAYS', 7); // Doba uchování v koši
define('MEDIA_TRASH', true); // Koš pro média
// URL a cesty
define('WP_HOME', 'https://example.com'); // URL webu
define('WP_SITEURL', 'https://example.com'); // URL WordPressu
define('WP_CONTENT_DIR', '/path/to/wp-content'); // Cesta k wp-content
define('WP_CONTENT_URL', 'https://example.com/wp-content'); // URL wp-content
define('UPLOADS', 'uploads'); // Vlastní cesta pro nahrávání
// Optimalizace a výkon
define('CONCATENATE_SCRIPTS', false); // Spojování skriptů
define('COMPRESS_SCRIPTS', false); // Komprese JavaScriptu
define('COMPRESS_CSS', false); // Komprese CSS
define('ENFORCE_GZIP', true); // Vynutí GZIP kompresi
define('DISABLE_WP_CRON', true); // Vypnutí WP cronu
// REDIS - individuální nastavení pro server
define('WP_REDIS_HOST', '10.0.0.1'); // IP adresa nebo hostname Redis serveru
define('WP_REDIS_PASSWORD', 'pHvc42PmFi'); // Heslo pro připojení k Redis (pokud je vyžadováno)
define('WP_REDIS_PORT', 6497); // Port, na kterém Redis běží (výchozí je 6379)
define('WP_CACHE_KEY_SALT', 'mujweb'); // Unikátní klíčový prefix pro cache – umožňuje odlišit cache mezi více WordPress instalacemi na stejném Redis serveru
define('WP_REDIS_TIMEOUT', 1); // DEFAULT Maximální doba (v sekundách) pro připojení k Redis serveru
define('WP_REDIS_READ_TIMEOUT', 1); // DEFAULT Maximální doba (v sekundách) pro čekání na odpověď od Redis serveru
define('WP_REDIS_MAXTTL', 300); // Platnost cache v Redis v sekundách (300s = 5 minut) - (TTL – Time To Live). Pro Woo ideální cca 100 az 150
define('WP_REDIS_DATABASE', 1); // Redis podporuje více databází, zde je nastavena DB s indexem 1 / (číslováno 0–15)
// API a externí služby
define('XMLRPC_REQUEST', false); // Vypne XML-RPC
define('WP_HTTP_BLOCK_EXTERNAL', true); // Blokuje externí HTTP požadavky
define('WP_ACCESSIBLE_HOSTS', 'api.wordpress.org'); // Povolené externí domény
// Cookie nastavení
define('COOKIE_DOMAIN', '.example.com'); // Doména pro cookies
define('COOKIEPATH', '/'); // Cesta pro cookies
define('SITECOOKIEPATH', '/'); // Cesta pro cookies celého webu
define('ADMIN_COOKIE_PATH', '/wp-admin'); // Cesta pro admin cookies
define('TEST_COOKIE', 'test_cookie'); // Název testovacího cookie
// Email nastavení
define('SMTP_HOST', 'smtp.example.com'); // SMTP server
define('SMTP_PORT', 587); // SMTP port
define('SMTP_USER', 'user@example.com'); // SMTP uživatel
define('SMTP_PASS', 'heslo'); // SMTP heslo
define('WPMS_ON', true); // Povolení SMTP
define('WPMS_SMTP_HOST', 'smtp.gmail.com'); // SMTP host
define('WPMS_SSL', 'ssl'); // Typ šifrování
define('WPMS_SMTP_PORT', 465); // SMTP port
// Oprávnění
define('FS_CHMOD_FILE', 0644); // Oprávnění pro soubory
define('FS_CHMOD_DIR', 0755); // Oprávnění pro adresáře
// Další konstanty
define('WPLANG', 'cs_CZ'); // Nastavení jazyka
define('WP_LANG_DIR', '/path/to/languages'); // Vlastní cesta k překladům
define('ALLOW_UNFILTERED_UPLOADS', true); // Povolí nahrávání všech typů souborů
define('IMAGE_EDIT_OVERWRITE', true); // Přepíše původní obrázky při úpravách
define('WP_ALLOW_REPAIR', true); // Povolí opravu databáze
define('DO_NOT_UPGRADE_GLOBAL_TABLES', true);// Zakáže upgrade globálních tabulek
define('WP_IMPORTING', true); // Optimalizace pro import dat
// Omezení počtu pokusů o přihlášení
define('WP_LOGIN_ATTEMPTS', 3); // Maximální počet pokusů o přihlášení
// Vypnutí editace souborů přímo v administraci pro konkrétní typy
define('DISALLOW_FILE_EDIT_PLUGINS', true); // Zákaz editace pluginů
define('DISALLOW_FILE_EDIT_THEMES', true); // Zákaz editace témat
// Optimalizace výkonu
define('WP_CACHE_TIME', 3600); // Doba cachování v sekundách
define('COMPRESS_IMAGES', true); // Automatická komprese nahrávaných obrázků
define('WP_OPTIMIZE_IMAGES', true); // Optimalizace obrázků při nahrávání
// Zabezpečení administrace
define('CUSTOM_ADMIN_URL', 'moje-admin'); // Vlastní URL pro admin
define('ADMIN_IP_WHITELIST', '127.0.0.0'); // IP adresy s povoleným přístupem do adminu
define('WP_ADMIN_DIR', 'panel'); // Přejmenování wp-admin adresáře
// Výkon databáze
define('DB_MAX_CONNECTIONS', 100); // Maximální počet DB připojení
define('DB_CHARSET_COLLATE', 'utf8mb4_czech_ci'); // Specifická znaková sada a porovnávání
define('DB_BACKUP_PATH', '/path/to/backup'); // Cesta pro zálohy databáze
// Rozšířené ladění
define('WP_PROFILE', true); // Profilování výkonu
define('DEBUG_INFORMATION_LEVEL', 3); // Úroveň debugovacích informací (1-3)
define('LOG_DEPRECATED_NOTICES', true); // Logování zastaralých funkcí
// API omezení
define('REST_API_ALLOWED_IPS', '127.0.0.0'); // Povolené IP pro REST API
define('API_REQUEST_LIMIT', 1000); // Limit API požadavků za hodinu
// Správa sessions
define('WP_SESSION_TIMEOUT', 3600); // Timeout pro session (v sekundách)
define('SESSION_COOKIE_SECURE', true); // Secure flag pro session cookie
// Ochrana proti spamu
define('COMMENT_FLOOD_FILTER', true); // Filtr proti spam komentářům
define('COMMENT_MODERATION_KEYS', 'spam,sex,viagra'); // Klíčová slova pro moderaci
// CDN integrace
define('CDN_ENABLED', true); // Povolení CDN
define('CDN_URL', 'https://cdn.example.com'); // URL CDN serveru
define('CDN_INCLUDES', 'js,css,images'); // Typy souborů pro CDN
// Multijazyčnost
define('WP_DEFAULT_LOCALE', 'cs_CZ'); // Výchozí lokalizace
define('TRANSLATION_API_KEY', 'your-key'); // API klíč pro překlady
// Výkon front-endu
define('DEFER_SCRIPTS', true); // Odložené načítání skriptů
define('PRELOAD_RESOURCES', true); // Přednačítání důležitých zdrojů
define('LAZY_LOAD_IMAGES', true); // Lazy loading obrázků
// Monitoring a analýza
define('PERFORMANCE_MONITORING', true); // Sledování výkonu
define('ERROR_REPORTING_EMAIL', 'admin@example.com'); // Email pro chybová hlášení
define('ACTIVITY_LOG_DAYS', 30); // Doba uchování logu aktivit
// Limity a omezení
define('WP_MAX_UPLOAD_SIZE', '64M'); // Maximální velikost nahrávaného souboru
define('PHP_MEMORY_MIN', '64M'); // Minimální paměť pro PHP
define('MAX_EXECUTION_TIME', 300); // Maximální čas vykonávání skriptu
define('CORE_UPGRADE_SKIP_NEW_BUNDLED', true); // Přeskočit instalaci bundled témat/pluginů
// Zabezpečení a přístup
define('CUSTOM_USER_TABLE', 'my_users'); // Vlastní tabulka uživatelů
define('CUSTOM_USER_META_TABLE', 'my_usermeta'); // Vlastní tabulka user meta
define('WP_ADMIN_HTTPS_VERIFICATION', true); // Ověření HTTPS pro admin
define('BLOCK_EXTERNAL_WARNINGS', true); // Blokování externích varování
define('DISABLE_WP_API', true); // Vypnutí WP API
// Cache a optimalizace
define('WP_CACHE_TIMEOUT', 3600); // Timeout pro cache
define('DB_CACHE', true); // Povolení DB cache
define('ENABLE_PAGE_CACHE', true); // Povolení cache stránek
define('CACHE_EXPIRATION_TIME', 86400); // Doba expirace cache
define('MEMCACHED_SERVERS', 'localhost:11211'); // Memcached servery
// Multisite a síťové nastavení
define('UPLOADBLOGSDIR', 'sites'); // Adresář pro multisite uploady
define('BLOG_UPLOAD_SPACE', 100); // Limit uploadu pro blog (MB)
define('UPLOAD_SPACE_CHECK_DISABLED', true); // Vypnutí kontroly místa
define('MS_FILES_REWRITING', true); // Přepisování URL pro multisite
// Vývojářské nástroje
define('WPMU_PLUGIN_DIR', WP_CONTENT_DIR . '/mu-plugins'); // Must-use pluginy
define('WP_LOCAL_DEV', true); // Indikátor lokalního vývoje
define('WP_ENVIRONMENT_TYPE', 'development'); // Typ prostředí
define('WP_DEVELOPMENT_MODE', true); // Vývojářský mód
// Media a upload
define('MEDIA_UPLOAD_PATH', '/custom/path'); // Vlastní cesta pro média
define('IMAGE_MEMORY_LIMIT', '256M'); // Limit paměti pro práci s obrázky
define('IMAGETYPE_ALLOWED', 'jpg,jpeg,png,gif,webp'); // Povolené typy obrázků
define('BACKGROUND_SAVE_IMAGES', true); // Asynchronní ukládání obrázků
// Emaily a notifikace
define('WP_MAIL_INTERVAL', 300); // Interval odesílání emailů
define('EMAIL_DELIVERY_METHOD', 'smtp'); // Metoda doručování emailů
define('NOTIFICATION_RECIPIENTS', 'admin@example.com'); // Příjemci notifikací
define('DISABLE_WP_MAIL', true); // Vypnutí WP mailu
// Rozšířené nastavení databáze
define('DB_PERSISTENT', true); // Persistentní DB připojení
define('DB_SSL', true); // SSL pro DB připojení
define('DB_SSL_KEY', '/path/to/key'); // SSL klíč pro DB
define('DB_SSL_CERT', '/path/to/cert'); // SSL certifikát pro DB
// Vlastní adresáře a cesty
define('WP_PLUGIN_DIR_CUSTOM', '/custom/plugins'); // Vlastní adresář pluginů
define('WP_THEME_DIR_CUSTOM', '/custom/themes'); // Vlastní adresář témat
define('CUSTOM_CONTENT_DIRECTORY', 'assets'); // Vlastní content adresář
// Automatizace a cron
define('WP_CRON_AUTH_KEY', 'unikatni-klic'); // Klíč pro CRON úlohy
define('ALTERNATE_WP_CRON_INTERVAL', 300); // Interval alternativního cronu
define('DISABLE_CRON_TIMEOUT', true); // Vypnutí CRON timeoutu
// Revize a historie
define('WP_REVISIONS_TO_KEEP', 5); // Počet uchovávaných revizí
define('REVISION_HISTORY_DAYS', 30); // Historie revizí ve dnech
define('AUTOSAVE_BACKUP_COUNT', 3); // Počet automatických záloh
// Výkon front-endu
define('DISABLE_EMOJIS', true); // Vypnutí emoji
define('DISABLE_EMBEDS', true); // Vypnutí embeds
define('DISABLE_JQUERY_MIGRATE', true); // Vypnutí jQuery migrate
define('REMOVE_WP_VERSION', true); // Odstranění verze WP z HTML
// Monitoring a logy
define('ERROR_LOG_FILE', '/custom/error.log'); // Vlastní soubor pro chyby
define('ACCESS_LOG_FILE', '/custom/access.log'); // Log přístupů
define('QUERY_LOG_FILE', '/custom/query.log'); // Log SQL dotazů
// Mezipaměť prohlížeče
define('BROWSER_CACHE_TIMEOUT', 604800); // Timeout cache prohlížeče (7 dní)
define('STATIC_CACHE_TIMEOUT', 31536000); // Cache pro statické soubory (1 rok)
define('HTML_CACHE_TIMEOUT', 3600); // Cache pro HTML výstup (1 hodina)
// Rozšířené zabezpečení
define('BLOCK_UNAUTH_REST_API', true); // Blokace neautorizovaných REST API volání
define('SECURE_AUTH_REDIRECT', true); // Přesměrování na HTTPS pro autentizaci
define('LOGIN_LOCKDOWN_ATTEMPTS', 5); // Počet pokusů před uzamčením
define('LOGIN_LOCKDOWN_MINUTES', 30); // Doba uzamčení v minutách
define('PASSWORD_ROTATION_DAYS', 90); // Vynucená změna hesla po X dnech
// Výkonnostní optimalizace
define('DISABLE_POST_AUTOSAVE', true); // Vypnutí automatického ukládání příspěvků
define('DISABLE_TRACKBACKS', true); // Vypnutí trackbacks
define('DISABLE_PINGBACKS', true); // Vypnutí pingbacks
define('LIMIT_POST_REVISIONS_AGE', '30 days'); // Omezení stáří revizí
// Správa médií a souborů
define('MEDIA_TRASH_DAYS', 7); // Dny v koši pro média
define('IMAGE_DEFAULT_QUALITY', 82); // Výchozí kvalita JPEG
define('THUMBNAIL_CROP_ADD_FILTERS', true); // Filtry pro ořez náhledů
define('UPLOADS_USE_YEARMONTH_FOLDERS', false); // Vypnutí složek rok/měsíc
// Rozšířené databázové nastavení
define('DB_CONNECT_TIMEOUT', 30); // Timeout pro připojení k DB
define('DB_RESTORE_TIMEOUT', 600); // Timeout pro obnovu DB
define('DB_BACKUP_COMPRESSION', true); // Komprese DB záloh
define('DB_TABLE_PREFIX_LENGTH', 8); // Délka prefixu tabulek
// Správa sessions a cookies
define('SESSION_TOKEN_SALT', 'unikatni-salt'); // Salt pro session tokeny
define('SESSION_COOKIE_PATH', '/'); // Cesta pro session cookie
define('LOGIN_COOKIE_LIFETIME', 172800); // Životnost přihlašovacího cookie (2 dny)
define('SECURE_LOGGED_IN_COOKIE', true); // Secure flag pro přihlašovací cookie
// Rozšířené multisite
define('SITE_ADMIN_EMAIL', 'admin@domena.cz'); // Email správce multisite
define('SITE_SIGNUP_ENABLED', false); // Povolení registrace nových stránek
define('BLOG_UPLOAD_SPACE_NUMBER', 100); // Prostor pro upload na blog (MB)
define('SITE_DEFAULT_THEME', 'moje-tema'); // Výchozí téma pro nové weby
// API a integrace
define('API_ACCESS_LOG', true); // Logování API přístupů
define('API_RATE_LIMIT_WINDOW', 3600); // Okno pro rate limiting (1 hodina)
define('EXTERNAL_API_TIMEOUT', 30); // Timeout pro externí API volání
define('API_ERROR_REPORTING', true); // Reportování API chyb
// Rozšířené logování
define('LOG_ROTATION_SIZE', '10M'); // Velikost pro rotaci logů
define('LOG_RETENTION_DAYS', 30); // Doba uchování logů
define('DETAILED_ERROR_LOGGING', true); // Detailní logování chyb
define('AUDIT_LOG_ENABLED', true); // Povolení audit logu
// Pokročilé nastavení cache
define('CACHE_EXCLUSION_LIST', 'cart,checkout,my-account'); // Stránky vyloučené z cache
define('CACHE_MOBILE_SEPARATE', true); // Oddělená cache pro mobilní zařízení
define('CACHE_IGNORE_QUERY_STRING', true); // Ignorování query string pro cache
define('CACHE_PRELOAD_ENABLED', true); // Povolení přednačítání cache
// Optimalizace obrázků
define('IMAGE_OPTIMIZATION_QUALITY', 85); // Kvalita optimalizace
define('IMAGE_MAX_DIMENSION', 2560); // Maximální rozměr obrázku
define('AUTO_IMAGE_RESIZE', true); // Automatická změna velikosti
define('WEBP_CONVERSION_ENABLED', true); // Konverze do WebP
// Vlastní konstanty pro vývojáře
define('DEV_MODE_ACCESS_IPS', '123.456.789.0,987.654.321.0'); // IP pro vývojářský mód
define('STAGING_SITE_URL', 'https://staging.domena.cz'); // URL stagingového webu
define('DEV_EMAIL_REDIRECT', 'dev@domena.cz'); // Přesměrování emailů
define('CODE_EDITOR_THEME', 'monokai'); // Téma editoru kódu
// Výkonnostní metriky
define('PERFORMANCE_TRACKING', true); // Sledování výkonu
define('SLOW_QUERY_THRESHOLD', 1.5); // Práh pro pomalé dotazy (sekundy)
define('RESOURCE_MONITOR_ENABLED', true); // Monitoring systémových zdrojů
define('PAGE_LOAD_THRESHOLD', 2.0); // Práh načítání stránky (sekundy)
// Rozšířené zabezpečení přihlášení
define('2FA_ENFORCEMENT', true); // Vynucení dvoufaktorového ověření
define('FAILED_LOGIN_NOTIFY', true); // Notifikace neúspěšných přihlášení
define('PASSWORD_COMPLEXITY_LEVEL', 'high'); // Úroveň složitosti hesel
define('AUTH_EXPIRATION', 86400); // Vypršení autentizace (24 hodin)
// Správa headless WordPressu
define('HEADLESS_MODE', true); // Aktivace headless módu
define('HEADLESS_FRONT_URL', 'https://front.example.com'); // URL frontendu
define('API_CORS_ORIGINS', '*'); // Povolené CORS origins
define('REST_RATE_LIMITS', true); // Omezení počtu REST API požadavků
// Pokročilá optimalizace médií
define('RESPONSIVE_IMAGES_BREAKPOINTS', '320,768,1024,1440'); // Breakpointy pro responsivní obrázky
define('IMAGE_PROCESSING_QUEUE', true); // Fronta pro zpracování obrázků
define('SVG_UPLOAD_ENABLED', true); // Povolení SVG uploadů
define('MEDIA_DUPLICATE_CHECK', true); // Kontrola duplicitních médií
// Rozšířená správa cache
define('CACHE_DEVICE_SPECIFIC', true); // Cache specifická pro zařízení
define('CACHE_GEOLOCATION', true); // Cache dle geografické lokace
define('CACHE_USER_SPECIFIC', true); // Cache specifická pro uživatele
define('CACHE_WARMUP_ENABLED', true); // Automatické zahřívání cache
// Pokročilé databázové operace
define('DB_MAINTENANCE_MODE', false); // Režim údržby databáze
define('DB_OPTIMIZATION_SCHEDULE', 'weekly'); // Plán optimalizace DB
define('DB_TABLE_REPAIR_ENABLED', true); // Povolení opravy tabulek
define('DB_BACKUP_ENCRYPTION', true); // Šifrování DB záloh
// Integrace s CDN a edge sítěmi
define('CDN_PULL_ZONE', 'https://cdn.example.com'); // Pull zóna CDN
define('EDGE_CACHE_TTL', 86400); // TTL pro edge cache
define('CDN_BYPASS_RULES', '*.php,/wp-admin/*'); // Pravidla pro bypass CDN
define('CDN_ASSET_VERSION', '1.0.0'); // Verze assets pro CDN
// Pokročilé logování a monitoring
define('LOG_API_CALLS', true); // Logování API volání
define('LOG_CRON_JOBS', true); // Logování CRON úloh
define('LOG_USER_ACTIONS', true); // Logování akcí uživatelů
define('MONITORING_WEBHOOK_URL', 'https://monitor.example.com/webhook'); // Webhook pro monitoring
// Mikroservisy a integrace
define('MICROSERVICES_ENABLED', true); // Povolení mikroservisů
define('SERVICE_DISCOVERY_URL', 'http://service-registry:8500'); // Service discovery
define('EVENT_BUS_ENABLED', true); // Systém událostí
define('MESSAGE_QUEUE_DSN', 'amqp://localhost'); // Připojení k message queue
// GraphQL specifické
define('GRAPHQL_ENABLED', true); // Povolení GraphQL
define('GRAPHQL_MAX_QUERY_DEPTH', 10); // Maximální hloubka dotazu
define('GRAPHQL_MAX_COMPLEXITY', 1000); // Maximální komplexita
define('GRAPHQL_DEBUG', false); // Debug mód pro GraphQL
// Experimentální funkce
define('EXPERIMENTAL_FEATURES', true); // Povolení experimentálních funkcí
define('BETA_TESTING_GROUP', 'alpha'); // Skupina pro beta testování
define('FEATURE_FLAGS', 'new-editor,dark-mode'); // Feature flags
define('PREVIEW_ENVIRONMENT', false); // Prostředí pro náhledy
// Vlastní adresářová struktura
define('CUSTOM_INCLUDES_PATH', '/includes'); // Cesta k vlastním includes
define('CUSTOM_MODULES_PATH', '/modules'); // Cesta k modulům
define('CUSTOM_VENDOR_PATH', '/vendor'); // Cesta k vendor knihovnám
define('CUSTOM_ASSETS_PATH', '/assets'); // Cesta k assets
// Rozšířené hooks a filtry
define('DISABLE_SPECIFIC_HOOKS', 'hook1,hook2'); // Zakázání specifických hooks
define('CUSTOM_HOOK_PRIORITY', 100); // Priorita vlastních hooks
define('FILTER_EXECUTION_LOG', true); // Logování vykonávání filtrů
// REST API rozšíření
define('REST_API_VERSION_CONTROL', true); // Povolí verzování REST API
define('REST_REQUEST_TIMEOUT', 30); // Timeout pro REST požadavky v sekundách
define('REST_API_AUTH_COOKIE_NAME', 'wp_rest_auth'); // Název cookie pro REST API autentizaci
define('REST_API_NAMESPACE', 'my-api/v1'); // Vlastní namespace pro REST API
// Vyhledávání
define('SEARCH_INDEXING_ENABLED', true); // Povolení indexace pro vyhledávání
define('SEARCH_EXCLUDE_POST_TYPES', 'attachment,revision'); // Vyloučené post typy
define('ELASTICSEARCH_HOST', 'localhost:9200'); // Elasticsearch host pro pokročilé vyhledávání
define('SEARCH_RESULT_LIMIT', 100); // Limit výsledků vyhledávání
// Front-end optimalizace
define('CRITICAL_CSS_ENABLED', true); // Povolení Critical CSS
define('RESOURCE_HINTS_ENABLED', true); // Povolení Resource Hints (preload, prefetch)
define('CSS_DELIVERY_METHOD', 'async'); // Metoda načítání CSS (async/defer)
define('ABOVE_THE_FOLD_OPTIMIZATION', true); // Optimalizace obsahu nad ohybem
// Pokročilá média
define('MEDIA_LIBRARY_FOLDERS', true); // Povolení složek v knihovně médií
define('VIDEO_TRANSCODING_ENABLED', true); // Automatické překódování videí
define('MEDIA_CDN_FALLBACK', 'local'); // Fallback při nedostupnosti CDN
define('RESPONSIVE_IMAGE_SIZES', '320,480,768,1024,1440,1920'); // Velikosti responsivních obrázků
// SEO optimalizace
define('SEO_SITEMAP_ENABLED', true); // Automatická generace sitemap
define('ROBOTS_TXT_RULES', 'custom'); // Vlastní pravidla pro robots.txt
define('SCHEMA_MARKUP_ENABLED', true); // Povolení Schema.org značek
define('CANONICAL_FORCE_HTTPS', true); // Vynutí HTTPS v kanonických URL
// GDPR a compliance
define('GDPR_COMPLIANCE_MODE', true); // Režim GDPR compliance
define('COOKIE_CONSENT_TYPE', 'opt-in'); // Typ souhlasu s cookies
define('DATA_RETENTION_DAYS', 365); // Doba uchování osobních údajů
define('PRIVACY_POLICY_PAGE_ID', 100); // ID stránky s ochranou osobních údajů
// E-commerce nastavení
define('STOCK_MANAGEMENT_METHOD', 'realtime'); // Metoda správy skladu
define('ORDER_NUMBER_PREFIX', 'WP-'); // Prefix pro čísla objednávek
define('CHECKOUT_PROCESS_TIMEOUT', 1800); // Timeout pro dokončení objednávky
define('CART_ABANDONMENT_TIMEOUT', 3600); // Timeout pro opuštěný košík
// Verzování a deployment
define('ASSETS_VERSION', '1.0.0'); // Verze statických souborů
define('DEPLOYMENT_ENVIRONMENT', 'staging'); // Typ prostředí pro deployment
define('BUILD_TIMESTAMP', time()); // Časová značka buildu
define('FEATURE_TOGGLE_CONFIG', '/config/features.json'); // Konfigurace feature flags
// Aplikační výkon
define('APP_STARTUP_MODULES', 'core,auth,api'); // Moduly načítané při startu
define('LAZY_LOAD_THRESHOLD', 3); // Počet položek před lazy loadingem
define('VIEW_CACHE_STRATEGY', 'aggressive'); // Strategie cachování pohledů
define('RESOURCE_THROTTLING_ENABLED', true); // Omezení využití zdrojů
// Uživatelské nastavení
define('USER_ROLES_CUSTOM_PATH', '/roles/'); // Cesta k vlastním uživatelským rolím
define('SESSION_DEVICE_LIMIT', 3); // Limit současně přihlášených zařízení
define('USER_ACTIVITY_LOG_RETENTION', 90); // Doba uchování logu aktivit
define('SOCIAL_LOGIN_PROVIDERS', 'google,facebook,apple'); // Povolení poskytovatelé
// AB testování
define('AB_TESTING_ENABLED', true); // Povolení AB testování
define('TEST_TRAFFIC_PERCENTAGE', 50); // Procento provozu pro testování
define('TEST_COOKIE_LIFETIME', 30); // Životnost cookie pro AB test
define('TEST_VARIANTS_CONFIG', '/tests/variants.json'); // Konfigurace variant
// Mikroservisy a škálování
define('SERVICE_MESH_ENABLED', true); // Povolení service mesh
define('LOAD_BALANCER_STRATEGY', 'round-robin'); // Strategie load balancingu
define('CIRCUIT_BREAKER_THRESHOLD', 5); // Práh pro circuit breaker
define('SERVICE_HEALTH_CHECK_INTERVAL', 60); // Interval kontroly zdraví služeb
// Analytika a tracking
define('ANALYTICS_SAMPLING_RATE', 100); // Vzorkovací frekvence pro analytiku
define('EVENT_TRACKING_BUFFER_SIZE', 1000); // Velikost bufferu pro události
define('CUSTOM_DIMENSIONS_CONFIG', '/analytics/dimensions.json'); // Konfigurace dimenzí
define('CONVERSION_TRACKING_POINTS', 'register,purchase,download'); // Body konverze
// Správa procesů
define('BACKGROUND_PROCESS_TIMEOUT', 300); // Timeout pro background procesy
define('QUEUE_RETRY_ATTEMPTS', 3); // Počet pokusů pro frontu
define('PROCESS_PRIORITY_LEVELS', 'high,medium,low'); // Úrovně priority procesů
define('JOB_SCHEDULER_TIMEZONE', 'Europe/Prague'); // Časová zóna pro plánovač
// Webhooky
define('WEBHOOK_SECRET_KEY', 'tajny-klic'); // Tajný klíč pro webhooky
define('WEBHOOK_TIMEOUT', 30); // Timeout pro webhook volání
define('WEBHOOK_RETRY_STRATEGY', 'exponential'); // Strategie opakování webhooků
define('WEBHOOK_MAX_PAYLOAD_SIZE', '10M'); // Maximální velikost payloadu
// PWA nastavení
define('PWA_ENABLED', true); // Povolení PWA
define('OFFLINE_CACHE_STRATEGY', 'stale-while-revalidate'); // Strategie offline cache
define('APP_SHELL_CACHE_TTL', 86400); // TTL pro app shell
define('PUSH_NOTIFICATION_KEY', 'vapid-key'); // Klíč pro push notifikace
// Internacionalizace
define('I18N_FALLBACK_LOCALE', 'en'); // Fallback jazyk
define('TRANSLATION_CACHE_TTL', 3600); // TTL pro překlady
define('LOCALE_NEGOTIATION_METHOD', 'accept-language'); // Metoda výběru jazyka
define('CURRENCY_FORMAT_OVERRIDE', true); // Přepsání formátu měn
PHPZávěr
Konstanty jsou mocným nástrojem v rukou WordPress vývojáře. Jejich úspěšné využití je umírněnost a pragmatický přístup. Není třeba implementovat všechny dostupné konstanty – zaměřte se na ty, které přinesou reálnou hodnotu vašemu projektu.
Pamatujte: „Dobrá konfigurace je ta, která slouží projektu, ne ta, která obsahuje všechny možné volby.“
Poznámka pro vývojáře: Před implementací jakýchkoliv konstant důkladně zvažte jejich potřebu a dopad na váš projekt. V případě pochybností začněte s minimální konfigurací a rozšiřujte ji podle skutečných potřeb.
Tento článek vychází z reálných zkušeností s vývojem WordPress projektů různých velikostí a složitostí. Věřím, že vám pomůže při rozhodování o konfiguraci vašich vlastních projektů.