Diff -- /var/www/vhosts/3dshawn.com/repricer.3dshawn.com/TEMPLATES/repricer_admin_seo.html

O Operator
Diff

/var/www/vhosts/3dshawn.com/repricer.3dshawn.com/TEMPLATES/repricer_admin_seo.html

added on local at 2026-07-01 21:47:22

Added
+105
lines
Removed
-0
lines
Context
0
unchanged
Blobs
from
to 4716bde456b9
Restore this content →
Unified diff
Naive LCS-based line diff. Additions in emerald, deletions in rose. Both sides decompressed live from BLOB_STORE.
1<!-- =====================================================================
2 Admin SEO -- platform-wide SEO + Open Graph + Twitter Card.
3 Drives every page that does not have its own per-storefront SEO row.
4===================================================================== -->
5
6<div class="page-head">
7 <div>
8 <span class="page-eyebrow"><span class="dot"></span> Admin &middot; Platform SEO</span>
9 <h1 class="page-title">Platform SEO &amp; social cards</h1>
10 <p class="page-subtitle">Set the title, description, keywords, and social-share defaults for the RePricer marketing pages and dashboard. Per-storefront settings on each seller's <code>/storefront_seo.cgi</code> page override these for their own pages.</p>
11 </div>
12</div>
13
14[if:$has_flash]
15<div class="pr-flash $flash_kind">$flash_msg</div>
16[/if]
17
18[if:$schema_missing]
19<div class="an-banner" style="background:rgba(245,158,11,0.10);border-color:rgba(245,158,11,0.30)">
20 <strong>platform_settings table not yet installed.</strong> Run the latest <code>db_schema.sql</code> against the database.
21</div>
22[/if]
23
24[if:$schema_ready]
25<div class="seo-grid">
26 <form method="POST" action="/admin_seo.cgi" class="pr-form">
27 <input type="hidden" name="act" value="save">
28 <div class="pr-form-grid">
29 <div class="pr-field full">
30 <label>Default page title</label>
31 <input type="text" name="seo_title" maxlength="160" value="$seo_title" placeholder="RePricer - Sell products on your own storefront">
32 <div class="hint">Used for every dashboard / marketing page that does not have its own override.</div>
33 </div>
34
35 <div class="pr-field full">
36 <label>Default meta description</label>
37 <textarea name="seo_description" maxlength="320">$seo_description</textarea>
38 <div class="hint">~150&ndash;160 characters. Should clearly state what RePricer is and who it is for.</div>
39 </div>
40
41 <div class="pr-field full">
42 <label>Default keywords</label>
43 <input type="text" name="seo_keywords" maxlength="255" value="$seo_keywords" placeholder="e-commerce, sku marketplace, repricing platform">
44 <div class="hint">Comma-separated. Used as fallback for storefronts that have not set their own.</div>
45 </div>
46
47 <div class="pr-field">
48 <label>Canonical base URL</label>
49 <input type="text" name="seo_canonical_base" maxlength="255" value="$seo_canonical_base" placeholder="https://repricer.com">
50 <div class="hint">Production root URL. Used to build canonical links on every page.</div>
51 </div>
52
53 <div class="pr-field">
54 <label>Allow search engines to index the platform</label>
55 <label class="pr-radio" style="display:inline-flex"><input type="checkbox" name="seo_robots_index" value="1"[if:$is_robots_on] checked[/if]> Show in Google, Bing, etc.</label>
56 <div class="hint">Untick to add <code>noindex, nofollow</code> across every page that does not override.</div>
57 </div>
58
59 <div class="pr-field full">
60 <label>Default social share image</label>
61 <input type="text" name="seo_og_image" maxlength="255" value="$seo_og_image" placeholder="/Logo.png">
62 <div class="hint">Shown when RePricer URLs are pasted into Facebook, Discord, Slack, X/Twitter, iMessage. 1200&times;630 works everywhere.</div>
63 </div>
64
65 <div class="pr-field">
66 <label>Open Graph site name</label>
67 <input type="text" name="seo_og_site_name" maxlength="120" value="$seo_og_site_name" placeholder="RePricer">
68 </div>
69
70 <div class="pr-field">
71 <label>Twitter / X card style</label>
72 <select name="seo_twitter_card">
73 <option value="summary_large_image"[if:$is_card_large] selected[/if]>Large image (recommended)</option>
74 <option value="summary"[if:$is_card_summary] selected[/if]>Compact summary</option>
75 </select>
76 </div>
77
78 <div class="pr-field">
79 <label>Platform Twitter / X handle</label>
80 <input type="text" name="seo_twitter_site" maxlength="64" value="$seo_twitter_site" placeholder="@repricer">
81 <div class="hint">Adds attribution when RePricer URLs are shared on X.</div>
82 </div>
83 </div>
84
85 <div class="pr-actions">
86 <button type="submit" class="btn btn-primary">Save platform SEO</button>
87 <a href="/admin.cgi" class="btn btn-secondary">Back to admin</a>
88 </div>
89 </form>
90
91 <aside class="seo-preview">
92 <div class="seo-preview-head">Search preview</div>
93 <div class="seo-preview-card">
94 <div class="seo-preview-url">$preview_url</div>
95 <div class="seo-preview-title">$preview_title</div>
96 <div class="seo-preview-desc">$preview_desc</div>
97 </div>
98 <div class="seo-preview-note">
99 These are the defaults that apply across the dashboard and marketing pages. Each seller can override their own storefront page via <code>/storefront_seo.cgi</code>.
100 </div>
101 </aside>
102</div>
103[/if]
104
105<div class="adm-foot-spacer" data-end="admin-seo">&nbsp;</div>