There are a number of types of pages that are used repeatedly on MDN. This article describes these page types, their purposes, and gives examples of each.
There are three broad categories of page types on MDN, though some page types fall into more than one category.
- Reference pages describe the details of something, and are organized according to the structure of the thing described.
- Guide pages describe how to do something or use something, and are organized based on the goals of the reader.
- Navigation pages exist primarily to provide links to other pages, usually about related topics.
API landing page
An API landing page provides an overview of what a particular API does, then contains links to the documentation for each of the interfaces, globals, functions, etc. offered by the API. It does not link directly to specific methods or properties within the API's classes, except in the context of the overview text. It is primarily a navigation page, but also functions as an at-a-glance reference page for the API.
API reference page
Note: Also known as an Interface landing page.
An API reference page lists all the methods, properties, events, and so forth, belonging to a particular interface or class. It provides an overview of what the class or interface does or is used for, and gives links to the documentation for each of these members. It is more granular than an API landing page, which typically links to multiple API reference pages.
API reference subpage
An API reference subpage is a child of an API reference page. It documents a single member in detail.
count()method of the IDBIndex interface (part of the IndexedDB API)
- capabilities property of the VRDisplay interface (part of the WebVR API)
- Request() constructor of the Request interface (part of the Fetch API)
- onvrdisplaypresentchange event handler (part of the WebVR API, which hangs off the Window) interface
HTML element reference page
An HTML reference page lists all the attributes that are available on an HTML element, explains the element's purpose and usage, and provides examples, browser compat information, and other important data.
SVG element reference page
An SVG reference page lists all the attributes that are available on an SVG element, explains the element's purpose and usage, and provides examples, browser compat information, and other important data.
CSS feature reference page
A CSS reference page lists all the available syntax for a CSS feature such as a selector or property, and explains the feature's purpose and usage. It also provides examples, browser compat information, and other important data.
HTTP header reference page
An HTTP header reference page lists all the available directives that an HTTP header can contain, and explains the header's purpose and usage. It also provides examples, browser compat information, and other important data.
A conceptual page is a guide page that explains or teaches something. Generally, if a page contains primarily prose, and doesn't fall into another page type, it's probably a conceptual page. An extended discussion of a topic might be spread across multiple conceptual pages, and linked using Next and Previous macros.
A glossary page contains a brief explanation of a term, topic, or concept. The first paragraph should be a simple, self-contained description of the term, no more than a couple sentences. This can be followed by links to further information in the Learn more section. If the page grows to more than a screenful or so, it's too long, and should be converted to a conceptual page. See How to write and reference an entry in the glossary for more details.
A landing page serves as a menu, of sorts, for its subpages, and is therefore primarily a navigation page. A landing page layout is typically used for the root page of a tree of pages about a particular topic. It opens with a brief summary of the topic, then presents a structured list of links to its subpages, and optionally, additional material that be useful to the reader.
The list of subpages can be generated automatically using the templates
LandingPageListSubPages. However, in more complex cases, the list may need to be created (and maintained!) by hand.