> For the complete documentation index, see [llms.txt](https://ctracker-docs.keywordrush.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ctracker-docs.keywordrush.com/shops-and-cashback-rates/shop-pages.md).

# Shop pages

A shop page is an ordinary WordPress post of the **Cashback shop** type. It has a title, a slug, a featured image, a description and categories; it appears in menus and searches; and your theme wraps it like anything else.

What makes it a shop page is a pair of hidden fields binding it to a shop at a network. Everything the page states about cashback — the rate, the tracking link, the approval time — is read through that binding.

### One page per shop

Cashback Tracker keeps one page per shop, per network. The Shop catalog creates them for you in bulk — see [Creating shop pages in bulk](/shops-and-cashback-rates/creating-shop-pages-in-bulk.md) — and you can add one by hand whenever a shop needs a page before its network has been set up.

### What the page shows

The page assembles itself from small parts:

* the shop's **logo, name and rating**
* the **cashback rate**, or on a coupon site the best current offer
* the **Go to shop** button, which is the tracked affiliate click
* a **facts list** — approval time, categories, the shop's website
* **coupon highlights**, when the shop has coupons
* **terms and exclusions**, if you have written them
* the **description** you wrote, with coupons below it
* **member reviews**
* **related shops**

Each appears only when there is something to show. A shop with no categories has no breadcrumb tail; one with no coupons has no highlights block; one you have written no terms for has no terms section.

{% hint style="info" %}
Two of the sidebar slots ship **empty on purpose** — the one that would say *How it works*, and the one that would list your payout methods. Both are claims about your site rather than the shop's, and a sentence you cannot edit from wp-admin is worse than none. A developer can fill either with one filter: [Adding your own blocks to a shop page](/for-developers/shop-page-blocks.md).
{% endhint %}

![A shop page: rate, tracking button, description, coupons and reviews](https://3545740495-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M69sU0hfZj3QsteYxmI%2Fuploads%2Fgit-blob-80e1305008b607cbeccba94759c42da32fa5c777%2Fshop-page-full.webp?alt=media)

### Two layouts

`Settings` → `Storefront` → **Shop page layout** chooses between:

|                   |                                                                                                        |
| ----------------- | ------------------------------------------------------------------------------------------------------ |
| **Sidebar panel** | The logo, rate and button sit in a card beside the content, and follow you down the page as you scroll |
| **Hero band**     | The same three sit in a band across the top, with content on the left and a support rail on the right  |

Both draw exactly the same things — only the arrangement differs. Switching is safe at any time and changes no data.

A developer can vary it per shop or per category with the `cbtrkr_shop_layout` filter.

![The two shop page layouts](https://3545740495-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M69sU0hfZj3QsteYxmI%2Fuploads%2Fgit-blob-2d90849d6e5a24668ec75c9e7c35bffc4f9aa763%2Fshop-page-layouts.webp?alt=media)

### Adding one by hand

`Cashback Tracker` → `Shops` → **Add new**.

| Field               | Notes                                                                                                                                                                                                                         |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Title**           | What visitors see. New pages are named from a template you set — by default *`%NAME%` Cashback*                                                                                                                               |
| **Featured image**  | The shop's logo. Many imported shops arrive without one, and a page without it simply shows the shop's name. A [logo service](/shops-and-cashback-rates/shop-logos.md) can fill these in, and refresh the low-resolution ones |
| **Content**         | Your description. Coupons are added below it automatically                                                                                                                                                                    |
| **Shop categories** | Drives the directory filters, the breadcrumb, and which shops appear as related                                                                                                                                               |
| **Shop Info**       | The binding and the display fields — see [Shop info: every field](/shops-and-cashback-rates/shop-info-reference.md)                                                                                                           |

The two fields that matter most in **Shop Info** are **Module ID** and **Shop ID at the network**. Without both, the page renders as a plain post: no rate, no tracking link, no coupons.

{% hint style="warning" %}
**Two pages cannot share one shop.** Bind a second page to a shop that already has one and the field is cleared on save, rather than creating a duplicate that would split the shop's coupons and reviews between two URLs.
{% endhint %}

### Categories are worth filling in

They do more than the directory filter suggests:

* the **breadcrumb** at the top of the page
* the **related shops** block, which prefers shops sharing a category and falls back to popular ones only when it must
* the **category archives** themselves

A shop with no categories still works — the related block just says *Popular shops* instead of *More in Fashion*.

### The relationship with the advertiser record

The page and the network's record are two different things.

The **advertiser record** is what the network told us: name, domain, logo, commission, deep link. It is refreshed on a schedule and your edits to it would be overwritten.

The **page** is yours. Anything you fill in under Shop Info overrides the network's value for display, permanently — so a shop whose network name is `ACME-INTL-US` can be called `Acme` on your site without the next refresh undoing it.

Delete the page and the advertiser record survives; the shop simply has no page until you make another.

### Related

* [The Shop catalog](/shops-and-cashback-rates/shop-catalog.md)
* [Creating shop pages in bulk](/shops-and-cashback-rates/creating-shop-pages-in-bulk.md)
* [Shop info: every field](/shops-and-cashback-rates/shop-info-reference.md)
* [Cashback rates](/shops-and-cashback-rates/cashback-rates.md)
* [Adding your own blocks to a shop page](/for-developers/shop-page-blocks.md)
