Org includes a publishing management system that allows you to configure automatic HTML conversion of projects composed of interlinked org files. You can also configure Org to automatically upload your exported HTML pages and related attachments, such as images and source code files, to a web server. For detailed instructions about setup, see the manual.
Here is an example:
(setq org-publish-project-alist '(("org" :base-directory "~/org/" :publishing-directory "~/public_html" :section-numbers nil :table-of-contents nil :style "<link rel=\"stylesheet\" href=\"../other/mystyle.css\" type=\"text/css\"/>")))
Prompt for a specific project and publish all files that belong to it.
Publish the project containing the current file.
Publish only the current file.
Publish every project.
Org uses timestamps to track when a file has changed. The above functions normally only publish changed files. You can override this and force publishing of all files by giving a prefix argument to any of the commands above.
Chapter 13 of the manual
Sebastian Rose’s publishing tutorial
Ian Barton’s Jekyll/blogging setup