Template:LD-Album: Difference between revisions

From Roovet Articles
Jump to navigation Jump to search
Created page with "<includeonly>{{#if:{{{name|}}}| {{#tag:script| { "@context": "https://schema.org", "@type": "MusicAlbum", "name": "{{{name}}}"{{#if:{{{datePublished|}}}|, "datePublished": "{{{datePublished}}}"}} {{#if:{{{artistName|}}}|, "byArtist": { "@type": "{{{artistType|MusicGroup}}}", "name": "{{{artistName}}}" }}} {{#if:{{{genre1|}}}|, "genre": ["{{{genre1}}}"{{#if:{{{genre2|}}}|, "{{{genre2}}}"}}{{#if:{{{genre3|}}}|, "{{{genre3}}}"}}{{#if:{{{genre4|}}}|, "{{{genr..."
 
mNo edit summary
 
Line 1: Line 1:
<includeonly>{{#if:{{{name|}}}|
<includeonly>{{#invoke:LD|album}}</includeonly>
{{#tag:script|
{
  "@context": "https://schema.org",
  "@type": "MusicAlbum",
  "name": "{{{name}}}"{{#if:{{{datePublished|}}}|,
  "datePublished": "{{{datePublished}}}"}}
  {{#if:{{{artistName|}}}|,
  "byArtist": { "@type": "{{{artistType|MusicGroup}}}", "name": "{{{artistName}}}" }}}
  {{#if:{{{genre1|}}}|,
  "genre": ["{{{genre1}}}"{{#if:{{{genre2|}}}|, "{{{genre2}}}"}}{{#if:{{{genre3|}}}|, "{{{genre3}}}"}}{{#if:{{{genre4|}}}|, "{{{genre4}}}"}}]}}
  {{#if:{{{recordLabel|}}}|,
  "recordLabel": { "@type": "Organization", "name": "{{{recordLabel}}}" }}}
  {{#if:{{{numTracks|}}}|,
  "numTracks": {{{numTracks}}}}}
  {{#if:{{{image|}}}|,
  "image": "{{{image}}}"}}
  {{#if:{{{inLanguage|}}}|,
  "inLanguage": "{{{inLanguage}}}"}}
  {{#if:{{{url|}}}|,
  "url": "{{{url}}}"}}
  {{#if:{{{sameAs1|}}}|,
  "sameAs": ["{{{sameAs1}}}"{{#if:{{{sameAs2|}}}|, "{{{sameAs2}}}"}}{{#if:{{{sameAs3|}}}|, "{{{sameAs3}}}"}}{{#if:{{{sameAs4|}}}|, "{{{sameAs4}}}"}}{{#if:{{{sameAs5|}}}|, "{{{sameAs5}}}"}}]}}
  {{#if:{{{identifier|}}}|,
  "identifier": "{{{identifier}}}"}}
}
| type=application/ld+json }}
}}</includeonly>
<noinclude>
<noinclude>
'''Template:LD-Album'''
Emits JSON-LD for a Schema.org MusicAlbum via [[Module:LD]].


Emits JSON-LD for Schema.org ''MusicAlbum''. Parameters:
'''Params'''
* <code>name</code> (required) – album title
; name (req) : Album title
* <code>datePublished</code> – YYYY-MM-DD
; datePublished : YYYY-MM-DD
* <code>artistName</code> – artist or group display name
; artistName : Display name
* <code>artistType</code> – ''MusicGroup'' (default) or ''Person''
; artistType : ''MusicGroup'' (default) or ''Person''
* <code>genre1..genre4</code> – up to 4 genres
; genre / genre1..genre6 : One or many
* <code>recordLabel</code> – label/org name
; recordLabel : Organization name
* <code>numTracks</code> – integer
; numTracks : Integer
* <code>image</code> – absolute URL to cover image
; image : Absolute URL
* <code>inLanguage</code> – e.g., ''en''
; inLanguage : e.g., en
* <code>url</code> – canonical page URL
; url : Canonical page URL (defaults to current page)
* <code>sameAs1..sameAs5</code> – external profile/streaming links
; sameAs1..sameAs10 : External profile/streaming links
* <code>identifier</code> – optional ID string
; identifier : Optional ID string
 
Usage example:
<pre>
{{LD-Album
| name=Red Rose
| datePublished=2025-02-07
| artistName=Tribal Young Brown
| artistType=MusicGroup
| genre1=Hip hop
| genre2=Trap
| recordLabel=Roovet Records
| numTracks=11
| image=https://roovet.com/path/to/red-rose-cover.jpg
| inLanguage=en
| url={{FULLURL:{{PAGENAME}}}}
| sameAs1=https://open.spotify.com/artist/XXXX
| sameAs2=https://music.apple.com/album/YYYY
}}
</pre>
 
Place near the top of the album page (under the shortdesc). Purge the page and re-test in Google's Rich Results Test.
</noinclude>
</noinclude>

Latest revision as of 03:21, 25 August 2025


Emits JSON-LD for a Schema.org MusicAlbum via Module:LD.

Params

name (req)
Album title
datePublished
YYYY-MM-DD
artistName
Display name
artistType
MusicGroup (default) or Person
genre / genre1..genre6
One or many
recordLabel
Organization name
numTracks
Integer
image
Absolute URL
inLanguage
e.g., en
url
Canonical page URL (defaults to current page)
sameAs1..sameAs10
External profile/streaming links
identifier
Optional ID string