# marketing-website > This file provides context for AI coding assistants working with this repository. ## Repository Overview Forter Marketing Website **Tech Stack**: PHP, HTML, JavaScript, CSS This repository contains the WordPress-based marketing website for Forter. It includes custom themes, language files, and deployment scripts. ## Build System The project uses a simple build system based on shell scripts: - `npm run publish-cd`: Executes the `./scripts/publish-cd.sh` script for continuous deployment ## Essential Workflows ### Initial Setup 1. Clone the repository: ``` git clone https://github.com/forter/marketing-website.git ``` 2. Download the latest backup from WPEngine (do not overwrite existing repository files) 3. Set up a local WordPress development environment (e.g., using MAMP) 4. Configure your local environment to use the downloaded WPEngine backup ### Making Code Changes 1. Ensure you're on the latest version of the `master` branch 2. Create a new branch for your feature 3. Make your changes 4. Push your branch and open a pull request for review ### Running Tests Currently, there are no automated tests specified for this project. The `package.json` includes a placeholder test script: ``` npm test ``` This will output an error message as no tests are implemented yet. ## Project Structure ``` 📁 .github/ 📁 workflows/ 📄 cd-git-repo.yml 📄 cleanup.yaml 📁 .well-known/ 📄 jwks.json 📄 ucp 📁 scripts/ 📄 publish-cd.sh 📁 wp-content/ 📁 languages/ 📄 admin-network-zh_CN.mo 📄 admin-network-zh_CN.po 📄 admin-zh_CN.mo 📄 admin-zh_CN.po 📄 continents-cities-zh_CN.mo 📄 continents-cities-zh_CN.po 📄 zh_CN-*.json 📁 polylang/ 📄 cn.svg 📄 de.svg 📄 jp.svg 📄 us.svg 📁 themes/ 📁 blank/ 📁 twentytwentytwo/ 📄 .gitignore 📄 .htaccess 📄 README.md 📄 baidu_verify_codeva-AMr4HhI50b.html 📄 package-lock.json 📄 package.json 📄 website-structure.html ``` Key components: - `.github/workflows/`: Contains GitHub Actions for CI/CD - `wp-content/`: WordPress content directory - `languages/`: Translations and language files (primarily Chinese) - `polylang/`: Language-related SVG files - `themes/`: WordPress themes - `scripts/`: Contains deployment scripts - `.well-known/`: Contains security-related files ## Critical Patterns 1. WordPress Theme Development: Custom themes are located in `wp-content/themes/` 2. Internationalization: Extensive use of language files in `wp-content/languages/` 3. Continuous Deployment: Utilizes GitHub Actions (`.github/workflows/`) and custom scripts (`scripts/publish-cd.sh`) ## Common Pitfalls to Avoid 1. Modifying core WordPress files outside of `wp-content/` 2. Overwriting repository files when updating from WPEngine backups 3. Pushing sensitive information or large media files to the repository ## Security Guidelines (CRITICAL - Forter Standards) **Must Follow**: - ❌ NEVER hardcode secrets, API keys, or credentials - ❌ NEVER log sensitive data (PII, tokens, passwords) - ❌ NEVER commit .env files or secrets - ✅ Use environment variables for all secrets - ✅ Validate and sanitize all user inputs - ✅ Follow the principle of least privilege Additional WordPress-specific guidelines: - Keep WordPress core, themes, and plugins updated - Use strong passwords and two-factor authentication for admin accounts - Implement proper user roles and permissions - Use security plugins to enhance WordPress security ## Before Committing 1. Ensure all changes are within the `wp-content/` directory or approved areas 2. Check that no sensitive information is being committed 3. Verify that language files are up-to-date if content changes were made 4. Run `npm run publish-cd` locally to test the deployment script (if applicable) ## Debugging Tips 1. Enable WordPress debug mode by setting `WP_DEBUG` to `true` in `wp-config.php` 2. Check PHP error logs in your local development environment 3. Use browser developer tools to debug JavaScript and CSS issues 4. For deployment issues, check the GitHub Actions logs in the `.github/workflows/` directory ## Dependency Management - PHP dependencies are managed through WordPress plugins (not visible in this repository structure) - Front-end dependencies, if any, should be managed using npm (see `package.json`) ## Monitoring and Alerting - Error Logs: Monitor exceptions and latencies via [WPEngine Error Logs](https://my.wpengine.com/installs/forterpro/error_logs#production) - Access Logs: Track request latencies via [WPEngine Access Logs](https://my.wpengine.com/installs/forterpro/access_logs#apache) - Alerting: Use [Pagerduty](https://forter.pagerduty.com) for alert management - Low priority: Resolve during the day - High priority: Urgent, solve ASAP - Examples: Low disk space, high CPU usage, unhandled exceptions --- *Generated by Forter AI Platform*