This post explains what publishing queue is and differences between the publishing options provided by Sitecore – Smart publish vs Incremental publish vs Republish. Also how to perform these publish operations in Sitecore
What is Publishing?
Whenever an item is modified in Sitecore it will be saved in the master database by default. To make these changes available in the live/production site, these changes needs to be copied to web database. To do that Sitecore provides the Publish option. So publishing in Sitecore is a way to copy changes from master to web database.
When ever an item is modified & saved in Sitecore or it becomes publishable through workflow, it is marked as ready to publish and listed under pulishing queue. So publishing queue contains all the items in master database whose version in web database is different and are also ready to publish. Through Sitecore we cannot check or view this queue but we can build our own publishing queue builder programatically.
Here is the official Sitecore documentation on how to build a Publishing queue viewer application. - Building a Publish Queue Viewer Application
This option will publish all the selected items irrespective of whether that item has undergone any change. Since it publishes everything, this option is recommended to use when you are publishing the Sitecore for the first time. Also, this option is time consuming one. It does not use the publishing queue.
To do republish: Select an item and click on Publish in the top menu or go to Sitecor start menu, then click on ‘Publish Site’ and select republish option.
Sitecore maintains revision number for every change made to an item. When Smart publish is used, Sitecore checks the revision number of each item in master with web database and gets the list of items changed. It will publish only these changed items and ignore the items without any change. Hence this option will be fast. It does not use the publishing queue.
To do Smart publish: Select an item and click on Publish in the top menu or go to Sitecore start menu, then click on ‘Publish Site’ and select Smart publish option.
It directly publishes all the items present in the publishing queue. Thus, it does not require to compare or republish everything. This will be faster than the above two publish methods.
To do incremental publish: Go to Sitecore start menu and click on ‘Publish Site’ and then select Incremental publish.