WordPress project common practices

I have a few questions about the common practices of a WordPress project and I would appreciate if you could help clarify them for me.

I searched through the Envato Help docs but could not find any info about these:

  1. What is the common practice: a) The Main Files archive is the plugin file, ready to be installed into WP, or b) The Main Files archive contains the plugin archive inside, together with other project files, such as the guide and source files.

  2. Is it common (or required) to add the guide in the project files, or can you host it on your server and just link to it? Hosting it makes it easier and faster to update but requires the the client have an Internet connection at all times in order to view it.

  3. Where do you usually place the sources of different files (JS, images)? I have seen plugins with the JS source placed in the same folder as the minified file. This makes it easier for the client to find and edit the file, if he wants to make changes but it also makes the source file publicly available. If you type the url directly to the file, you can see the uncompressed source JS file. For this reason, maybe it is better to include it in a separate place, such as a dedicated “Sources” folder in the Main Files.

  4. Is it common for projects to have automatic update functionality for the WP plugin, using the Envato API (as far as I know, this is possible but correct me if I’m wrong)? Or do clients usually do manual updates of the plugin files?


Hi there,

  1. The main package usually contains plugin package and documentation. There is a dedicated file input for installable plugin package when uploading/updating a WordPress plugin.

  2. Yes, you should include documentation with your plugin. In fact, you can host it anywhere (we use a knowledge base) then include the offline-version (scrape it using HTTrack) within the main package.

  3. “assets” is usually a good place to put your front-end resources inside (js, css, images and fonts). Here is our directory structure for one of our plugins.

  4. It would be a huge time-saver for customers.

Hope it helps!