6

So here is a requirement:

  1. Client wants a page template where there is two level menu on left side of the page.
  2. That menu can link to any page, post, category or a section within same page.
  3. The menu which links to a section within same page should be slash linked and not # linked for the purpose of SEO.

And this is how we have implemented it:

  1. Based on one requirement I have developed a custom page template with sidebar on left.
  2. Using WordPress menu I registered multiple menus with menu items as per the requirement.
  3. I developed a custom widget which provides an option to select a menu to be assigned to that page. So far all good....

And here comes the question:

  1. How do I link the section within same page with / and not #?
  2. For example if the page is http://example.com/event-page/ and there is a section within page content say "Get Passes" and also a menu corresponding to it on left. Now what client wants is that the menu shall not be linked like http://example.com/event-page/#get-passes but rather http://example.com/event-page/get-passes/
  3. Needless to say that it should just scroll down to that particular section without reloading the page.
  • 4
    lol, is there an actual justification (ROI) for making all the effort that will be required to make it work? I mean actual article by google or some other authority? (need to tag this question under "crazy clients") – Mark Kaplun Jan 13 '17 at 14:22
  • Agree with Mark. You are going to end up in a combination of JS and .htaccess rewrites to do something that really doesn't need to be done and will be a maintenance nightmare. Page SEO is more than just URLs... – C C Jan 13 '17 at 14:24
  • @MarkKaplun - Yeah its kind of funny and challenging. I do agree that it may not be worth putting so much of efforts. I searched if there is any article from google that # links are bad for SEO and you must go for / links or something like that. But did not find something like that, so thought to ask here :) – Prasad Nevase Jan 13 '17 at 14:33
  • 1
    there is just too many details to take care of - JS, duplicate content, browser history maybe, page caching if you use.... too many thing that might go wrong. Realy needs some huge proven benefit to even start coding such thing – Mark Kaplun Jan 13 '17 at 14:47
  • This works? /index.php#your-anchor – Neit Apr 19 '17 at 14:41
0

You can use history.pushState to change the browser URL without reloading a page, and jQuery's scrollTop method to scroll to the top of a specific element (and there are VanillaJS equivalents too). This will mimic the functionality of # anchors.

However, like what Mark said, what your client wants is really weird. It is hard to maintain and keep working, and it might even hurt your client. Here's a case study that you might want to show him/her.

0

From SEO purpose you can use # URL in the menu to support the function of the # to slide down to the specific section.

Explanation why:

  1. Google won't index # links.
  2. All link "juice" will go to this link: http://example.com/event-page/ not http://example.com/event-page/#get-passes

The issue what will be in your case to build the link with ending slash will be that you will get duplicate content. Google will index two links: http://example.com/event-page/get-passes/ and http://example.com/event-page/ if you won't configure proper canonical link tag.

Summary, you can use the # URL, just imagine that search engines will ignore the URL part after #. I have seen already some duplicate content issue when a customer asks for ending slash, where # is the right chose.

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.