Skip to content

/images directory

Files located within the /images directory will be publicly accessible at the base path /wp-content/images/. Additions, removals, or updates to files in the /images directory must be made through GitHub. These files can not be managed or accessed from within a site’s WordPress Media Library.

Though there is not a limit to the type of files that can be placed in the /images directory, the intended use for this directory is to store small image asset files such as site icons. Storing large amounts of files—or files with large sizes—in this directory can negatively affect the speed of deployment for an application’s code. Files that are larger in size—or that require access via WordPress—should be uploaded through WordPress and stored in the VIP File System.

Favicons and touch icons

Requests for a site’s favicon.ico or apple-touch-icon*.png variants are mapped to files sharing the same name (if they exist) within the /images directory of the application’s repository.

It is possible to serve unique variants of favicon.ico and apple-touch-icon*.png for each network site on a WordPress multisite that is launched with a unique domain name. Within the /images directory, create a directory named with the site’s domain and add the site’s favicon.ico or apple-touch-icon*.png variants to it. For example, favicon.ico for a network site with the domain subdomain.example.com should be located in the directory structure: /images/subdomain.example.com/favicon.ico

For sites that have a subdirectory structure for its Site Address URL (e.g., example.com/site-a), requests for favicon.ico or apple-touch-icon*.png are served files with matching names located at the path example.com/wp-content/images/[favicon.ico|apple-touch-icon*.png]

The specific order of lookup for requested favicon.ico or apple-touch-icon*.png files for a site is:

  1. wp-content/images/$http-host/[favicon.ico|apple-touch-icon*.png] (where $http_host is the network site’s domain name)
  2. wp-content/images/[favicon.ico|apple-touch-icon*.png]
  3. 16×16 transparent pixel

These fallbacks allow a 200 OK response to be returned instead of a 404 Not Found response. A 200 OK response is cached for 30 minutes, whereas a 404 Not Found response is only cached for 10 seconds.

Last updated: December 22, 2023

Relevant to

  • WordPress