3.5 KiB
3.5 KiB
Concerns & Technical Debt
Generated by /paul:map-codebase — 2026-04-26
CRITICAL
1. Credentials committed to git
- wp-config.php: DB password in version history
- .vscode/ftp-kr.json: FTP credentials in version history (host, user, password, path)
- Action: Rotate both passwords. Add
wp-config.phpand.vscode/ftp-kr.jsonto.gitignore.
2. FTP auto-upload to production with no staging
autoUpload: truein.vscode/ftp-kr.json— every file save goes live immediately- No review step, no staging environment
- Action: Disable autoUpload for risky changes; test locally first.
3. bbPress — 100+ core plugin files modified
- Git shows every file in
wp-content/plugins/bbpress/as modified - Next bbPress update will silently overwrite all customizations
- Action: Document what was changed and why. Move custom logic to a custom plugin or mu-plugin using bbPress hooks/filters.
HIGH
4. No .gitignore
- Sensitive files (wp-config.php, ftp-kr.json) are tracked
- Uploads, cache, and build artifacts can be accidentally committed
- Files to add to .gitignore:
wp-config.php,.vscode/ftp-kr.json,.vscode/sftp.json,wp-content/uploads/,wp-content/cache/,*.log
5. Deprecated PHP in divi-children-engine
extract(shortcode_atts(...))indivi-mods/divi_mod_functions.php:28— deprecated PHP 8.0+, security riskquery_posts()in same file — deprecated, should useWP_Query- Action: Replace
extract()with explicit variable assignments when touching this file.
6. AJAX handler without nonce verification
custom_selectors_action_callback()incustom_codes.phpprocesses$_POST['selector']without sanitization or nonce check- Action: Add
check_ajax_referer()andsanitize_text_field()before theset_theme_mod()call.
7. No error logging
WP_DEBUG = falsewith noWP_DEBUG_LOG— silent failures in production- Action: Enable
WP_DEBUG_LOG = true,WP_DEBUG_DISPLAY = falseto log errors server-side without exposing them.
MEDIUM
8. Inline JavaScript using deprecated jQuery methods
custom_codes.phpuses.toggle()(removed in jQuery 3.9+) via inline PHP-embedded JS- Action: Replace with
.slideToggle()or vanilla JS when modifying this area.
9. Hardcoded Polish strings without i18n
functions.php: stock text, email address hardcoded as string literalscron-products.php: hardcoded Polish date strings- No
.pot/.po/.mofiles; useswoocommercetext domain instead ofbody-relax - Action: Wrap new strings in
__('...', 'body-relax'), create proper text domain.
10. Child theme author URL uses HTTP
style.cssAuthor URI:http://www.body-relax.baumer.vot.pl(HTTP, not HTTPS)- Minor, but update to HTTPS when touching the file.
11. FTP over plain FTP (not SFTP)
.vscode/ftp-kr.jsonuses unencrypted FTP protocol- Credentials and file contents transmitted in plaintext
- Action: Switch to SFTP (port 22) if host supports it.
LOW
12. Poor git commit history
- All recent commits are "Save" — no meaningful history for auditing or rollback
- Action: Use conventional commit messages going forward.
13. Divi Children Engine version 1.0.4
- Relatively old; last update date unclear
- Non-standard approach that may conflict with Divi updates
- Low urgency, but track for compatibility issues when Divi updates.
14. AUTOMATIC_UPDATER_DISABLED = true
- All updates are manual; security patches may be missed
- Acceptable if monitored; ensure a process exists to apply patches.