Friendly URLs configuration is one of most important factor for good SEO. Website without friendly URLs cannot rank well on search engines and will be on low positions.

What makes URL friendly?

There are certain characters you should avoid to have in your URLs, simply said “non-friendly URL characters”:

  • plus and equals signs: +, =
  • mail symbol: @
  • dollar sign: $
  • semicolons, colons, and commas: , . ; :
  • ampersand: &
  • forward slash (/) as part of a URL slug: green/dress, dark/grey, …
  • non-ASCII characters in the URL: نعناع, 杂货/薄荷, gemüse, 🦙✨, …
  • long IDs and meaningless numbers: 3a5ebc944f41daa6f849f730f1, 1121345879997412, …
  • underscores sign: _
  • words in URL joined togeter: greendress, contactaddress, selectprofile, …

Recommended characters and practice:

  • simple descriptive words
  • localized words
  • UTF-8 encoding when necessary (example for Chinese or Arabic characters in url): %D9%86%D8%B9%D9%86%D8%A7%D8%B9, gem%C3%BCse, %D8%A8%D9%82%D8%A7%D9%84%D8%A9, …
  • country-specific domain: .de, .cz, .hu, …
  • country-specific subdirectory with gTLD: /de/, /cz/, /hu/, …
  • hyphens word separator (not underscores): summer-clothing, color-profile, …

Osclass permalinks configuration

When you enable friendly URLs, it’s require to create (or update) .htaccess file in Osclass installation root directory to contain following block:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Note that in some cases hosting add extra lines into .htaccess file. It’s still OK and requirement is only to have this block of code inside .htaccess. Note that mod_rewrite must be enabled on your server.

Fine-tuning permalinks

Some parts of permalinks cannot be translated and are static. For this reason it’s best to optimize your pemalinks for language you are focusing. If you have primary focus in multiple languages, it is recommend to have multiple Osclass instalaltions on it’s own country-specific domains or subdomains.

Listing URL

Default: {CATEGORIES}/{ITEM_TITLE}-i{ITEM_ID}

Supported keywords: {ITEM_ID},{CATEGORIES},{CATEGORY},{ITEM_TITLE},{ITEM_COUNTRY},{ITEM_COUNTRY_CODE},{ITEM_REGION},{ITEM_CITY},{ITEM_CITY_AREA},{ITEM_ZIP},{ITEM_CONTACT_NAME},{ITEM_CONTACT_EMAIL},{ITEM_CURRENCY_CODE},{ITEM_PUB_DATE}

{ITEM_ID} is required element. Never remove it from URL structure. Osclass cannot identify listing based on Item title as this may not be unique.

Static page URL

Default: {PAGE_SLUG}-p{PAGE_ID}

Supported keywords: {PAGE_ID}, {PAGE_SLUG}. When not using {PAGE_ID}, add prefix before page slug to keep static page URLs unique, example: help/{PAGE_SLUG}.

{PAGE_ID} is not required, however if you decide to remove {PAGE_ID} from URL structure, you must add some static prefix to URL structure so Osclass can differentiate it from home & search page URLs.

Examples:

  • help/{PAGE_SLUG}
  • cms/{PAGE_SLUG}

Category page URL

Default: {CATEGORIES}

Supported keywords: {CATEGORY_ID},{CATEGORY_NAME},{CATEGORIES}

Other URL slugs

Make sure they are unique and never use same keyword/static slug for different pages!