Background / Motivation
I maintain a Drupal module (Crumbs), that calculates breadcrumbs for a Drupal site.
I want to make those breadcrumbs SEO-friendly by using e.g. schema.org metadata semantic markup. Ideally this should automatically work on every site, no matter which theme is active.
On the other hand, I don't want to interfere with themes that override the HTML of a breadcrumb, or that target the breadcrumb html with CSS.
This means I am in a conflict. Either the module controls the HTML, or the theme does, but both is difficult.
So I thought of a workaround: Have a hidden SEO-optimized breadcrumb with "display: none;", generated by the module, and a visible breadcrumb where the HTML is generated by the theme (based on structured data from the module).
If I have a hidden SEO-optimized breadcrumb and a visible non-SEO-optimized breadcrumb, does this diminish the effect on SEO?
Afaik, the only real effect is having the breadcrumb show up in the search result, so if that is the case all is good?
The schema.org page http://schema.org/BreadcrumbList mentions Microdata, RDFa and JSON-LD. Naturally the JSON-LD variation doesn't have any output, so perhaps this would be the natural fit?
The module now uses json-ld for breadcrumb metadata.