The term “index” has a number of definitions in computing: it may refer to a website’s index directory listing, a search engine’s index, or a database index.
And this variation means that “index” can be a complex term for newcomers to grasp. But we’re here to help with this simple guide.
What does index actually mean?
Index is a universal term applied to information organized as a structured list. You might find this in the back of a nonfiction book (e.g. an encyclopedia): the aim is to help you find the details you’re looking for quickly and easily.
An index serves a similar role in computing and IT: bringing users a summary of items found within a data container, for easy reference.
But as there are various data container types, “index” can be used in the following contexts:
A website index serves two functions: it’s a directory of the folders and files under a specific domain when no website has been made for it, or it’s a file for a website’s first page.
If you have registered your domain but still have no website for it yet, you’ll find a white page titled “Index of” when you open it in a browser. This lists the domain’s default main directory.
Uploading the contents of your future website to the directory (as files and folders), without making an index.html file, will mean that you keep seeing the same page. The only difference will be that every file and directory uploaded to the domain will be shown online.
The page will contain each directory or file’s name, as well as other details (relating to the upload date, size, a description). The index provides an overview of a website’s contents, even if the site isn’t ready to welcome visitors yet.
If you want to switch the /index of your new site with the page you want to display online upon typing your domain into the browser, you’ll need an index.html file. This is your website’s “face”: it features all the information presented on the homepage.
Its name is taken from the fact that the file provides visitors with an overview of the website’s reason for existing and contents, offering links for navigation (navigation menu) and visual references (banners) to the site’s internal pages.
Due to the dynamic sites server technology, using server-side scripts (such as Perl, PHP, ASP, etc.) and the latest HTTP servers (e.g. Apache web server), an index file may appear in numerous forms. These include index.shtml, index.php, default.asp, and more.
The index file’s actual extension depends on the server-side script that serves as the backbone of the website. For PHP-based sites, the file will be titled index.php: this allows for dynamic content to be utilized on the index page.
Databases have indexes too, as they’re responsible for the storage and management of dynamic sites’ content.
A database index represents a data structure intended to boost a database table’s operational speed. You can build your index with database columns, in which you need to specify names for all key fields that define the structure of the table.
Certain advanced databases (such as MySQL, PostgreSQL) enable more advanced indexing according to specific predefined conditions.
What does a database index look like?
CREATE INDEX part_of_name ON customer (name(10));
Search engine index
Indexing is responsible for your website’s presence on a search engine result page. The contents will be scanned by a search engine bot when it detects the site, and these are entered into the database of websites that have been scanned already (the index).
Search engine (or web) indexing’s main purpose is to ensure that users can find content (text, audio, video, pictures) they’re looking for with the utmost accuracy. This revolves around keywords: when you enter certain ones into a search engine, related results will be returned within seconds.
This is because the search bot has scanned the documents already and organized them into an ordered list, based on keyword relevance. As no index has been made in advance, the search engine will need to perform a live scan of the pages to determine their rank — a process that could take hours.