PHPackages                             i30/wp-scratch - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. i30/wp-scratch

ActiveLibrary[Framework](/categories/framework)

i30/wp-scratch
==============

A scalable WordPress project from scratch. Easy to deploy!

1.0.0(9y ago)8161GPL-3.0ShellPHP &gt;=5.5

Since Oct 20Pushed 5y ago4 watchersCompare

[ Source](https://github.com/i30/wp-scratch)[ Packagist](https://packagist.org/packages/i30/wp-scratch)[ RSS](/packages/i30-wp-scratch/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

WordPress Scratch
=================

[](#wordpress-scratch)

[![Build Status](https://camo.githubusercontent.com/c4c83f5b57adb4c1484fb2a9bdede72a6a58f3d3e40e3f17f7f47245224a1259/68747470733a2f2f7472617669732d63692e6f72672f6933302f77702d736372617463682e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/i30/wp-scratch)[![Latest Stable Version](https://camo.githubusercontent.com/73a430dade1d8f32b43962cf2ccc4490c092f6df2689de26845c8f0f7fb5a744/68747470733a2f2f706f7365722e707567782e6f72672f6933302f77702d736372617463682f762f737461626c65)](https://packagist.org/packages/i30/wp-scratch)[![Latest Unstable Version](https://camo.githubusercontent.com/a482a96f88cb137b67f13052223cd3b16b09eae2571a8150869600bf37ed5f33/68747470733a2f2f706f7365722e707567782e6f72672f6933302f77702d736372617463682f762f756e737461626c65)](https://packagist.org/packages/i30/wp-scratch)[![License](https://camo.githubusercontent.com/71e965c60f87fee1bccedb42929f085d80adb927b6ae97ce13e5ad0b9a84ec7c/68747470733a2f2f706f7365722e707567782e6f72672f6933302f77702d736372617463682f6c6963656e7365)](https://packagist.org/packages/i30/wp-scratch)

A scalable WordPress project from scratch. Easy to deploy!

While working with WordPress, i feel unease to config virtual hosts, set up brand new WordPress installations, copy essential plugins... for each new project again and again.

With this, you can proxy static contents, databases, back-end and front-end into smaller servers. All of them use a same WordPress installation, it's really helpful in term of performance and maintainability. Moving your servers around or setting up load balancing becomes easier.

Requirements
------------

[](#requirements)

- [PHP](http://php.net) &gt;= 5.6
- [MySQL](http://dev.mysql.com/downloads/mysql/) &gt;= 5.6
- [WP-CLI](http://wp-cli.org) &gt;= 0.24
- [Composer](https://getcomposer.org) &gt;= 1.0

Installation
------------

[](#installation)

1. Prepare your server block for [Nginx](https://www.nginx.com) or virtual host for [Apache](https://www.apache.org). You do not need to create MySQL database, it will be created while installing WordPress.
2. Run these two commands on your command line respectively:

```
$ composer create-project i30/wp-scratch /path/to/project/directory
$ cd /path/to/project/directory && ./install
```

3. Follow instructions to finish the installation. It's easy!

From now on, to add a new WordPress site, you just need to fire the `install` script again.

Important Notes
---------------

[](#important-notes)

- Since `$_SERVER['SERVER_NAME']` is used to determine which site will respond to requests, please make sure `SERVER_NAME` is configured properly. For Apache 2, remember to add `UseCanonicalName = On` in every virtual host.
- While working with multiple sites (not WordPress multisite), you might need to separate `UPLOADS` directory. Use this script as a must-use plugin:

    ```
    /**
     * Plugin Name: Dynamic Uploads Directory
     * Version:     1.0.0
     * Description: Create custom uploads directory base on the DB_NAME constant.
     * Author:      sarahcoding
     * Author URI:  https://sarahcoding.com
     * License:     GPL v3+
     */
    add_filter('upload_dir', function($args)
    {
      $base_url = WP_HOME . '/uploads';
      $base_dir = APP_ROOT . 'app/uploads';
      $custom_url = WP_HOME . '/' . DB_NAME . '-uploads';
      $custom_dir = APP_ROOT . 'app/' . DB_NAME . '-uploads';

      $args['url'] = str_replace($base_url, $custom_url, $args['url']);
      $args['path'] = str_replace($base_dir, $custom_dir, $args['path']);
      $args['baseurl'] = str_replace($base_url, $custom_url, $args['baseurl']);
      $args['basedir'] = str_replace($base_dir, $custom_dir, $args['basedir']);

      return $args;
    }, PHP_INT_MAX);
    ```

Contributing
------------

[](#contributing)

Contribution is always welcome!

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3493d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e5e2d5b9f48011cfa2acc6d166bafb278d5c2fc6a18f792ced52096fa52933b5?d=identicon)[i30](/maintainers/i30)

---

Tags

wordpress-deploymentwordpress-installation

### Embed Badge

![Health badge](/badges/i30-wp-scratch/health.svg)

```
[![Health](https://phpackages.com/badges/i30-wp-scratch/health.svg)](https://phpackages.com/packages/i30-wp-scratch)
```

###  Alternatives

[silverstripe/framework

The SilverStripe framework

7213.5M2.5k](/packages/silverstripe-framework)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[drupal/recommended-project

Project template for Drupal projects with a relocated document root

1502.6M1](/packages/drupal-recommended-project)[elgg/elgg

Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications.

1.7k15.7k5](/packages/elgg-elgg)[juzaweb/cms

Juzaweb CMS is a Content Management System (CMS) developed based on Laravel Framework and web platform whose sole purpose is to make your development workflow simple again. Project develop by Juzaweb

187571.2k](/packages/juzaweb-cms)[pods-framework/pods

Pods is a development framework for creating, extending, managing, and deploying customized content types in WordPress.

1.1k1.7k](/packages/pods-framework-pods)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
