Future Media Standards & Guidelines

File Serving Standard v0.1

1. Introduction

This standard describes how youd should name and serve files on www.bbc.co.uk in order to achieve the best performance and avoid stressing our servers.

2. Files and directories

2.1 All file and directory names (including file extensions) MUST be in lowercase and SHOULD NOT be overly long.A1

2.2 Non-alphanumeric characters MUST NOT be used in filenames, except for underscores, which MAY be used to separate words.

2.3 Underscores MUST NOT be used in top-level directory names and SHOULD NOT be used in other directory names.A2

2.4 Files MUST obey the File Extensions Standards.

2.5 Top-level directory names MUST follow the URL Requirements Standard.

2.6 Directories MUST NOT contain more than 1000 files or folders. If you have more than this, create sub-directories.

2.7 All files over 500KB MUST be served from downloads.bbc.co.uk UNLESS they are A⁄V media files. For serving of A⁄V Media files refer to the Audio Video Standard.

2.8 Files between 32KB and 500KB MUST NOT be uploaded to downloads.bbc.co.uk UNLESS they are part of a single deployment bundle (i.e. a collection of assets produced by one application or used by one application to fulfil the same requirement) that also contains files of 500KB or greater, where technical constraints mean the files must reside on the same server to operate.

Small files that are not media assets and are likely to receive large numbers of client requests (e.g. >1⁄s avg. with 20⁄s peak) MUST NOT be used on this platform and should remain on www.bbc.co.uk.

2.9 You MUST NOT link to a default filename, such as "index.shtml" (or "default.stm" on Journalism's platform).A3

2.10 You MUST include a trailing slash "⁄" to avoid the need for redirection UNLESS you are linking to an application that redirects to a URL without the trailing "⁄" (such as ⁄programmes or ⁄music), in which case the trailing "⁄" MUST be omitted. For example:

  • Use www.bbc.co.uk⁄food⁄ rather than www.bbc.co.uk⁄food⁄index.shtml or www.bbc.co.uk⁄food; and
  • Use www.bbc.co.uk⁄bbcthree⁄programmes⁄genres⁄drama NOT www.bbc.co.uk⁄bbcthree⁄programmes⁄genres⁄drama⁄.

2.11 Site addresses MUST have a single, final destination with or without a trailing "⁄", but not both as this will adversely affect SEO.

How note: Unless you are creating an application with its own redirects (like /programmes), this is handled automatically in Apache.

Top of page

3. 404s and other errors

3.1 You MUST NOT cause/allow 404 errors to appear on bbc.co.uk.

3.2 You MUST NOT cause/allow server-side include (SSI) errors to appear on bbc.co.uk.

3.3 You MUST NOT disguise/hide SSI errors, using the config errmsg control.

3.4 You MUST NOT cause SSI errors by design as a function of your site.

3.5 Customised error pages MUST have a minimal download size and SHOULD provide additional local help to the standard error page for bbc.co.uk.

3.6 You MUST NOT link to any single BBC server, www.4j3f.bbc.co.uk in any link. This will not work from outside the BBC and will present a 404 error to the user.

Top of page

Appendix A: Why

  • A1. Using mixed case can cause conflicts when files are transposed between file systems
  • A2. Top-level directory names are used to market bbc.co.uk sites and are advertised on Ceefax, which cannot display underscores. This is also about maintaining consistency and readability of links in pages where the underscore can be hidden by the underscore applied to a link.
  • A3. Search engines can (and do) index a page labelled /foo/index.shtml separately from the same page at /foo/. This looses us 'google juice' and reduces your ranking.

BBC © 2014 The BBC is not responsible for the content of external sites. Read more.

This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.