This factor reports whether a page’s raw HTML contains a JSON-LD @type of MusicRecording: it returns 1 when the string is present and 0 when it is not. It is a text-level presence check on source, not a guarantee that the structured data forms a valid graph.
| Factor ID | RG-SCJ-168 |
|---|---|
| Family | Structured Data — JSON-LD |
| Measurement | Binary presence (0 / 1) |
| Measured zone | Raw rendered HTML |
What it measures
This factor reports whether RankGear finds an @type value of MusicRecording in a page’s raw source. It answers a single yes/no question — is a MusicRecording schema type declared anywhere in the HTML — and returns 1 for present or 0 for absent.
How RankGear measures it
RankGear searches the raw HTML for the @type declaration "@type": "MusicRecording", allowing flexible whitespace around the colon and quotes and optionally permitting a schema: prefix on the type value. Matching is case-insensitive, so differences in capitalization do not change the result.
What RankGear looks for
"@type": "MusicRecording"
"@type": "schema:MusicRecording" <!-- prefix allowed -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "MusicRecording",
"name": "Track title",
"byArtist": { "@type": "MusicGroup", "name": "Artist" },
"duration": "PT3M42S"
}
</script>| Value | Meaning |
|---|---|
| 1 | A MusicRecording @type string was found in the raw HTML. |
| 0 | No MusicRecording @type string was found. |
How to optimize it
Use MusicRecording only for a genuine recording, and describe it with accurate artist, composition, album, duration, identifiers, and listening or offer details. Ensure every property reflects content users can verify on the page. Treat the score as an observation about what your markup declares rather than a target to force — adding the type where no real recording exists gives you a 1 with no substance behind it.
Important considerations
- The detector pattern-matches source text; it does not validate that the surrounding markup forms a well-formed JSON-LD graph.
- A matching string that sits outside valid JSON-LD — in a comment, a code sample, or an unrelated script — can still produce a 1.
- Capitalization differences do not affect detection, since matching is case-insensitive.
- Validate the complete structured data independently with a schema validator; a 1 here confirms presence of the string, not correctness.
- This is a correlation-based prioritization signal within a measured result set. Presence of the type does not by itself make a page rank or guarantee a position.
Related factors
Part of the Factors reference · how RankGear measures · glossary.