Migrating a Joomla 1.5 site to a Joomla 3+ installation is a major migrations and needs to be done carefully and with many things to consider before taking the plunge. Before going through the steps for migrating your Joomla 1.5 site to a Joomla 3.+ site, you should read the article: Preparations for your Joomla 1.5 to 3+ migration and do the research.

Set up a clean installation of Joomla 3+

You need to have a development site for this migration. You don't want to do it on a live site as it can take hours or days to get all the data moved, the extensions working and the right appearance for your new site. You can develop locally if you have WAMP, MAMP or XAMPP installed. If you don't want to do it locally, you can develop in a subdirectory in your hosting environment. The issue with a hosting environment is that it must meet the minimum requirements for PHP. There could be a conflict if you upgrade the PHP, your 1.5 site may not work with the new version.

Visit this page for the minimum hosting requirements of a Joomla 3+ site: 

Follow the instructions for a new installation of Joomla 3+ here: Installing a Joomla 3 site 

Once your Joomla 3 site is up and running, before touching anything, do a complete backup of the files and database. You may need to revert back to this if something goes wrong.

Upgrade your 1.5 site to 1.5.26

Your 1.5 site may already be at the latest release. If it isn't, do a complete backup of the files and database as it is, then run the upgrade for 1.5.0 to 1.5.26.

You can find the Joomla 1.5.0 to 1.5.25 update patch here: 

Do the site research, clean up and preparation as mentioned in: 
Preparations for your Joomla 1.5 to 3+ migration

If you still have people contributing articles and changes to the live site, you will have to repeat these changes in the new site or wait until the Joomla 3 site is up and running to add new content.

Backup the 1.5.26 site files and database after the upgrade. Create a list of all the current URLs for the pages on the existing site, you will need this list for any redirects.

Select a migration tool

You will likely need to employ a migration tool to move your 1.5.26 site to 3+. There are many migration tools available, but they don't all do the same tasks. Assess your 1.5.26 site and research the tools. Be sure that whatever tool you choose keeps the item ids intact as this is crucial to your navigation and internal links. Some tools won't move modules. Your migration tool likely won't help you with migrating extensions or your template. Some migration tools require that the two sites be on the same server, in this case you need to duplicate your 1.5 site on your local WAMP or XAMPP environment if this is the route you are taking.

The Joomla migration extensions can be found here: http://extensions.joomla.org/extensions/extension?searchall=migration...

You may also want to look through the Joomla forum posts or post your own questions: http://forum.joomla.org/viewforum.php?f=710&sid=107e9afe48f1614a1312f0d61784489f

Install the migration tool

Follow the documentation for installing the migration tool extension.

You may need to copy over the contents of the image directory by hand.

Get the base Joomla 3+ installation up and running and the data migrated prior to installing a new template or any extensions.

There are no specific steps to tell you for the migration itself. It depends on your site and the migration tool that you selected.

If you have specific problems, contact the providers of the migration tool or search the forum posts.

Specific things that have changed from 1.5.26 to 3+

There are things that have changed dramatically from the one version to the other. You will need to address these changes on a case by case basis.

ACL: the Access Control Levels for the users has been developed for much better management of the viewing and access levels of registered users, administrators, etc. You will need to review this closely if you have an extensive user list.

Sections: Joomla 3+ no longer uses Sections, it has been merged with Categories.

Review the new 3+ site after migration

Open up your new 3+ Joomla site after the data has been migrated. Prepare your self that it can be a mess and entire chunks of your site may appear to have gone missing. 

If you aren't seeing some of your modules on the new site, it is likely that they are assigned to a position that doesn't exist in the new template. Assign the modules to the available positions for your particular template.

Be sure that your navigation works properly - page through the site with the menu system and check any internal links placed into the content.

If images are not appearing properly, you may need to relink them. Be sure the image files exist in the new installation folders.

Formatting the new site may be a headache. In the past, it was more common to add inline styles to text and images from the text editor. Inline styles can not be overwritten with styles added to the style sheets. This are things like set heights and widths or set colors or floats. The current method is to assign class names to the element then have the class name in the style sheet. This way it is easy to have a consistent look through out your site that can be changed easily. 

Inline widths and heights on images can also cause big problems for responsive web sites on small screens. Tables with inline widths can also be problematic for responsive web sites on small screens. 

You may find that you need to go into each article and edit the content with the text editor toggled to HTML mode. You will need to remove the inline styles, add class names, then add the class styling to the style sheet.

To have images, tables and other elements behave responsively, it is best to use percentages for the widths. You may also need to employ @media styles to change the layout on smaller screens.

Prior to moving the 3+ site to the domain on the host

Remove the 1.5.26 Joomla site. Presumably you have already made a backup and have made the 3+ site look and function acceptably. If you think it is necessary, install a copy of the old site in a subdirectory or a local development environment for future reference.

If you install it in a subdirectory, be sure to take the 1.5.26 site offline (this means you must login to view it). This keep web crawlers from seeing the development site. You should also add the name of this subdirectory to the robots.txt file, for example Disallow: /old15site/.

When your 3+ site goes live

Did you have Google Analytics code installed on your old site. You need to place the code into your new site once it goes live to keep the tracking active.

Once you have your 3+ site to a good point, backup the files and database, in the case you need to revert back to this point.

Make a new sitemap.xml for the new site after it it restored to your domain on your hosting server. 

Resubmit your sitemap.xml to Google Web Master tools so Google indexes the new site structure.

Rename your htaccess.txt file to .htaccess. Add any necessary code to make your SEO friendly URLs function properly.

Add Redirects to your .htaccess for the old pages to go to the appropriate new pages.

Keep up with the Joomla upgrades in future

From here on out, you should always follow the proper methods for creating overrides or other modifications to your Joomla 3+ site. Whenever a new Joomla update comes out, you should install it as soon as you can.