Skip to content

Best Practices

Redis

By default, Genesis is developed with Redis in mind.

If you are new to using Redis, review Our Redis Guide.

Configuration

Ensure Redis is connected by going to the Store Settings > Cache Configuration.

Status should say Connected.

If you are unable to connect, work with TAC to ensure Redis is available on the server.

During development, you will want to turn off Redis Caching. Once live, confirm Redis is connected, and turned on.

Store Settings > Cache Settings

Add the following Settings, if they're not already there:

Name Type Mode Value
utm_campaign Parameter Don't Include in Cache Key
utm_content Parameter Don't Include in Cache Key
utm_medium Parameter Don't Include in Cache Key
utm_source Parameter Don't Include in Cache Key
utm_term Parameter Don't Include in Cache Key

Check with the client to see if there any other parameters they use for tracking purposes. This includes, but is not limited to:

  • Ad Parameters (Google, Bing, etc.)
  • Email Marketing Parameters
  • Affiliate Link/Marketing Parameters

Page Cache

By Default, all pages excluding INVC will have a cache level of Empty Baskets (Anonymous).

If you have a page that is used for API calls (this would be custom), you should consider setting those pages to Cache: Never.

An example of an API page would be a page that is loading in "Recently Viewed" items, or trigger an email (like sharing a wishlist).

Search Rule Configuration

By default, The Searchable Fields that will be enabled are:

  • Product Code
  • Product Name
  • Product SKU
  • Product Description

Any module that supports the fields_prod feature, will most likely support the search capability. For 3rd Party Modules, or older modules, this may not be the case.

Be careful with how many Searchable Fields you are enabling. The more you enable, the larger the SQL query becomes.

If you enable 25+ fields, that could cause some degradation when utilizing Miva's Native Search. Work with the client to be selective on what is and is not important to be searched, or see if some fields can be combined into 1.

Depending on the needs of the fields, you will want ensure the Search Type selected makes the best use of the field. By default, these are all set to Contains (Term).

We recommend only using Full Text Search to be used on fields where you don't need an exact string match (Example: Product Description, or Product Name). For all other fields, we recommend Contains (Term).

If you do need an exact match, use Exact Match. An example of this would be if a customer is used to typing in SKUs and is looking to get the exact SKU match in their search.

See more details here: Miva Docs - Expanded Search Rules