From Seobility Wiki
Jump to: navigation, search


As its name suggests, a permalink is a permanent hyperlink or URL address that identifies a web page. These links are often generated automatically when using a CMS (content management system) or a blogging platform. As such their use is particularly common in blog sites, although by no means exclusive to them.

A permalink typically consists of two parts: one is the domain name and the other appears after the domain and is known as the slug. For example, in, the slug would be the part that comes after the forward slash. The slug is made up of a string of characters, which can be words or numbers. If they are words, they usually refer to the page name or blog post title. If they are numbers, they often make reference to the date a link was created or to the ID number assigned to the link by a CMS or by a scripting language.

Difference between permalinks and dynamic links

Figure: Permalinks - Author: Seobility - License: CC BY-SA 4.0

A permalink is a static link, which means that its URL address remains unchanged over time. These links keep their name and structure even if changes are made to the content of the page they identify. For instance, in, the URL would remain unchanged even if you edited the content of the blog’s homepage.

By contrast, a dynamic link contains variable parameters. Dynamically generated links are usually created by scripts that have the ability to create database queries. Another difference is that these links tend to be longer than permanent links. In some cases, the URL address will be so long that it is cut off in search results and returns a 404 error if a user tries to open the page by copying and pasting the link address. Moreover, and unlike permanent links, dynamic links often include non- alphanumeric characters, such as %, &, ?, or +.

Permalinks in blogs

Permalinks are a common feature in blog sites, although their appearance may vary. For example, a typical URL address for a blog would be:

For a standalone blog (not associated with a parent website), a typical URL address would look like this:

Within the first example, a permalink leading to a blog article would be:

In the second example, the URL permalink would be:

Two of the most common types of blog permalinks are:

Links describing content, where the string of text after blog/ matches the blog post’s title:
Links with an ID, such as:

In this case, ‘artid1’ refers to the blog post’s ID number that appears in the database where blog content is stored.

Generally, a semantic description with relevant keywords is often the first choice, depending on the content management system you use. For websites with lots of pages, this can be supplemented by generic number combinations.

In WordPress, for example, the permalink for a new article can be edited right below the title:

Permalinks in WordPress

Screenshot of WordPress

Correct permalink structure and importance for SEO

As a site owner, you should make every effort to ensure permalinks are SEO friendly. This is so because search engines take the URL of a web page into account for indexing and ranking. Moreover, an SEO-friendly permalink is easier to remember for website users, and since visitors can easily get an idea about the content, these permalinks are likely to generate higher click-through rates.

When changing the permalink of a web page for SEO purposes, it is important to add a 301 redirect from the old URL to the new one. If using a content management system, this can usually be done via the permalink settings option. Otherwise, it is possible to redirect a permalink via the .htaccess file.

To improve SEO performance, permalinks should be structured following these recommendations:

  • They should be simple, descriptive, and easy to read.
  • Keywords that are relevant to searches of potential site visitors should appear and be placed in the first few words of the permalink.
  • Ideally, they should have no more than 5 words and contain no stop words.
  • Words should be separated by hyphens, not underscores. Search engines treat hyphens as word delimiters, which is not the case with underscores.

Related links

Similar articles