This article contains some higher-level thoughts on web design without going into technical details.
The goals of title and meta tags are to give search engines information to be displayed to potential visitors, and to help search engines in finding a page. The goal is not to get a high ranking in search engine results; ranking is a task of the search engines, and designers should not try to influence it. So the contents of these tags should be informative, and not "optimized" for search engine ranking.
The title tag must contain a short descriptive title of the page in question, and should be different for each page of a web site. It should not be crammed full of keywords to please search engines. The title of the main page need not be repeated in the title tags of the other pages.
The keywords tag should contain a number of keywords related to the contents of the site or page in question. Again, it should be different for each page. The main page may contain keywords for the whole site. About 5 to 8 is usually enough, and it is not needed to include all possible misspellings and singular/plural forms, except for those that are actually used very often by visitors, as indicated by your web site statistics. The other pages each contain the 1 to 3 keywords on which the page in question focuses.
The description tag contains a description of the site or page. It, too, is different for each page. It should just say what the page is about; or the site, if it concerns the main page.
There are those who say the title, keywords and description tags (and even the contents of the page!) must "match", by which they mean that the same keywords must be repeated in all of those places, resulting in idiotic titles and descriptions like "Blablabla, the ultimate page for all your blabla, blablabla, bla, blabla... et cetera et cetera and blabla". Such people think search engines will rank their page higher when the same keywords appear everywhere. But search engines that really are that stupid do not deserve to exist. The cause of this misunderstanding is that there are idiots who try to attract more visitors by putting popular keywords in their keywords tag that do not really relate to the contents of their site. And some search engines have tried to get around that by checking the keywords tag against the other meta tags and contents of the page. In turn, the moronic habit arose to include the same keywords everywhere to make things "match". But that is merely pleasing the search engines, which is not a goal of a web page.
Finally, the contents of a page should not be "optimized" by cramming it full of keywords. It is meant for humans, not search engines.
On a web page there should be no more than one hyper reference to each particular location. Repeated hyper references are confusing, as they give the impression of more content than there actually is. For instance, a hyper reference in a menu must not be repeated in the contents of that page.
Hyper references should open in the current window. Only when the contents of the current window must remain available for some reason (e.g. because it is needed when filling out a form) it is acceptable to open a hyper reference in a new window, although even then it is better to suggest to the visitor to hold Shift (new window) or Ctrl (new tab) down when clicking on the hyper reference.
Hyper references to other web sites should only be included when and because one feels the other site is worth linking to, and never just in exchange for a link back. The latter - "reciprocal linking" - is a form of networking (or favouritism) that may bring more visitors to who practise it, but reduces the quality of the Internet as a whole.
The U.R.L. a hyper reference points to is by default displayed in the status bar when the mouse pointer is on the hyper reference. It is extremely undesirable to block this via scripting.
The (top-level) site menu need only be present on one page, typically the main page. It need not be repeated on every page in the form of a menu bar or something. Such is confusing and wastes space on each page. The main page may consist of the menu only, and visitors can use their back button to return to the main page. Large, complex sites may have sub-menus under the menu links on the main page (each sub-menu on its own page, similar to the main page). Alternatively, the main page may contain a very large menu with subdivisions.
The bad habit of having a menu bar repeated on each page results from the designers' fear to lose visitors who do not know how to return to the main page. But when the World Wide Web reaches the deplorable stage wherein sites are constructed so that clicking on a hyper reference results in change in a tiny stamp-sized area of the screen only while the rest of the page stays the same for "navigation" purposes, it should be clear that this is not the way to go. That is not why people have bought their monitors. They want real content on their screens. Clicking on a hyper reference should result in a completely new page, except for in special situations like a slide show where you click on hyper references to make different photos appear on the page. Having the whole screen available for the contents of a page helps the visitor tremendously in concentrating on the topic in question.
In this respect, it is to be applauded that the "frames" tag has been removed from H.T.M.L. standards in recent times, as already recommended in the present article in the early 2000s.
There is no reason to make each page of a site look the same, as is the dogma among designers. Each page may have its own layout and appearance. Only groups of pages that obviously belong together, like a series of reports on a topic, may have a common layout for convenience.
The main problem in presenting text on a web page is that the lines get too "wide", that is, contain too many characters. To remain legible, lines should not exceed about 70 characters, not counting spaces. This problem is complicated as different screen resolutions will normally display a given text with different numbers of characters per line. Setting margins with C.S.S. while using large enough font (browser default is best) seems to be the superior solution. Never specify font size in pixels; text will then look much bigger/smaller on the one monitor than on the other, because different monitors have different numbers of pixels per unit of distance. "Browser default" means to not specify a font size at all. The hallmark of bad web "designers" is the use of tiny font sizes, specified in pixels.
The first page of a site must be a page with content or a menu that leads to content. Never a "splash screen" without content that merely tries to push an (animated) introduction down the visitor's throat.
Regarding "browser compatibility", the best approach is to stick to the official specifications for H.T.M.L., C.S.S. and JavaScript as well as one can. It is a task of the browser developers to support those specifications. Designers should not go to lengths to make a page work in any particular browser; browser developers are the ones who should go to lengths to make any properly designed page work in their browser. Testing a page in various browsers before publication, as many designers do, should not be needed.
Submitting your site to a few major search engines should ideally only be needed once, to inform them of your site's existence. Or, if your site is linked to from other sites, not at all, because then the search engine robots will find it anyway. Paying for search engine submission is never needed.