Web Publishing
Where can I put my newly created Web pages?
How can I get my own domain name?
How can I block my hosting service's advertisements?
Where can I announce my site?
Is there a way to get indexed better by the search engines?
How do I prevent my site from being indexed by search engines?
How do I redirect someone to my new page?
How do I password protect my web site?
How do I stop my page from being cached?
How do I hide my source?
How do I hide my URL?
How do I detect what browser is being used?
How do I get my visitors' email addresses?
Why is my custom 404 message not displayed?

Back to Top »

Section 2: Web Publishing

2.1. Where can I put my newly created Web pages?

There are lots of companies that can host your Website. The best thing to do is search Google, do your homework and find a provider that's right for you.

Back to Top »

2.2. How can I get my own domain name?

Most of the Web hosting companies you will find can sell you a domain name too. Check with your provider, or you can always search Google to find a good domain name registrar.

Back to Top »

2.3. How can I block my hosting service's advertisements?

Check the Terms of Service (TOS) agreement for your hosting service. It almost certainly prohibits interfering with the advertisements they add to your web pages. If you use some trick to block their advertisements on your own, then your hosting service may delete your account for violating its TOS.

However, there may be other options. Some hosting services will remove the advertisements if you pay a small monthly fee. Others will remove their default pop-up advertisements if you add static banners yourself.

Back to Top »

2.4. Where can I announce my site?

Back to Top »

2.5. Is there a way to get indexed better by the search engines?

There is no single technique, but a number of factors can help.

  • Search engines index the textual content of your site, so use a meaningful <TITLE>, use meaningful headings (<H1>, <H2>, and so on), and provide meaningful ALT text for images.
  • Many search engines ignore frames, so avoid them, and be sure to provide useful NOFRAMES content if you do use them.
  • Most search engines ignore image maps, forms, and JavaScript, so make sure that navigating your site doesn't depend on them. Provide normal links for site navigation.
  • Avoid using META refresh, because many search engines penalize sites that use it (META refresh has been used to trick search engines).
  • The indexing programs of some search engines (including AltaVista and Infoseek) will also take into account <META NAME="keywords" CONTENT="..."> tags that appear in the <HEAD> part of your documents. However, META keywords have been used to trick search engines, so many will ignore your keywords list if you repeat a given keyword too often. At this writing, "too often" means "more than 7 times" to some popular engines, but that may change in the future as indexing programs are changed to defend against trickery.
  • If you include a <META NAME="description" CONTENT="..."> tag in the <HEAD> part of your documents, then some search engines will use the content of this tag as your site's description when displaying search results. This won't affect your ranking in searches, but it can help search engine users understand what your site offers when a search does find your site.

The CONTENT attribute of the META keywords and description tags may contain up to 1022 characters, but no markup other than entities.

You might want to preview your site with a text-only browser like Lynx, to get an idea of how your site appears to search engines. Search Engine Watch at URL: http://searchenginewatch.com/ is a Web site dedicated to search engines and strategies for Web page authors.

Finally, note that some search engines ignore sites hosted by well-known free hosting services. Other search engines index only a certain number of documents per server, so while early customers of free hosting services may be indexed, later customers may be ignored.

Back to Top »

2.6. How do I prevent my site from being indexed by search engines?

See URL: http://info.webcrawler.com/mak/projects/robots/exclusion.html.

Back to Top »

2.7. How do I redirect someone to my new page?

The most reliable way is to configure the server to send out a redirection instruction when the old URL is requested. Then the browser will automatically get the new URL. This is the fastest and most efficient way, and is the only way described here that can convince indexing robots to phase out the old URL. For configuration details consult your server admin or documentation (with NCSA or Apache servers, use a Redirect statement in .htaccess).

If you can't set up a redirect, there are other possibilities. These are inferior because they tell the search engines that there's still a page at the old location, not that the page has moved to a new location. But if it's impossible for you to configure redirection at your server, here are two alternatives:

  • Put up a small page with text like "This page has moved to http://new.url/ -- please adjust your bookmarks."
  • A Netscape and MSIE solution, which doesn't work on many other browsers (and screws up the "back" button in Netscape) is:
    <META HTTP-EQUIV="Refresh" CONTENT="x; URL=new.URL">
    which will load the new URL after x seconds. This should go in the HEAD of the document. But if you do this, also include a short text saying "Document moved to new URL so-and-so" for other browsers. (The screwing-up bit refers to the fact that if you press "Back" after you have been redirected, you will be taken to the document with the META refresh. Then the refresh will be activated, and so you'll jump to the page you just tried to leave.)
Back to Top »

2.8. How do I password protect my web site?

Password protection is done through HTTP authentication. The configuration details vary from server to server, so you should read the authentication section of your server documentation. Contact your server administrator if you need help with this.

For example, if your server is Apache, see URL: http://www.apache.org/docs/misc/FAQ.html#user-authentication.

JavaScript password scripts provide only a facade of security. At a fundamental level, they work in one of two ways. Some scripts convert the password into a URL, which keeps the document secret by limiting the number of people who know its URL. Some scripts check the password and then go to a specific URL, which protects the document only from those who don't view the JavaScript source to get the URL of the document. Neither mechanism is really secure.

Back to Top »

2.9. How do I stop my page from being cached?

Browsers cache web documents; they store local copies of documents to speed up repeated references to documents that haven't changed. Also, many browsers are configured to use public proxy caches, which serve many users (e.g., all customers of an ISP, or all employees behind a corporate firewall). To effectively control how your documents are cached you must configure your server to send appropriate HTTP headers.

The Expires header is understood by virtually all caches. The cached document will be retrieved again automatically once it has expired. The Expires header must contain an HTTP date, which must be Greenwich Mean Time (GMT), not local time.

HTTP 1.1 introduced the Cache-Control header, which provides more flexibility for telling caches how to handle the document. For more information, see the HTTP 1.1 draft (see URL: http://www.w3.org/Protocols/;).

The configuration details vary from server to server, so check your server documentation. For example, if your server is Apache, see URL: http://www.apache.org/docs/mod/mod_expires.html for information about setting the Expires header, and URL: http://www.apache.org/docs/mod/mod_headers.html for information about setting other headers.

The Pragma header is generally ineffective because its meaning is not standardized and few caches honor it. Using <META HTTP-EQUIV=...> elements in HTML documents is also generally ineffective; some browsers may honor such markup, but other caches ignore it completely.

Further discussion can be found at URL: http://www.mnot.net/cache_docs/.

Back to Top »

2.10. How do I hide my source?

You can't. The HTML source is necessary for the browser to display your document; you must send the complete, unencrypted source to the browser. Even if a particular browser doesn't have a "View Source" feature, there are many that do, and someone can always retrieve the document by hand (using telnet) or from the browser's cache.

There are tricks that make it more difficult for some readers to view or save your source (e.g., tricking newbies into thinking there's nothing there by adding dozens of blank lines to the beginning of the document, or using JavaScript to trap right-button mouse events). However, just as with tricks that try to protect images from being saved, these tricks have very limited effectiveness and can cause various problems for law-abiding users.

Back to Top »

2.11. How do I hide my URL?

You can't. URLs are fundamental to navigation on the WWW. The URL is necessary for the browser to be able to retrieve your document. It is impossible to hide the URL of a resource from the browser.

Back to Top »

2.12. How do I detect what browser is being used?

Many browsers identify themselves when they request a document. A CGI script will have this information available in the HTTP_USER_AGENT environment variable, and it can use that to send out a version of the document which is optimized for that browser.

Keep in mind not all browsers identify themselves correctly. Microsoft Internet Explorer, for example, claims to be "Mozilla" to get at Netscape enhanced documents.

And of course, if a cache proxy keeps the Netscape enhanced document, someone with another browser will also get this document if he goes through the cache.

For these reasons and others, it is not a good idea to play the browser guessing game.

Back to Top »

2.13. How do I get my visitors' email addresses?

You can't. Although each request for a document is usually logged with the name or address of the remote host, the actual username is almost never logged as well. This is mostly because of performance reasons, as it would require that the server uses the ident protocol to see who is on the other end. This takes time. And if a cache proxy is doing the request, you don't get anything sensible.

But just stop to think for a minute... would you really want every single site you visit to know your email address? Imagine the loads of automated thank you's you would be receiving. If you visited 20 sites, you would get at least 20 emails that day, plus no doubt they would send you invitations to return later. It would be a nightmare as well as an invasion of privacy!

In Netscape 2.0, it was possible to automatically submit a form with a mailto as action, using JavaScript. This would send email to the document's owner, with the address the visitor configured in the From line. Of course, that can be "mickey.mouse@disney.com". This was fixed by Netscape 2.01.

The most reliable way is to put up a form, asking the visitor to fill in his email address. To increase the chances that visitors will actually do it, offer them something useful in return.

Back to Top »

2.14. Why is my custom 404 message not displayed?

Recent versions of Internet Explorer default to "friendly" HTTP error messages. When a special HTTP response (e.g., a 404 response) is shorter than 512 bytes, the browser substitutes its own message for the one delivered by the server. As a user of Internet Explorer, you can disable this feature in the "Advanced" options panel. As a web author, your only recourse is to make the error page larger.

Back to Top »