PHPackages                             phrozenbyte/pico-file-prefixes - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. phrozenbyte/pico-file-prefixes

ActivePico-plugin[Utility &amp; Helpers](/categories/utility)

phrozenbyte/pico-file-prefixes
==============================

This is Pico's official file prefixes plugin, to drop file prefixes from page URLs. Pico is a stupidly simple, blazing fast, flat file CMS.

v2.0.0(7y ago)9295MITPHPPHP &gt;=5.3.0

Since Jul 8Pushed 7y ago3 watchersCompare

[ Source](https://github.com/PhrozenByte/pico-file-prefixes)[ Packagist](https://packagist.org/packages/phrozenbyte/pico-file-prefixes)[ Docs](http://picocms.org/)[ RSS](/packages/phrozenbyte-pico-file-prefixes/feed)WikiDiscussions master Synced yesterday

READMEChangelog (5)DependenciesVersions (6)Used By (0)

Pico File Prefixes
==================

[](#pico-file-prefixes)

This is the repository of Pico's official file prefixes plugin.

Pico is a stupidly simple, blazing fast, flat file CMS. See  for more info.

`PicoFilePrefixes` removes file prefixes (e.g. date identifiers) from page URLs. For example, the blog article `content/blog/20160707.visit-us-on-github.md` normally corresponds to the page URL , however, by installing this plugin, the article will be accessible through the much more user-friendly URL . This makes organizing your website's pages on the filesystem easier than ever before.

Install
-------

[](#install)

You can either install `PicoFilePrefixes` using [Composer](https://getcomposer.org/), or using a single PHP plugin file. We recommend you to use Composer whenever possible, because it allows you to keep the plugin up-to-date way more easily.

If you use a Composer-based installation of Pico and want to either remove or install `PicoFilePrefixes`, simply open a shell on your server and navigate to Pico's install directory (e.g. `/var/www/html/pico/`). Run `composer remove phrozenbyte/pico-file-prefixes` to remove `PicoFilePrefixes`, or run `composer require phrozenbyte/pico-file-prefixes` (via [Packagist.org](https://packagist.org/packages/phrozenbyte/pico-file-prefixes)) to install `PicoFilePrefixes`.

If you really want to install `PicoFilePrefixes` using a single PHP plugin file, [download the latest release](https://github.com/PhrozenByte/pico-file-prefixes/releases/latest) and upload the `PicoFilePrefixes.php` file to the `plugins` directory of your Pico installation (e.g. `/var/www/html/pico/plugins/`).

`PicoFilePrefixes` requires Pico 2.0+

Config
------

[](#config)

The plugin recursively drops file prefixes of all files in the `content/blog/` directory by default. You can specify other directories by altering the `PicoFilePrefixes.recursiveDirs` and/or `PicoFilePrefixes.dirs` config variables (both expect YAML lists) in your `config/config.php`. The former parses all files of a directory recursively (i.e. including all its subfolders), whereas the latter parses just files in this particular directory. The default configuration looks like the following:

```
PicoFilePrefixes:
  recursiveDirs:
    - blog
  dirs: []
```

If you want to additionally enable the plugin for the `content/showcase/` directory, try the following configuration:

```
PicoFilePrefixes:
  recursiveDirs:
    - blog
    - showcase
  dirs: []
```

If you want to enable the plugin for any folder, try the following:

```
PicoFilePrefixes:
  recursiveDirs:
    - .
  dirs: []
```

To enable the plugin for pages in the `content/misc/` directory only (i.e. not including subfolders like `content/misc/sub/`), try the following:

```
PicoFilePrefixes:
  recursiveDirs: []
  dirs:
    - misc
```

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity62

Established project with proven stability

 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 ~186 days

Total

5

Last Release

2898d ago

Major Versions

v1.0.3 → v2.0.02018-07-24

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/920356?v=4)[Daniel Rudolf](/maintainers/PhrozenByte)[@PhrozenByte](https://github.com/PhrozenByte)

---

Top Contributors

[![PhrozenByte](https://avatars.githubusercontent.com/u/920356?v=4)](https://github.com/PhrozenByte "PhrozenByte (17 commits)")

---

Tags

picopico-file-prefixespicocmspicocms-pluginseourl-shortenerurl shortenerseopicopicocmspicocms-pluginpico-file-prefixes

### Embed Badge

![Health badge](/badges/phrozenbyte-pico-file-prefixes/health.svg)

```
[![Health](https://phpackages.com/badges/phrozenbyte-pico-file-prefixes/health.svg)](https://phpackages.com/packages/phrozenbyte-pico-file-prefixes)
```

###  Alternatives

[artesaos/seotools

SEO Tools for Laravel and Lumen

3.4k5.3M63](/packages/artesaos-seotools)[jbroadway/urlify

A fast PHP slug generator and transliteration library that converts non-ascii characters for use in URLs.

6757.8M76](/packages/jbroadway-urlify)[kphoen/sitemap-bundle

Provides a way to create/generate a sitemap using Doctrine, etc.

2344.8k](/packages/kphoen-sitemap-bundle)[amirax/yii2-seo-tools

SEO tools for Yii 2 framework

131.1k](/packages/amirax-yii2-seo-tools)

PHPackages © 2026

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