PHPackages                             ianchanning/wp-insella - 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. ianchanning/wp-insella

ActiveLibrary[Framework](/categories/framework)

ianchanning/wp-insella
======================

Composer version of WordPress-Skeleton

0.1.29(7y ago)14GPL-3.0+PHPPHP &gt;=5.3.0

Since Apr 7Pushed 7y ago1 watchersCompare

[ Source](https://github.com/ianchanning/wp-insella)[ Packagist](https://packagist.org/packages/ianchanning/wp-insella)[ Docs](https://github.com/ianchanning/wp-insella)[ RSS](/packages/ianchanning-wp-insella/feed)WikiDiscussions master Synced 1mo ago

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

WP in-sella
===========

[](#wp-in-sella)

Based on [WordPress Skeleton](https://github.com/markjaquith/WordPress-Skeleton) but replacing Git Submodules with [Composer](https://getcomposer.org/).

In sella is Italian for 'in the saddle' and was initially used for .

This tries to make the benefits of WordPress Skeleton available for a wider audience:

1. This readme should get you fully started with WordPress installed and uploads working
2. Composer in my view is easier to understand than learning about Git Submodules
3. Composer should be able to install on hosts that don't have Git
4. I agree with the idea that [Composer is a more appropriate tool to use than Git Submodules](https://roots.io/using-composer-with-wordpress/)
5. The directory structure remains compatible with WordPress Skeleton, so you should be able to mix in the extra WordPress Skeleton goodies when you get to them
6. There's a separate `wp-config-skeleton.php` file so that you don't have to fork this repo which makes it easier to get WordPress updates
7. This is a [Composer Package](https://packagist.org/packages/ianchanning/wp-insella) so instead of cloning you can call `composer create-project ianchanning/wp-insella .` in your httpdocs directory
8. It still encourages local development with the `local-config.php` file and allows all the other great stuff you can do with WordPress-Skeleton

**This setup relies on having SSH access and running the PHP commands to [install composer](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx) on your webserver.**

If you don't have Git on your webserver, follow the [No git and no composer setup](#no-git-and-no-composer-setup) section below. There's a [Media Temple installation guide](#media-temple-grid-service-installation) at the bottom as that happens to be what I'm using.

Quick start
-----------

[](#quick-start)

[Skip](#no-git-and-no-composer-setup) this section if you don't have git or composer installed.

```
cd your/httpdocs/dir
git clone https://github.com/ianchanning/wp-insella .
composer install
cp wp-config-skeleton.php wp-config.php
```

Create your database and edit `wp-config.php` with your database config and salts.

### Configuration

[](#configuration)

Then go to  - beware of going directly to [www.example.com](http://www.example.com) as it will try going to  which misses out the `wp` directory and ends up in an infinite redirect.

Once WordPress is installed, go to *Settings | General* and change the **Site Address (URL)** to

[![Site Address (URL) example](https://camo.githubusercontent.com/b5b185dc536e8e5c3eebc85a9f3fcb72fcffb947c7dc989e5bd64b28691c818c/68747470733a2f2f646c2e64726f70626f7875736572636f6e74656e742e636f6d2f752f373736353537312f6769746875622f77702d696e73656c6c612f736974655f616464726573732e706e67)](https://camo.githubusercontent.com/b5b185dc536e8e5c3eebc85a9f3fcb72fcffb947c7dc989e5bd64b28691c818c/68747470733a2f2f646c2e64726f70626f7875736572636f6e74656e742e636f6d2f752f373736353537312f6769746875622f77702d696e73656c6c612f736974655f616464726573732e706e67)

### Uploads

[](#uploads)

WordPress Skeleton suggests that you should only use the 'shared' directory for uploads locally. Given that we're not using capistrano we'll keep the directory structure the same but just use the shared directory in production.

```
cd your/httpdocs/dir
mkdir -p shared/content/uploads
```

Make sure uploads directory is writable by your webserver.

### Future updates

[](#future-updates)

1. I'll update, commit and push the `composer.json` file to
2. On your site:

```
cd your/httpdocs/dir
git pull
composer update
```

No git and no composer setup
----------------------------

[](#no-git-and-no-composer-setup)

This is assuming that you have the most basic web host that doesn't allow anything except SSH / PHP / MySQL.

### Database

[](#database)

Using your hosting admin:

1. Create the MySQL database
2. Create a database user
3. Give the database read and write access on the database
4. Have the details handy

### Composer

[](#composer)

From the main [composer installation guide](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx), I'm going to assume that you probably don't have the rights to install it globally so we'll install it locally. N.B. the `-d allow_url_fopen=On` which is to modify one of the php.ini settings which may be turned off by your host (e.g. Media Temple)

Log in via SSH. Install composer in the `httpdocs` **parent** directory and `httpdocs` must be empty.

```
cd your/httpdocs/dir
cd ..
php -r "readfile('https://getcomposer.org/installer');" | php -d allow_url_fopen=On
```

### WordPress

[](#wordpress)

```
php -d allow_url_fopen=On composer.phar create-project ianchanning/wp-insella [httpdocs]
cp wp-config-skeleton.php wp-config.php
```

This should set up the entire WordPress Skeleton installation and the `wp` directory with all the WordPress files.

Edit `wp-config.php` with your database config and [salts](https://api.wordpress.org/secret-key/1.1/salt/).

Follow the above [WordPress database installation / configuration](#wordpress-database-installation--configuration) and [Create the shared uploads directory](#create-the-shared-uploads-directory) sections above.

### Future updates

[](#future-updates-1)

1. I'll update, commit and push the `composer.json` file to
2. Download
3. FTP it to your httpdocs directory and overwrite the `composer.json`
4. Run `php -d allow_url_fopen=On ../composer.phar update`

Media Temple (Grid Service) installation
----------------------------------------

[](#media-temple-grid-service-installation)

### Database

[](#database-1)

In [media temple admin](https://ac.mediatemple.net/home.mt) go to:

1. Create a database
2. Create a database user
3. Give the user permission on the database

### Composer

[](#composer-1)

Composer can't be installed globally so it has to be installed locally. Based off [this guide](http://www.neontsunami.com/posts/installing-composer-and-laravel-4-on-media-temple-%28gs%29):

Login via SSH, this assumes that your `html` directory is empty. You will get warnings when you install comopser, but it should still install correctly.

```
cd domains/example.com
curl -sS https://getcomposer.org/installer | php -d allow_url_fopen=On
```

### WordPress

[](#wordpress-1)

```
cd html
git clone https://github.com/ianchanning/wp-insella .
php -d allow_url_fopen=On ../composer.phar install
cp wp-config-skeleton.php wp-config.php
```

This should set up the entire WordPress Skeleton installation and the `wp` directory with all the WordPress files.

Edit `wp-config.php` and change the database settings to (**N.B. the `DB_HOST` isn't localhost**):

```
define( 'DB_NAME', 'dbXXXXXX_[your domain]' );
define( 'DB_USER', 'dbXXXXXX_[your domain]' );
define( 'DB_PASSWORD', 'xkcd.com/936' );
define( 'DB_HOST', $_ENV['DATABASE_SERVER'] );
```

Update the [salts](https://api.wordpress.org/secret-key/1.1/salt/).

Follow the above [WordPress database installation / configuration](#wordpress-database-installation--configuration) and [Create the shared uploads directory](#create-the-shared-uploads-directory) sections above.

### Future updates

[](#future-updates-2)

1. I'll update, commit and push the `composer.json` file to
2. On your site:

```
cd domains/example.com/html
git pull
php -d allow_url_fopen=On ../composer.phar update
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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

Every ~40 days

Recently: every ~104 days

Total

30

Last Release

2897d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3d6e981970f50929088c756e312f1c87642e97c6b7cf87d35fb2be10d88f1960?d=identicon)[ianchanning](/maintainers/ianchanning)

---

Top Contributors

[![ianchanning](https://avatars.githubusercontent.com/u/233318?v=4)](https://github.com/ianchanning "ianchanning (27 commits)")

### Embed Badge

![Health badge](/badges/ianchanning-wp-insella/health.svg)

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

###  Alternatives

[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

712181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)[laravel/pail

Easily delve into your Laravel application's log files directly from the command line.

91545.3M590](/packages/laravel-pail)[nette/bootstrap

🅱 Nette Bootstrap: the simple way to configure and bootstrap your Nette application.

68535.8M592](/packages/nette-bootstrap)

PHPackages © 2026

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