Archive checks
ZIP signature, archive size, file count, compression ratio, root index.html, and readable archive entries are checked first.
Landing pages
Uplinkly can host your static campaign landings and connect them to branded short links, so a campaign can open an uploaded landing page instead of redirecting only to an external URL.
A hosted landing is a static landing page archive uploaded into your Uplinkly account. After the archive is validated and saved, it can be selected as the destination for a short link. When visitors open that short link, Uplinkly serves the landing page tied to that link.
This is useful when you want to keep campaign pages closer to your branded link workflow, preview and edit landing assets in one place, and avoid rebuilding an entire archive every time a small HTML, CSS, JavaScript, or image change is needed.
Uplinkly currently supports classic static builds: HTML, CSS, JavaScript, images, fonts, JSON, SVG, and related assets. Server-side code is not supported inside uploaded landing archives.
Upload landings as ZIP archives. The archive must contain an index.html file in the root folder. Related assets can be placed in nested folders.
landing.zip |-- index.html |-- assets/ | |-- style.css | |-- app.js | `-- images/ | `-- hero.webp `-- favicon.ico
The public landing binding uses the generated landing ID. The optional slug is an internal alias that helps you organize landings inside your dashboard.
Uplinkly treats every uploaded landing as untrusted input. Before a landing is saved, the platform validates the archive structure, file paths, file types, sizes, binary signatures, and suspicious text patterns. The landing is stored only after these checks pass.
ZIP signature, archive size, file count, compression ratio, root index.html, and readable archive entries are checked first.
Unsafe paths, directory traversal, absolute paths, hidden system files, and symlink-like entries are rejected to keep extraction controlled.
Static web assets are allowed. Server-side scripts, executables, archives inside archives, databases, keys, certificates, and large media files are blocked.
Text assets are scanned for risky patterns such as server-side code markers, dangerous protocols, suspicious payloads, and high-risk script injection patterns.
Landing validation is designed to protect both the platform infrastructure and the user workspace. Even if a landing archive was downloaded from another tracking system, marketplace, template pack, or traffic tool, Uplinkly still checks it before allowing it to be stored and served.
The filter system is intentionally conservative around server-side execution, executable files, unsafe paths, nested archives, private credentials, and suspicious code patterns. At the same time, the filters are refined against real landing examples to reduce false positives for normal static landing behavior.
No automated filter can promise perfect detection of every possible threat. Uplinkly combines strict validation rules, file inspection, safe extraction behavior, and continuous filter improvements to reduce risk before a landing is accepted.
Uplinkly uses AI-assisted analysis during filter improvement work. Real-world landing patterns are reviewed to better separate common static landing techniques from risky or malicious behavior. This helps the validation layer become more practical over time: stricter where it matters, and less noisy where legitimate landing code is common.
AI is used as a support tool for research and rule refinement, not as a blind approval mechanism. Final validation still depends on deterministic server-side checks and controlled backend rules before a landing is saved.
After a landing is uploaded, you can open it in the landing editor. The editor lets you update index.html, CSS, JavaScript, JSON, SVG, and other editable text files. You can also upload replacement assets, add new files, and remove files that are no longer needed.
Edits are not trusted automatically. When files are changed, uploaded, or deleted, the final landing state is validated again before the changes are saved. This prevents a previously valid landing from becoming unsafe after editing.
When creating a short link, paid users can choose whether the destination is a regular URL or one of their uploaded landings. If a landing is selected, the short link opens the hosted landing instead of redirecting to a full external link.
Uplinkly landings can use the {trackingdomain} placeholder for campaign
goal events. When a short link opens a hosted landing, Uplinkly replaces the placeholder
with the tracking endpoint for that link.
fetch('{trackingdomain}', { keepalive: true }) Each request to the generated endpoint can be counted as goalClicks. This allows landing actions, such as button clicks or lead-intent events, to be measured separately from the initial short-link click.
These docs are useful after learning how hosted landings work.