The last breadcrumb on a search results page is not a link, but instead is just plaintext of the search keywords. The adaptive_preprocess_breadcrumb function adds RDF markup at the third character of the breadcrumb. This normally works fine for breadcrumbs since the first three characters are "< a ", but for breadcrumbs that aren't links (search keywords), it adds it into the keyword itself.

This is what I get when searching for "engineering" on my dev site.
screenshot

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Jeff Burnz’s picture

Right, this whole idea of inserting rich snippets using string manipulation is a problem, I think we either remove it or find a better way, if possible.

jpontani’s picture

So I messed around with a potential fix. I attached it as a patch. It runs a regex on the breadcrumb for any HTML, and takes the outermost HTML element and adds the RDF property to it, and if it's a link element, it adds the rel='v:url' property to it as well.

This is what I get as a result of the patch:
screenshot

jpontani’s picture

Actually this is the right patch, the first didn't accomodate tags that didn't have a space in them (no attributes on the tag).

ezra-g’s picture

Status: Active » Needs review
Jeff Burnz’s picture

Patch looks good from here, the acid test will be running with other breadcrumb modifying modules, there is one bug report here : #1910758: Breadcrumbs displaying attributes of the link in the middle of the trail: bug or configuration?

I installed Crumbs and ran it, seems to not be affected like the bug report (after applying this patch), however I am the first one to admit I have no idea what this module is supposed to be doing, the config seems about as intuitive as Windows 8 :/

astutonet’s picture

Status: Needs review » Reviewed & tested by the community
Jeff Burnz’s picture

Status: Reviewed & tested by the community » Fixed

Looks like I commited this along with updates for the menu toggle (total rewrite), so will call this fixed for now :)

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.