When iWeb publishes a website it will include the sitename in the URL. That is how iWeb works. You have two solutions. You can either turn on domain masking which I DO NOT RECOMMEND as it will cause other issues or you can publish using a third party utility.
Domain masking makes it so that no matter what page you are on your domain name, http://www.example.com, is the only thing that shows up in your browser. This may look cleaner but it prevents users from bookmarking your website and will prevent your website from being fully added to search engines. You would have to set this up with your web hosting service.
The other option will require that you publish your website to a folder and then use a third party utility to publish your site. You can use an FTP client such as cyberduck. We also developed a tool that will help you get this short URL. The step by step video tutorial can be seen here;
Hope this helps.
The extra name is your site name - you named your site that, so all you need do is go back and re-name your site to something different, like "Site" and your url will then be http://www.domain.com/Site/pagename.html.
If you don't want the site name at all, then simply publish your site to a local folder from iWeb and then upload your site to your server using something like Cyberduck, but only only upload the contents of your folder and not the whole folder and then your url will be http://www.domain.com/pagename.html.
You can get rid of the site name by doing this...
Its NOT a good idea to do this if you have a blog or podcast and you will lose the convenience of one click publishing.
You can indeed use masking, but then reffering to a certain page is more difficult. You can also use "redirects" on the server level (using something like cPanel). It does not mask your url, but it makes it possible to reffer to shorter versions like example.com/page (with the real url: www.example.com/example/page.html)