3

I would like to know if duplicating some links in the menu for responsive purposes (display:none in some cases) can affect SEO.

Simple example:

<ul>
  <li><a href="/one">one</a></li>
  <li><a href="/two">two</a></li>
  <li class="hidden only-tablet">More +
    <ul>
      <li><a href="/two">two</a></li>
    </ul>
  </li>
</ul>
2
  • 1
    This should have no effect on SEO. Just make sure the UX is seamless for both users and crawlers. (You want crawlers to be able to easily navigate your menus and site structure. So they should be able to go from your current page to /two to the next section easily on both desktop and mobile.) Aug 1, 2017 at 16:54
  • There should be no need to duplicate the menu for responsive. A quick Google search will give you many approaches to responsive menu design that don't require duplication.
    – GDVS
    Aug 2, 2017 at 15:58

1 Answer 1

3

I'd suggest minimizing the amount of duplicate links. If this is not possible, then consider using different labeling for each link.

For example, have the business logo at the top of your site as a link to the home page, and at the very bottom of the page, have a text link to the home page.

Also, you will want to configure your page so that code that isn't necessary right away should load AFTER the necessary code has loaded.

For example, Try something like this:

<!-- necessary code -->
<ul>
<li><a href="/one">one</a></li>
<li><a href="/two">two</a></li>
<li class="tablet">
</li>
</ul>
<!-- enhancing code -->
<script>
   document.getElementByClassName("tablet").innerHTML="More<ul><li><a href="/two">two</a></li></ul>";
</script>

I may have slightly messed up my javascript, but the objective is to load the necessary content first without downloading other junk first. Once that is done then load the code that enables the unordered list menu inside the unordered list of links. More crawlers will appreciate this and the crawlers that don't understand javascript won't see your code as having duplicate links.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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