WordPress plugin repo is the best place to host your free WordPress plugins, as you give a great exposure to your work and moreover you contribute to the open community of WordPress. I recently submitted my first WordPress plugin to the repo and this is a complete tutorial for you ( If you develop your own plugin) to submit it to WordPress plugins repo.
My Experience submitting the first WordPress plugin:
Before I share the steps that you can use to add your first plugin, here is what I have experienced while submitting my first plugin to the repo. Launching my first plugin was a dream for me as I have used WordPress for 5 years and I realised there are few plugins which are missing from the wide collection of WordPress plugins repo.
I’m not a WordPress developer, but I knew what I wanted here. I asked my rockstar WordPress developer about my need, and idea was inspired from my earlier post on using rel=canonical for content syndication. I only found one plugin “WordPress SEO by yoast” having this feature and having a standalone plugin for this was more than a necessity than a need now. Many popular blogs like Bufferapp is already amplifying their content reach with the help of content syndication and using rel=canonical tag is keeping them away from content duplication penalty.
So after I got the plugin developed, the goal was to submit the plugin to the repo. The process seems simple at first glance, but with no prior experience for a non-developer, it was not as easy as it seemed. I started following official WordPress help file and referred to few good resources like this and this to understand the process. Many of the steps were pretty straight forward and I had to spend a little time in understanding how SVN client worked. Other issue which I faced was to add screenshot to my plugin file, as despite of following the help file I couldn’t get it work for first few times. I was not alone as after going through WordPress support forum, I realised many other developers were facing the same issue. Another challenging part was understanding how to update the plugin right way, as simply making changes and commit changes was not enough. I needed to update the stable tag in both he plugin file and in the readme.txt.
This tutorial is an outcome of the challenges which I faced and I have done my best to simplify the complete process for anyone who would like to submit a plugin of their own. If you get stuck in any of the step, feel free to let me know via comments. I would try to come up with a solution or one of the reader of ShoutMeLoud will help you to get over the problem. This is a learning process for me and I will keep updating the post with new information which I will learn. For now, you can also check the plugin which is live on plugin repo here.
Tutorial to Add WordPress Plugin to Official WordPress Directory:
Lets start with setting up your WordPress plugin file to have it submit to WordPress plugin directory. You need to create a Zip archive of your plugin, but before that you need to add all the necessary details like (read me file) and images in the same folder. Read me file is the most important here as it will have all the details about the plugin including your name, your website which will be shown as official description of the plugin. Here is a standard readme.txt file from official WordPress, you can use it as a reference and create one for yourself.
Note: You can use GenerateWP plugin readme generator to create one for you.
Here is what my readme.txt file looks like:
=== Canonical SEO Content Syndication WordPress Plugin ===
Donate link: http://www.shoutmeloud.com/
Tags: canonical, SEO, search engine optimisation, content syndication, content marketing
Requires at least: 3.1
Tested up to: 4.0
Stable tag: 1.1
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Canonical SEO Content syndication plugin adds rel=canonical tag for content syndication. The meta box is added at edit post section.
== Description ==
Content syndication is a process of amplifying your content to other blogs without hurting the SEO of your original content. You can let other blogs to republish your content in exact format with rel=canonical tag.
You can read about Rel=canonical tag here at pt.4: https://support.google.com/webmasters/answer/139066?hl=en
In this guide you can learn everything about using content syndication for content marketing: http://www.shoutmeloud.com/relcanonical-wordpresss-content-syndication-seo.html
*Canonical SEO Content syndication plugin* adds a meta box at post editor section. You can add permalink of post where the content was originally published. Popular blogs like bufferblog, readwriteweb are taking advantage of content syndication and rel=canonical tags.
== Installation ==
This section describes how to install the plugin and get it working.
1. Download and install the plugin from WordPress dashboard. You can also upload the entire “Canonical SEO Content Syndication” folder to the `/wp-content/plugins/` directory
1. Activate the plugin through the ‘Plugins’ menu in WordPress
1. Go to post editor section, and add the URL at Canonical SEO box from where you syndicating the content.
== Frequently Asked Questions ==
= Is this plugin tested work with SEO by Yoast =
= What about support? =
Create a support ticket at WordPress forum and I will take care of any issue.
== Screenshots ==
1. Plugin in action at post editor section.
== Changelog ==
= 1.5 =
* Added Plugin header image and icon for 4.0
Once you have created the text file, verify it using official validator tool here. Now create a folder call assets and add screenshot of the plugin there (Read FAQ at bottom to learn about adding plugin header banner). In this case I have added screenshot-1.png and also added the reference in the readme.txt file. Here is the structure of my directory before creating the single Zip file:
Now create the single zip archive of the folder and upload it to your server or on your dropbox folder. You need to add a link to archive file while submitting your plugin to plugin directory in the next step. Before you add your plugin, you need to have a free WordPress.org profile which you can create here and go to this page to start the process of adding your WordPress plugin.
After clicking on Send post, you will see a screen like this:
Now you need to wait for a while (Depending upon how many plugins were submitted before you), to get the eMail from WordPress team about the status of your plugin. For my plugin submission it took around 72 hours to get a response from the team which looked something like this:
Your plugin hosting request has been approved.
Within one hour, you will have access to your SVN repository at
with your WordPress.org username and password (the same one you use on the forums).
Here’s some handy links to help you get started.
- Using Subversion with the WordPress Plugins Directory
- FAQ about the WordPress Plugins Directory
- WordPress Plugins Directory readme.txt standard
- readme.txt validator:
With this email my plugin is approved for WordPress plugin repo, and now next step is to submit the plugin using a SVN client. I used Versions app (Mac) for the same (It’s a pro app for Mac, but you can use it for free for first 30 days). Add your unique SVN link you received from WordPress repo, and use your WordPress username and password to login to your plugin repository. You will see a screen like this:
Here right-click on plugin name and click on checkout, This will ask you to save the directory on your computer. Let me quickly explain two things here:
Checkin or commit is when you upload the files to your repository. Where as checkout is when you download the files from your repo. Checkout will create a local folder of your repo and you can make changes in that local folder. When ever you are done making changes, you can click on update and commit to upload the change. You should always update the changes in readme.txt changelog and make sure your readme.txt stable tag and version tag in main plugin files are the same.
Now copy your images to assets folder and plugin files to the trunk folder on your desktop. Once done, select all the files and click on add in the versions app as shown in below image:
Now it’s time to click on commit button and it will upload all the changes to your official WordPress repo. (This will also make the plugin live for the first time user or when updating the plugin to new version):
You will also get an eMail notification when a file is added with your message. If this is the first release, you can also go to your WordPress profile and check if the plugins is listed in your profile or not.
Important thing to know before submitting WordPress plugin:
- Plugin banner: To create a plugin banner (for WordPress plugin page) create an image of exact size 772*250 and add it in the assets folder with name banner-772×250.png . For retina display create image of size 1554*500 and add it into assets folder with name banner-1544×500.png
- Plugins Icon: With WordPress 4.0, now plugin supports icon. You can add an icon to your WordPress plugin with size 128*128 for normal and 256*256 for retina display. You need to place icon in your assets folder with name icon-128×128.png and icon-256-256.png respectively.
- Change plugin name: You can change plugin name anytime but you can’t change the slug (permalink) of the plugin. So when you submitting your plugin for review, make sure you think of the name from SEO and branding purpose.
Here you can see the live plugin on WordPress plugin repo. Here are few more resources from the web which will help you to refine your readme.txt and plugin submission process:
- How to properly format your plugin readme.txt file
- WordPress plugin readme.txt file generator
- How to publish plugin to WordPress plugin repository
- Submitting your plugin for hosting on WordPress.org
Do let me know if you have any other questions regarding submitting plugin to WordPress.org plugin repository. If you have added your own plugin before, do let me know via comments.