Non Clickable Menu Items

Non clickable menu items are useful when you don’t want people clicking them. So, you may ask, in what circumstances might you not want people clicking on them?

Well it can be where you have products in categories and you want people to look at the products within the categories. What you don’t want them to do is click on the superior menu item and see all the products in all the categories, like some giant never-ending display.

On one of my other sites I have a main menu and sub-menus for some of the main menu items. And those sub-menu items have sub-sub-menu items.

I want visitors to click on the sub-sub-menu items. I don’t want visitors clicking on the main menu item, and I don’t want them clicking on the sub-menu items.

The way to make menu items non clickable is to use a custom link. When you use a custom link you see a link field and a name. What you do is, instead of putting a URL in the link field, you put a symbol such as a hash sign #.

You have to put something: WordPress won’t let you leave the URL field empty.

So far so good and I have done that several times before. The thing is that if you leave the # in place, WordPress will read that as a link back to the home page, followed by /#.

And that is not what you want. You want the link to be a non-link. That is, you want it to do nothing at all. You don’t want the cursor to change to a little hand. You want nothing, nada.

The extra step that I learned today is that once the custom link is made, take out the # sign. Now the link is dead and the menu item is no longer clickable.

When Not To Fix Google Warnings

I got an email from Google Search Console today about one of my sites. Specifically, the message said that it was warning me that Search Console had identified that the site was affected by a Product issue. That made sense because the site in question is a WooCommerce site, so it has products.

The email explained that warnings are suggestions for improvement. It continued that some warnings can affect the appearance of the site on Search, and that some might be reclassified as errors in the future.

This is the warning that Google gave about my site: Missing field “priceValidUntil”

The email concluded by recommending that I fix the issue when possible to enable the best experience and coverage in Google Search.

Google Is Your Friend, So I Used It

Having had this kind of message before where it turned out to be much ado about nothing, I googled Missing field “priceValidUntil”

I found this answer to the question that someone asked, that I think is solid information.

Perhaps worth remembering these are warnings, not requirements. Think of it as a heads up for things to add if appropriate for your situation. I do get that instinctively something saying warning is a little daunting! But if you don’t have an expiration date, don’t be tempted to fake one just to clear a heads-up warning. Keep your data accurate, and use the field if and when it becomes appropriate, like if a product went on sale, i.e. 10% off until June 10th, you could then add the priceValidUntil for that, then remove it when it’s gone back to normal. Rule of thumb with structured data is be accurate & truthful. If a particular field isn’t valid for your site, don’t be tempted to fudge it. Just leave it. There are some things that are required, they would generate a red error as opposed to the amber warning.

I didn’t have any products on sale, nor had any products been on sale. Therefore priceValidUntil didn’t apply. Therefore, do nothing.

I wonder though what triggered the Google warning?

Jetpack and Yoast Plugin Conflict?

I wondered today whether I had a Jetpack and Yoast plugin conflict.

The site I am talking about is running WP 5.3.2 and I noticed today when writing a post that Gutenberg was not creating a text block automatically when I did a carriage return. I had to put the cursor on a new line to trigger Gutenberg.

Then I noticed that the Yoast SEO (Version 12.8.1) fields were not opening. I thought there may be a plugin conflict, and my first thought was in might be Jetpack. Sure enough, when I disabled Jetpack (Version 8.1) that solved the Yoast issue. I have been running Jetpack (and Yoast) for a long time, and this issue was new to me.

That said, I had to reinstall Yoast SEO because I was getting a warning that Yoast would not work with earlier WP versions – as though it did not recognise that I was on the most up-to-date version of WP.

I reinstalled WP just in case.

After reinstalling Yoast it now recognised that it was working with the most up-to-date version of WP, so that was one problem solved.

CSS and Javascript minify settings

I cleared caches (Litespeed cache) and reset the CSS and Javascript minify settings and cleared caches and optimised again.

Despite doing that I still got the problem that Yoast fields wouldn’t show unless the Jetpack plugin was disabled.

I looked in the Jetpack plugin Support forum to see whether there were reports of a Jetpack and Yoast plugin conflict. There was nothing there so I searched some other forum posts that I googled.

Reinstalling Jetpack and Yoast Plugins

There was a discussion about an issue that related to Jetpack (nothing to do with the Yoast plugin), and someone mentioned reinstalling Jetpack.

I had already reinstalled the Yoast plugin and I thought that reinstalling the Jetpack plugin shouldn’t affect anything. But I did it anyway and bingo!, I could see the Yoast fields were displaying properly.

So what is the moral of this tale? Was it the minify options I had set in Litespeed? Was it a corrupted or partial plugin update at some point?

I guess I will never know, but I saved myself chasing the problem endlessly by reinstalling the plugins.

Themes For WooCommerce

At first sight you might think that most WordPress themes would work with WooCommerce, and to some extent it is true. And for those themes that don’t support WooCommerce, there is a snippet of code you can add to make the theme work.

But ‘working’ and working well and looking good are not the same. Some themes impose rules baked into their code that dictates how images will be presented. And that might not suit you at all. Be aware of that. The themes here should be OK.

The Themes

Just a not that I’ll add more themes to this post as I try more of them.

Slush by ZigzagPress (Genesis child theme)

Minimalist. light theme with good use of white space. Nothing wrong with it, but for my taste it lacks presence in the header area.

Uku from ElmaStudio

A lovely theme with nice typography and use of white space, elegant. It only allows three products images across in the archive pages, but using the WooCommerce Product Archive Customiser by James Koster (in the WordPress Repository) it will render four across.

However, it then needs some CSS to deal with the display on mobile. A future version of Uku might have more archive column options built in.

Ascend from Kadence Themes

Lots of options with a couple plugins from Kadence, but I found it very slow to respond in the Customiser. It has more options than I got around to using. I might try it again at some point to see what it can do.

Sullivan by Anders Norén

Perfectly OK from a functional point of view, but not enough visual attraction built in to attract me to it.

Generate Press by Tom Usborne

The free version is too plain for my taste. The premium version (very good value for what it offers) has a number of pre-built options in the site library, including an ever-growing number of WooCommerce options.

It also has some video walk-throughs for customising the site with the premium options.

I tried the premium version and like it so much that I am now using it for my sites, including this one. And I am also using it for my WooCommerce sites. The options for WooCommerce built into the back end are a joy.

For example, with one click you can show the Add To Cart buttons on the catalogue pages, or turn them off. That’s just one example: there are many option built in. And yet for all that the theme is lightweight and fast.

It makes it easy to do the things a shop owner might want to do to get their shop the way they want.

WooCommerce sites are naturally going to be heavier in terms of images than a blog that is purely text. Yet with all that, I am still getting 96% (that’s excellent in anyone’s book) for the page speed.

Either Offers Review Or aggregateRating Should Be Specified

On a WooCommerce site I was getting a message in Google Search Console that:

Either “offers”, “review”, or “aggregateRating” should be specified.

I ran a product page through Google’s structured data testing tool. It didn’t throw up an error (except for ‘brand’), but I have seen that before.

That was odd, because surely the tool should show the error if the Search Console reported it.

I am using Yoast SEO and Yoast SEO: WooCommerce.

I asked on a forum I am in, and the majority opinion was to ignore it, but I decided to ask Yoast Support and explained that I don’t have reviews on that particular site, and Support replied:

Thanks for getting back to us. If your site does not have or need reviews, please feel free to ignore these recommendations from the Google Structured Data Tool. These are just recommendations and not actual errors that will affect your site’s ranking. 

In fact, the structured data tool does not throw up the error. It is the Search Console that does – but I am going to call it a day and leave the site as it is.

Clear Cache For Visitors

I saw this recommended as a solution in a post in the WooCommerce Help and Share group on FaceBook.

You may have a caching system like LiteSpeed Cache that will clear the cache each time a page or post is changed. If it is connected to a CDN such as CloudFlare it will also clear the cache there.

But if you don’t have that system enabled and you want to be nice to your visitors (especially if you are running an eCommerce shop), then look at the reBusted plugin in the WP repository.

It promises to save you having to ask “Have you emptied your cache?” when customers run into problems or visitors tell you they are not seeing what you are seeing.

It says it is safe to leave running on live sites; only refreshes browser cache for a file if it has been modified; and doesn’t require any configuration.

It is built by Simon Prosser who is part of the BeaverBuilder team, a WordPress core contributor, and part of the Theme Review team, which are good recommendations.