Goal
Transfer files (images) from the external hosting Siteor (fs.siteor.com) to your own CMS (/cms/assets).
When to use
- When you want to become independent from an external service
- When you need full control over the files
- When you want to have all resources in one place
How to do it
1. Upload file to CMS
curl -X POST "https://your-domain.com/cms/assets.json?api_token=TOKEN" \
-F "asset[file]=@file.png" \
-F "asset[kind]=image"
Allowed types (kind):
-
image- for PNG, JPG, SVG -
js- for JavaScript -
css- for styles -
zip- for archives
2. New file URL
After the upload, the file is available at:
https://your-domain.com/cms/assets/{ID}/view
3. Update content
Replace old URLs in pages and paragraphs:
# Fetch the page
curl "https://your-domain.com/cms/pages/{ID}.json?api_token=TOKEN"
# Update content with new URLs
curl -X PUT "https://your-domain.com/cms/pages/{ID}.json?api_token=TOKEN" \
-H "Content-Type: application/json" \
-d '{"page": {"content": "...new content..."}}'
Example: MyCompany/MyCompany
In January 2026, 35 files were migrated from fs.siteor.com to app.mycompany.pl/cms/assets.
Statistics:
- 35 files transferred (asset ID: 1017-1051)
- 150 CMS elements updated (40 pages + 110 paragraphs)
- Verification: 0 remaining old URLs
Mapping pattern:
Old: https://fs.siteor.com/rudykot/files/elf/02_Weather.png
New: https://app.mycompany.pl/cms/assets/1017/view
Automation
For a large number of files, it is worth writing a Ruby/Python script that:
- Fetches the list of pages/paragraphs
- Searches for old URLs in the content
- Replaces them with new ones
- Updates via API