In times of javascript-based rendering and CSS is the placement of semantic elements on the top of HTML code still relevant?

I mean, if Google is able to render any CSS and Javascript, is it still important to place h1 and content on the top of HTML code?

Since this year beginning is the Googlebot a current Chrome. It means - there is no second crawler for plain HTML, everything is rendered as in an up-to-date browser.

Use case:

  • First page has on the very top of HTML code a h1 and content piece, which are formatted by CSS to be displayed on the visual page's bottom
  • Second page has h1 and content piece on the very bottom of HTML code, but formatted with CSS to be displayed on the top of the page.

Use case question: what is currently better?

I speculate, a javascript-enabled browser will get h1 and content piece of the second page faster then of the first page, not?


The HTML mark-up provides a structured and semantic representation of your page.

This is useful for more than just Google - screen readers and other assistive technology also usually rely on the HTML to present your pages to the user. If they encounter your second page with the H1 at the bottom that's the last thing they will read.

Other technology can create visual hierarchies of the page based on the markup, useful for jumping to sections even without links, and most browsers offer a "reading view" that strips away most of your scripts and styles allowing users to focus on the content. All of these expect headings to be in the correct order, etc.

| improve this answer | |

HTML builds structure for the document, not its presentation. If you move elements around for presentation, they do not affect the document structure as presented to search engines or anything else.

| improve this answer | |
  • Thats the question: Googlebot as fullfunctional browser doesn't read the structure only. It reads the HTML document from top to bottom, and already in the head it gets the CSS file. After this it reads the HTML document in its presented way because of CSS interpretation. – Evgeniy Feb 5 at 11:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.