Some non-MobileMe servers (relatively few as far as I can tell) have settings that cause them to misread the first line of all pages created by iWeb. As a result the pages will not display -- they will either be blank or an error message regarding Parsing will appear.
Ideally servers should not be configured this way, because it prevents the display of xhtml pages that conform to international standards. To fix it, server administrators should normally switch the item "short_open_tag" in php.ini from ON to OFF. However, they may not be willing to do this, because they and other users may have a lot of old or incorrectly done php scripts (beginning with just <? instead of the full <?php which should be used these days) that could then be disrupted.
If that is the case, you may be able to change short_open-tag to OFF yourself via .htaccess and/or php.ini files located in your user's directory on the server. .htaccess entries which have been used include "AddType application/xml .html" and "php_value short_open_tag 0" and "<FilesMatch "\.html$">
ForceType text/html
</FilesMatch>"
Another (not very desirable) solution is to delete the very top line of iWeb pages ending in .html after publishing. This would need to be redone every time the page is modified and republished. Any text editor, such as TextEdit, can be used to open and modify pages this way individually. One program which has a search/replace function that may help you do this for a whole site is iWebExtender.
Another solution, and probably the best, is to find another server. None of the major web site hosts have these faulty settings as far as I know.
Some more info on this issue can be found here:
http://en.wikibooks.org/wiki/Programming:Complete_PHP/Escaping_from_HTM
Use of XML Declaration
Recommended PHP Start Tags