Programming For Beginners: 10 Best HTML Coding Practices You Must Know - GeeksforGeeks

01 Dec, 2021
HTML...One of the easiest things to learn is programming. Most of the newbies and even kids step into programming picking up HTML. They learn, they build some web pages but a lot of developers even experienced one make some silly mistake while writing the code for frontend. Making these silly mistakes not only annoys other developers (when they need to make some changes) but also hurts your main site and drives the end-user away. We are going to mention some common and best practices which you should follow to write a clean and clear HTML code.  
Following some common practices makes debugging easier and saves a lot of time. It also helps in search engine optimization as well.  
HTML has nature that it will still render your markup correctly even if you forget to mention some elements such as <html>, <head>, <body> and <!DOCTYPE html>. You will see the correct result in your browser as you want but that doesn’t mean you will find the same result in every browser. To avoid this issue it’s a good habit to follow a proper document structure with the correct doctype. Doctype is the first thing to mention in an HTML document. You can choose the right doctype from the link https://www.w3.org/wiki/Doctypes_and_markup_styles
Example: 
HTML
<!DOCTYPE html><html>  <head>    <title>Hello World</title>  </head>  <body>    <h1>Welcome Programmers</h1>      <p>This website is GeeksforGeeks.</p>      </body></html>
To avoid validation and compatibility issue don’t forget to close all the tags in your code. Today most of the text editors come up with features that close the HTML tags automatically still, it’s a good practice(and definitely for final check) to make sure that you don’t miss any parent or nested tag that is not closed. In HTML5 it’s optional to close HTML tags but according to W3C specification, you should close all the HTML tags to avoid any validation error in the future. 
 
Make a habit to use lowercase for all the tags, attributes, and values in HTML code. It is an industry-standard practice and it also makes your code much more readable. Capitalizing the tags won’t affect the result in your browser but it’s a good practice to write elements in lowercase. Writing your code in lowercase is easy and it also looks cleaner.
Example: 
HTML
<!-- Bad code--><SECTION>    <p>This is a paragraph.</p>  </SECTION>  <!-- Good code--><section>    <p>This is a paragraph.</p>  </section>
When you add an image in your HTML code don’t forget to add alt attribute for validation and accessibility reasons. Also, make sure that you choose the right description for the alt attribute. Search engines rank your page lower as a result when you don’t mention alt attributes with an image. It’s also good to mention the height and width of the image. It reduces flickering because the browser can reserve space for the image before loading.
Example: 
HTML
<!-- Bad Code--><img src="html5.gif">  <!-- Good Code--><img src="html5.gif"><img src="html5.gif" alt="HTML5" style="width:100px;height:100px">
A lot of newbies make this mistake that they add inline-style in HTML tags. It makes your code complicated and difficult to maintain. Make a habit to keep your styles separate from HTML mark-up. Using inline styles can create so many problems. It makes your code cluttered, unreadable, and hard to update or maintain. Separating HTML with CSS also helps other developers to make changes in code very easily.
Example: 
HTML
<!-- Bad Code --><p style="color: #393; font-size: 24px;">Thank you!</p>      <!-- Good Code --><p class="alert-success">Thank you!</p>
HTML title really matters a lot when it comes to search engine optimization or ranking of your page. Always try to make your title as meaningful as possible. The title of your HTML page appears in the google search engine result page and the indexing of your site relies on it. A meta description tells the user what the page is all about, so make it descriptive that clearly specifies the purpose of your website or page. Avoid using repeated words and phrases. When a user types some keyword in the search engine bar that keyword is picked up by the search engine spiders and then it is used to find the relevant page for users based on the matching keyword used in meta tags.
Example: 
HTML
<meta charset="UTF-8" /><meta  name="viewport"  content="width=device-width, initial-scale=1, maximum-scale=1"/><meta  name="description"  content="A Computer Science portal for geeks. It contains well written,           well thought and well explained computer science and programming            articles, quizzes and practice/competitive programming/company            interview Questions."/><link  rel="shortcut icon"  href="https://www.geeksforgeeks.org/favicon.ico"  type="image/x-icon"/><link  href="https://fonts.googleapis.com/icon?family=Material+Icons"  rel="stylesheet"/><meta name="theme-color" content="#0f9d58" />  <meta  property="og:image"  content="https://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200.png"/><meta property="og:image:type" content="image/png" /><meta property="og:image:width" content="200" /><meta property="og:image:height" content="200" /><script src="https://apis.google.com/js/platform.js"></script><script src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.14/require.min.js"></script>  <title>GeeksforGeeks | A computer science portal for geeks</title>
Heading tags also play a crucial role in making your website search engine-friendly. HTML has 6 different types of heading tags that should be used carefully. Learn to use <h1> to <h6> elements to denote your HTML’s content hierarchy also make sure that you use only one h1 per page. In W3C specs it is mentioned that your page content should be described by a single tag so you can add your most important text within h1 such as article title or blog post. 
Example: 
HTML
<h1>Topmost heading</h1><h2>Sub-heading underneath the topmost heading.</h2><h3>Sub-heading underneath the h2 heading.</h3>
A lot of beginners make a common mistake using the wrong HTML elements. They need to learn with time which element should be used where. We recommend you learn about all the HTML elements and use them correctly for a meaningful content structure. For example instead of using <br> between two paragraphs you can use CSS margin and/or padding properties. Learn when to use <em> and when to use <i> (both looks the same), learn when to use <b> and when to use <strong> (both looks the same). It comes with practice and when you keep your eyes on good code written by other developers. Another good example is given below.
HTML
<!-- Bad Code --><span class="heading"><strong>Hello Geeks</span></strong><br><br>This is Computer Science portal for geeks.<br><br>  <!-- Good Code --><h1>Hello Geeks</h1>    <p>This is Computer Science portal for geeks.</p>
it is important to give proper space or indentation in your HTML code to make it more readable and manageable. Avoid writing everything in one line. It makes your code cluttered and flat. When you use the nested element give proper indentation so that users can identify the beginning and end of the tag. A code that follows proper formatting is easy to change and looks nice to other developers. It’s a good coding practice that reduces development time as well. 
HTML
<!-- Bad Code --><aside><h3>GeeksforGeeks</h3><h5>A computer science portal for geeks</h5><ul><li>Computer Science</li><li>Gate</li></ul></aside>  <!-- Good Code --><aside>  <h3>GeeksforGeeks</h3>  <h5>A computer science portal for geeks</h5>  <ul>    <li>Computer Science</li>    <li>Gate</li>  </ul></aside>
Last but not least make a habit to validate your HTML code frequently. Validating your code is a great piece of work and helps in finding difficult issues. You can download the W3C markup validation or Firefox developers toolbar to validate your site by URL. Validators are very helpful in detecting errors and resolving them.
bunnyram19
punamsingh628700
GBlog
HTML
Web Technologies
HTML
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
DSA Sheet by Love Babbar
GET and POST requests using Python
Types of Software Testing
Working with csv files in Python
How to Start Learning DSA?
How to insert spaces/tabs in text using HTML/CSS?
How to update Node.js and NPM to next version ?
How to set the default value for an HTML <select> element ?
Hide or show elements in HTML using display property
How to set input type date in dd-mm-yyyy format using HTML ?