Debugging Highlighter Deployment with Mobile Crawler

Modified on Thu, 08 Dec 2022 at 11:59 AM

Search engines like Google default to mobile-first indexing because many web user's are on on mobile devices. For your schema markup it means that it is important to ensure markup is indexed for mobile web crawlers. When comparing results between a desktop and mobile crawler you may notice some discrepancies. Most commonly, the mobile crawler is missing markup that is present using the desktop crawler. The purpose of this document is to discuss the different cases of discrepancies and offer some suggestions. 


All Templates are Matching but the Markup Appears Different


In the case where all templates are matching and some markup is not deploying, the underlying reason is generally due to structural differences in your page between mobile and desktop. Structural differences mean that content can be the same but positioning and the HTML layout differs. This difference in positioning causes problems because the highlighter uses XPaths to map Schema.org properties to your content. If you know the layout is different on mobile devices, this can be resolved by updating those XPaths either manually (using the inspector in your browser) or by training the highlighter with more examples of pages in steps 3 and 4.



In the cases where your content differs between mobile and desktop, you should ensure they are the same as that is something Google can penalize pages for in search rankings just because it can't get as much information. So the solution is to do your best to get the same content on both mobile and desktop.



Not All Templates are Applying in Mobile


In this case, you might notice that one or more templates are not deploying in mobile but they do deploy using the desktop crawler. Below are some of the steps you can take to narrow down the problem.


1. Will the template match on mobile


If using an XPath to match, does that XPath apply on the mobile site, similar to if highlights are missing if you are reliant on content appearing in a particular place make sure it appears there in mobile as well. If it's in a different spot you can combine the XPaths using a union to allow both matches to work.  


When using a URL or Glob Pattern to match ensure that the site isn't redirecting or otherwise modifying the URL at runtime. If a page redirects the highlighter will use the resultant url, and not the starting URL. To solve this add the resultant mobile urls to your pattern or your url list in Step 3. If the domain is different i.e your mobile site is m.example.com vs example.com then you will need to clone your template for that URL. 


2. Check if the scripts are loading


Scripts can fail to load if the tag that loads it does not trigger either due to misconfiguration or a speed issue. If you are using the Google Rich Result tool one place you can look is in the "Page resources" on the "More Info" tab. You may see the script failed to load or you may not see the script at all. Most often this is caused by either a tag manager tag not firing, or firing too late. The result is that the script isn't on the page in time to generate markup.


To solve this issue you can debug (generally the tag manager tool offers this ability) to ensure your tag is firing correctly, and if it is then you check for the timing to see if you can have it fire sooner after the page loads. If the above fails look at cause 3 below.


3. Identifying Performance Issues


The last cause of markup not appearing can be from other resources on your pages that are causing overall speed to decrease. In testing with a mobile device search engines do not allow as many resources in terms of network and processing power as they would for a desktop user. Intuitively this is the same as your mobile phone having less resources than a desktop computer. In order to fine-tune your performance we recommend using a tool such as https://pagespeed.web.dev/ (or similar) that can load the site as a mobile device and give you insights into resources that are slowing your pages down. The key here is to ensure that the tool restricts performance on the mobile test. The tool will typically also give you a performance rating. Common issues are scripts that run frequently (or for a long period of time), larger network resources such as photos and videos as well as render-blocking external resources (scripts, stylesheets fonts etc). In the case of render-blocking resources, you should look into lazy loading or loading them async so they don't block the rest of the page.



The results from this report can be helpful in improving the performance of pages. One thing to note is that it will list typically your top 10 longest running scripts, generally, it's worth tackling the larger impact scripts. Most of these issues will be site specific so we can't give general solutions that will work for everyone. These reports are designed to give you indications of where you can make improvements. In addition to helping your schema markup reach the page improving these scores should also help your page in indexing since search engines tend to prefer fast-loading websites and may even boost search rankings based on that.




Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article