What is MIME type "application/ld+json"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
application/ld+json is a MIME type for files that use JSON-LD, which stands for JSON for Linked Data. It is a lightweight format to express structured metadata.
This MIME type tells programs that the JSON file contains linked data information. The data is both human- and machine-readable. It helps systems understand relationships and meanings behind data elements.
- Semantic Web: It adds context to data and improves content discovery.
- Data Integration: It connects data from different sources by using URIs.
- Metadata Packaging: It is used in research workflows, such as RO-CRATE, to bundle data with detailed descriptions.
Files using this MIME type often have names with extensions like JSON and JSONLD. They package data in a way that programs can easily share and reuse information.
For more technical details, visit the JSON-LD website.
Associated file extensions
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: application/ld+json
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="application/ld+json">Download file</a>
Server-side (Node.js)
Setting the Content-Type header in Node.js:
const http = require('http');
http.createServer((req, res) => {
res.setHeader('Content-Type', 'application/ld+json');
res.end('Content here');
}).listen(3000);
Associated file extensions
FAQs
How do I embed application/ld+json in an HTML document?
You should wrap the data in a <script> tag with the attribute type="application/ld+json". This script block can be placed in either the <head> or <body> section of your webpage, allowing search engines to easily extract structured data without affecting the visual presentation.
What is the difference between application/json and application/ld+json?
While both use standard JSON syntax, application/ld+json specifically indicates Linked Data. It tells parsers to expect semantic keys like @context and @type that define relationships between data points, whereas generic application/json does not imply any specific semantic structure.
Why is application/ld+json important for SEO?
Google and other search engines explicitly recommend using application/ld+json for Structured Data. It allows crawlers to understand the content of a page (such as recipes, events, or products) to generate Rich Results and Knowledge Graph entries more reliably than microdata mixed into HTML tags.
How do I configure my web server to serve .jsonld files correctly?
You must ensure the server sends the correct Content-Type header. For Apache, add AddType application/ld+json .jsonld to your configuration. For Nginx, add application/ld+json jsonld; to your mime.types file to ensure browsers and API clients interpret the file as Linked Data.
Can I use the .json extension for application/ld+json?
Yes, but it is not the standard practice for standalone Linked Data files. If you use a generic .json extension, the server might default to application/json. To ensure correct processing, it is better to use the .jsonld extension or explicitly configure the server to send the application/ld+json MIME type.
How can I validate if my application/ld+json code is correct?
You can use the JSON-LD Playground to test the syntax and the Google Rich Results Test to check for SEO compliance. These tools verify that your syntax is valid JSON and that the Linked Data structure (schema.org definitions) is correctly implemented.
General FAQ
What is a MIME type?
A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.
MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.
MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.
How do I find the MIME type for a file?
You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.
Why are multiple MIME types listed for one extension?
Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.