Plugin development: is adding empty index.php files necessary?

When developing a plugin, should I includes the blank index.php file and then add my functions in the plugin-name.php? Or is that unnecessary? What file structure is recommended?

This?

/some-plugin/some-plugin.php (functions)
/some-plugin/index.php (blank)

Or this?

/some-plugin/index.php (functions)

From doing some research on WPSE, I have found a Q&A related to my own question:

  • Should Plugin Folders Include a Blank index.php File? – WordPress Development

However, this question is over four years ago and I wanted to know if this is still a recommendation for ethical plugin development nowadays.

The answers that were given by Wyck and toscho bring up interesting points on both sides of the spectrum:

  1. For: security through obscurity works, bots compile the plugin lists right off WordPress.org and crawl the plugin’s URL directly
  2. Against: unused PHP files in that directory are wasting time and memory when WordPress is searching for plugins

Are these two statements true? What’s the latest update?

1 Answer
1

It is a good practice to include index.php, with and without a wordpress context. Appach 2.4+ IIRC will add a log message about a missing file if someone access the directory itself, which makes reading the error log more annoying.

As for the reason you quote, obviously this do not have any security related impact, and the “wordpress will have to parse one more file once a year”…. you are a great developer if that is the only performance issue you have in your code, and with php 5.6 code caching even that claim might not be true any longer.

You can put your code in the index.php file but by now people have expectations about the naming of the “main” plugin file, and therefor it might create pointless confusion as most people will assume index.php is an empty file

Leave a Comment