navigation icon indicating copy to clipboard operation
navigation copied to clipboard

Passive Node is not crawl-able link Pagespeed flag!

Open wihodges opened this issue 2 years ago • 3 comments

What are you trying to do?

When using a passive node for structural distinction, google page speed flags that anchor element as "not crawlable link" and hurts the SEO score awarded to page because there is no href on an anchor tag.

What's your proposed solution?

The passive node should default with href="#" automatically, and possibly aria-hidden=true attribute. The href="#" solves the Pagespeed issue.

Additional context

While the passive node is a good designation for labels and headers on navigations, especially footers, it should probably be a tag instead, but understandably, there are probably a lot of legacy anchor tag styles involved.

https://github.com/verbb/navigation/issues/183

wihodges avatar Sep 29 '23 20:09 wihodges

I’m hesitant to add href=# because I’m not sure how “safe” this is for everyone and the multitude of sites out there. But it might have to be a stop-gap for now.

The proper fix for this is probably to change to HTML tag used to <span>, but that’s going to be a breaking change for people staying navigation nodes and assuming everything is a <a>. I’ll have to introduce a getTag() function for node types.

I’m not sure if you want to add aria-hidden=true as that will hide the node from screen readers?

This also only affects the use of craft.navigation.render() as with custom rendering you have full control over the output.

engram-design avatar Sep 29 '23 21:09 engram-design

I recently ran into the same thing. Instead of adding href="#" adding role="none" may be a safer solution and should keep pagespeed quiet.

iainhenderson avatar Feb 14 '24 04:02 iainhenderson

I'll admit that I've not had time to properly research alternatives, so thanks for chiming in with role="none". I'll look into it further, but that sounds much better!

engram-design avatar Feb 15 '24 23:02 engram-design