numTracks
numTracks · Not mentioned by Google
Appears in
What is it?
numTracks states how many tracks are on a music album or playlist. It gives search engines a quick count without requiring them to parse the full track listing. This is a simple integer property inherited from MusicPlaylist.
Why this matters for AEO
When a user asks "how many songs are on [album name]," AI engines can pull numTracks directly from structured data to answer without scraping page content. This field also helps AI assistants compare albums ("which Radiohead album has the most tracks?") by providing a machine-readable value.
What the specs say
Schema.org: Integer. Applies to MusicPlaylist (inherited by MusicAlbum). "The number of tracks in this album or playlist." schema.org/numTracks
Google: Not mentioned. No dedicated Google structured data documentation exists for MusicAlbum or MusicPlaylist.
How to find your value
- Album liner notes — Track listing count
- Streaming platforms — Spotify, Apple Music, and Tidal show track counts on album pages
- Music database — Discogs, MusicBrainz, or AllMusic
- Your CMS — Count the items in your track listing collection
Format and code
numTracks accepts an integer value. Pass it as a string in JSON-LD (schema.org convention for integers).
{
"@context": "https://schema.org",
"@type": "MusicAlbum",
"name": "King of Limbs",
"byArtist": {
"@type": "MusicGroup",
"name": "Radiohead"
},
"numTracks": "8"
}
Valid values:
"8"(string integer)8(raw integer, also accepted)
Invalid values:
"eight"(text, not an integer)"8 tracks"(includes unit text)
Webflow implementation
Static pages
Add the JSON-LD in Page Settings > Custom Code > Head Code:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "MusicAlbum",
"name": "Album Name",
"byArtist": {
"@type": "MusicGroup",
"name": "Artist Name"
},
"numTracks": "12"
}
</script>
CMS template pages
If your Webflow CMS has a number field for track count:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "MusicAlbum",
"name": "{{wf {"path":"name","type":"PlainText"} }}",
"byArtist": {
"@type": "MusicGroup",
"name": "{{wf {"path":"artist-name","type":"PlainText"} }}"
},
"numTracks": "{{wf {"path":"track-count","type":"PlainText"} }}"
}
</script>
In Schema HQ
Field mapping pulls CMS number field to numTracks when generating MusicAlbum markup, outputting the correct integer format automatically.
Real examples
Radiohead (from schema.org/MusicAlbum):
{
"@context": "https://schema.org",
"@type": "MusicAlbum",
"byArtist": {
"@type": "MusicGroup",
"name": "Radiohead"
},
"genre": "Alt/Punk",
"image": "king-of-limbs.jpg",
"name": "King of Limbs",
"numTracks": "8",
"track": [
{
"@type": "MusicRecording",
"duration": "PT5M14S",
"name": "Bloom",
"url": "/artist/radiohead/album/the-king-of-limbs/track/bloom"
}
]
}
Related fields
FAQ
Should numTracks match the number of items in the track array?
Yes. If you list individual tracks using the track property, numTracks should equal the total count. Mismatches confuse parsers and may signal incomplete data to search engines.
Is numTracks required for MusicAlbum markup?
No. It is optional and not referenced in any Google documentation. Including it adds a quick-reference data point that AI engines and music aggregators can use without counting the full track listing.