JSON-LD and Search Engine OptimizationPublished: 18-Jun-2018
For those of you following along, I recently built and deployed a conversion calculator. A conversion calculator is a tool which enables you to convert between one unit of measure and another unit of measure. Common conversions include converting between Fahrenheit and Celsius (units of temperature), or centimeters and feet (units of length).
You can find the conversion calculator here.
There is one thing that is irking me though. I built the application with ReactJS as a Single Page App (SPA), and it's been deployed for about a month. But, it's still not showing up in Google Search. The application is not using Server Side Rendering.
I have tried a number of tricks to improve my chances of being found in Google Search. You can find previous articles of my attempts at Search Engine Optimization (SEO) here:
Both efforts have been effective, but neither have improved the conversion calculator's ranking in organic search on Google.
This led me to search for additional solutions to my ranking problem. Which led me to JSON-LD.
In summary, JSON-LD is a scripting language that you add to your page which helps the Google Search Engine more precisely understand what is on your page. It's in a JSON format. Here are some useful links:
The important thing to consider is Google's advice: "You should not create blank or empty pages just to hold structured data; nor should you add structured data about information that is not visible to the user, even if the information is accurate".
For a SPA, this advice can be problematic, because a lot of features may be "hidden" off screen within the logic of the application itself. My assumption is that "keyword stuffing" is just as naughty to do in an ld+json script as it is in a meta keywords tag in the header.
On the other hand, how does one teach the Google Search Engine about all the cool features in my freshly minted SPA without including all the keywords that match the features and functionality of the App?
To check how "effective" your json-ld is (according to Google), you can use this free tool:
My ld+json looks a little bit like this:
"name": "Conversion Calculator",
"description": "This is a free conversion calculator which converts between common units of length, temperature, volume, and weight.",
"description": "Use this application to help you convert between related units of measure, such as centimeters to feet, or celsius to fahrenheit."
"metric conversion calculator",
"unit conversion calculator",
At the moment, I have no strong advice. My SPA is still somewhere past page 40 in the Google Search Engine Index. The niche that it is in is very strongly represented by other similar applications. Gaining 'weight' in the search engine is going to be very tricky me thinks.
As I learn more, I'll share more.