HTML internal links

In HTML, you can create internal links within other HTML documents by using the same concept of using the <a> (anchor) HTML element, but instead of referencing the id attribute of a target section within the same HTML document, you would provide the file name of the target HTML document along with an optional relative path.

Assume you have two HTML documents named "index.html" and "about.html" in the same directory, and you want to create an internal link from "index.html" to "about.html".

Contents of "index.html":

<!DOCTYPE html> <html> <head> <title>My Website - Home</title> </head> <body> <h1>Welcome to My Website</h1> <p>This is the homepage of my website.</p> <!-- Internal link to about.html --> <a href="about.html">About</a> </body> </html>

Contents of "about.html":

<!DOCTYPE html> <html> <head> <title>My Website - About</title> </head> <body> <h1>About</h1> <p>This is the about section of my website.</p> <!-- Internal link back to index.html --> <a href="index.html">Home</a> </body> </html>

In the above example, the <a> element is used to create internal links between "index.html" and "about.html". The href attribute in the <a> element references the file name of the target HTML document, "about.html", from "index.html". Similarly, in "about.html", the internal link back to "index.html" uses the file name "index.html" as the href attribute value.

You can also provide an optional relative path in the href attribute if the target HTML document is located in a different directory. For example, if the target HTML document "about.html" is located in a subdirectory called "pages", you can specify the relative path like this: <a href="pages/about.html">About</a>.

It's important to note that when creating internal links between HTML documents, you need to ensure that the target HTML document is accessible from the source HTML document and that the file paths are correctly specified to avoid broken links.

Use images or other HTML elements as internal links

It's possible to use images or other HTML elements as internal links by wrapping them with the <a> (anchor) HTML element. This allows users to click on the image or other HTML element to navigate to a different section or content within the same HTML document.

<!DOCTYPE html> <html> <head> <title>My Website</title> <style> /* Style for the image link */ .image-link { display: block; width: 200px; height: 150px; background-image: url('image.jpg'); background-size: cover; } </style> </head> <body> <h1>Welcome to My Website</h1> <p>This is the homepage of my website.</p> <!-- Image link --> <a href="#about" class="image-link"></a> <h2 id="about">About</h2> <p>This is the about section of my website.</p> </body> </html>
run this source code Browser View

Welcome to My Website

This is the homepage of my website.


This is the about section of my website.

In the above example, an image is used as an internal link. The <a> element is used to create the link, and the href attribute points to the id attribute of the target section within the same HTML document using the "#" symbol followed by the anchor name (e.g., "#about"). The image is set as a background image using CSS, and the class attribute is used to apply custom styling to the image link.

You can also use other HTML elements, such as buttons, text, or divs, as internal links by wrapping them with the <a> element and setting the href attribute to the target section or content within the same HTML document.

The elements used as internal links are accessible and provide clear visual cues to indicate that they are clickable. Also, make sure to test the functionality of the internal links to ensure they work correctly and provide a smooth navigation experience within the same HTML document. Additionally, you can apply custom styles to the internal links using CSS to match the design of your website and provide a consistent user experience.

Test your internal links

There are several ways to test if your internal links are working correctly on your website. Here are some methods:

  1. Manual Testing: You can manually click on each internal link on your website and check if it leads to the intended destination page. This method can be time-consuming, especially if your website has many pages and links, but it allows you to thoroughly test each link and ensure they are working correctly.
  2. Use Web Browsers: You can use different web browsers, such as Google Chrome, Mozilla Firefox, or Microsoft Edge, to test your internal links. Simply click on each link while browsing your website using different browsers and check if they lead to the correct pages.
  3. Use Online Link Checkers: There are several online tools and link checkers available that can help you test your internal links. These tools typically scan your website and detect broken or misconfigured links, including internal links. Some popular online link checkers include W3C Link Checker, Dead Link Checker, and Xenu's Link Sleuth.
  4. Check for HTTP Status Codes: You can also check the HTTP status codes of your internal links to ensure they are working correctly. HTTP status codes indicate the response status of a webpage, and a "200 OK" status code generally indicates that the link is working correctly, while a "404 Not Found" or "500 Internal Server Error" status code indicates that the link is broken or misconfigured.
  5. Monitor Website Analytics: If you have website analytics set up, you can review your analytics data to check for any unusual patterns or drop-offs in traffic to specific pages that are linked internally. This may indicate that the links are not working correctly and need further investigation.

Best practices for using internal links in HTML

There are several best practices for using internal links in HTML to ensure optimal usability, accessibility, and SEO. Following are some key best practices:

Use Descriptive Anchor Text:

Choose meaningful and descriptive anchor text for your internal links. Avoid using generic terms such as "click here" or "read more," as they do not provide any context about the linked page's content. Instead, use relevant keywords that accurately describe the destination page's content to provide users with clear expectations of what they can expect when they click on the link.

Example: Instead of <a href="/page1">Click here</a>, use <a href="/page1">Learn more about our products</a>.

Keep Links Relevant:

Only link to relevant and related content within your website. Internal links should provide value to users by directing them to related information that complements the current page's content. Avoid over-linking or linking to unrelated content, as it can confuse users and negatively impact SEO.

Use Absolute or Relative URLs:

When specifying the URL for internal links, use either absolute URLs (e.g., ) or relative URLs (e.g., /page1) instead of using incomplete URLs or relying on JavaScript-based links. Absolute URLs provide a complete web address, making it easy for search engines and users to understand the link's destination. Relative URLs are shorter and more flexible, making them useful for internal links within the same domain.

Test Links Regularly:

As mentioned earlier, regularly test your internal links to ensure they are working correctly and leading to the intended pages. Broken or misconfigured links can negatively impact user experience and SEO, so it's essential to proactively identify and fix any issues.

Use Clear Site Navigation:

Organize your internal links logically and provide clear site navigation to help users easily find and access different pages on your website. Consider using a consistent and user-friendly menu or breadcrumb navigation to guide users and provide an intuitive browsing experience.

Consider Accessibility:

Ensure that your internal links are accessible to all users, including those with disabilities. Use descriptive anchor text, provide alternative text for images used as links, and ensure that links can be accessed and activated using keyboard navigation.

Follow SEO Best Practices:

Internal linking is also important for SEO. Use internal links strategically to help search engines understand the content hierarchy and relationships between pages on your website. Avoid excessive linking and use relevant anchor text and keywords to optimize your website's SEO.


You can create effective and user-friendly internal links in your HTML code that provide a positive user experience, improve accessibility, and enhance your website's SEO. Regularly review and update your internal links as needed to ensure they remain functional and relevant as your website evolves.