Hosted Blog
Host a blog on your own subdomain with RankPine. Set up DNS, choose a theme, customize your headings, and publish with automatic HTTPS.
Need help with setup?
Book a call with us and we’ll walk you through connecting your domain and getting your blog ready to publish.
Hosted Blog gives your articles a home at an address such as blog.yourcompany.com. RankPine serves the pages and manages HTTPS, so you do not need to install a CMS or redeploy your website for each article.
Your main website stays where it is. This is useful for sites built with page builders, custom apps, or platforms without a suitable publishing API. If you already have a working blog in WordPress, Shopify, Ghost, or another supported CMS, you can keep using its dedicated integration.
What you need
- An active RankPine site.
- Access to the DNS settings for a domain you control.
- An unused subdomain, such as
blog,stories, orlearn. - The site owner or admin role in RankPine to manage the connection.
Hosted Blog supports one custom subdomain per RankPine site. It does not replace
your main website or mount itself at a path such as example.com/blog.
1. Create your blog
- Select your site in RankPine.
- Open Settings → Integrations.
- On Hosted Blog, click Set up blog.
- Enter your blog subdomain, without
https://or a path. We suggestblog.yourcompany.com. - Choose a theme and review your blog name and heading.
- Click Create hosted blog.
RankPine shows a unique CNAME target for this connection. Copy the value shown in your dashboard; do not use another site's target or a target from an old connection.
If the page says hosted blogs are not enabled yet, contact RankPine support. Theme previews remain available before publishing is enabled.
2. Add one DNS record
Sign in to the company that manages your domain's DNS. This may be different from your website host. Open its DNS, Manage DNS, or DNS records page.
| Field | Value |
|---|---|
| Type | CNAME |
| Name / Host | Your subdomain prefix, for example blog |
| Target / Value / Content | The complete unique target from RankPine |
| TTL | Auto or 300 seconds |
| Cloudflare proxy | DNS only — gray cloud |
RankPine shows the complete hostname so you can identify it. Many DNS panels
append the domain automatically: for blog.yourcompany.com, enter blog in
those panels, not blog.yourcompany.com.yourcompany.com. Providers that accept a
complete name can use the hostname as shown.
Replace any existing A, AAAA, or CNAME record for this subdomain only. Leave
your main website, email, and unrelated DNS records intact. Do not use a URL
redirect or include https:// in the target.
Cloudflare
Choose your domain, then DNS → Records → Add record. Select CNAME, enter the name and target, and turn off the orange proxy cloud so it reads DNS only. Save the record. Proxying or flattening the CNAME can hide the record that RankPine needs to verify.
GoDaddy
Open your domain's DNS management page, choose Add New Record, select CNAME, and enter the subdomain prefix and target. Save with the default TTL.
Namecheap
Open Domain List → Manage → Advanced DNS, then Add New Record under Host Records. Select CNAME Record and enter the host and target. If the panel requires an absolute target, add a trailing dot. Use Automatic TTL.
Other providers
Look for the same CNAME fields. A trailing dot on the target is fine. If the provider will not let you create the record, check whether that subdomain already has an A or AAAA record.
3. Check DNS and open the blog
Return to RankPine and click Check DNS. The check runs in the background. While waiting, the page refreshes every 30 seconds; RankPine also rechecks domains every 15 minutes. DNS changes are often visible within minutes, but cached records can take longer to expire.
When DNS verified appears, click Open blog. RankPine provisions HTTPS on the first visit, so that visit can take longer than later ones. DNS verification confirms your record; it does not mean a browser has already tested the certificate. Certificates renew automatically while the domain stays connected.
The blog initially shows an empty state. Existing drafts and articles published elsewhere are not automatically exposed when you connect the blog.
Customize the design
Open Manage blog at any time. Appearance changes save automatically after a short pause or when you leave a field. A Saved message confirms the update. The live preview updates as you edit; its sample article is only a preview.
| Setting | What it changes |
|---|---|
| Editorial | Bright layout, clean headings, a large featured story and image grid |
| Journal | Quiet light pages and serif headings |
| Midnight | Deep slate background with light typography |
| Blog name | Header, footer, feed title, and default author |
| Blog heading | Main heading on the blog homepage |
| Heading description | Introductory text below the heading |
| Author name | Byline on article pages; blank uses your blog name |
| Link to your website | Label for the header link back to your connected website |
| Accent color | Small decorative details and keyboard focus outlines |
| Logo URL | Public HTTPS image for the header; blank shows your name as text |
| Favicon URL | Public HTTPS URL for a square browser icon |
| Homepage SEO title and description | Search metadata for the homepage; blank uses your heading and introduction |
Logo and favicon images must already be hosted at publicly accessible HTTPS URLs. Direct uploads, arbitrary CSS, and custom JavaScript are not part of this integration. Article pages use the article's own headline, description and featured image for their search and social metadata.
Publish and update articles
Hosted Blog uses the same autopilot workflow as other publishing integrations. With autopilot on, new finished articles publish on your schedule. With autopilot off, review the article and click Publish when it is ready.
To move an existing published article onto your connected hosted blog, open it and use More actions → Update connected post. This also updates any other connected destination that supports updates, so review your integrations before doing a migration.
Editing an article saves your working copy in RankPine. To change its live hosted version, click More actions → Update connected post. The public URL and original publication date stay the same, and the modification date changes. Renaming a published article's slug in the editor does not break its existing hosted URL. A new article must have a unique slug within the blog; RankPine reports a collision instead of overwriting another article.
Archiving an article removes it from the public blog, RSS feed and sitemaps. Your public blog never lists unpublished drafts or other customers' articles.
Search engines and sharing
Every page is rendered on the server. Readers and crawlers receive the article HTML without needing JavaScript. The blog includes:
- Article images, dates, bylines, and reading times.
- Canonical URLs on your custom domain.
- Article titles and descriptions, Open Graph images, and social-card metadata.
- BlogPosting structured data on articles.
- A paginated homepage with links to older articles.
/robots.txtand/sitemap.xml, which lists smaller article sitemaps.- A public RSS feed at
/feed.xmlcontaining recent article summaries.
Add your blog sitemap to Google Search Console. A domain property covers subdomains; a URL-prefix property must match the blog address. Serving indexable pages helps crawlers reach the content, but indexing and rankings remain decisions made by search engines.
Troubleshooting
Waiting for DNS
Check that the record type is CNAME, the prefix is correct, and the target exactly matches this connection's value. If using Cloudflare, choose DNS only. You can check from a terminal:
dig blog.yourcompany.com CNAME +shortIt should return the unique target shown by RankPine. A trailing dot is normal.
DNS is verified but HTTPS does not load
Allow the first certificate request to finish and try again. If the problem
persists, contact support with the hostname and the browser's error. If your
domain has CAA restrictions, allow letsencrypt.org while preserving other
required issuers. Do not remove the entire CAA policy just to troubleshoot.
The domain is already connected
Disconnect it from the previous RankPine site first. If you cannot access that site, contact support. Each new connection receives a different CNAME target to prevent old DNS records from authorizing someone else's connection.
The blog stopped serving
Check the CNAME and that the site still has an active billing seat. A missing or changed CNAME stops the blog after the next check. If DNS checks temporarily fail, RankPine retains the last successful verification for up to 48 hours, then stops serving until verification succeeds. Click Check DNS after fixing the record.
An image is missing
The image URL must be public and use HTTPS. Expiring signed URLs, private file sharing links, and hotlink protection can prevent readers from loading it. Leave the logo URL empty to use a text header while fixing the image.
Disconnect or change domains
Under Manage blog, expand Disconnect hosted blog, confirm the notice, and click Disconnect blog. This takes the blog offline and removes its hosted copies. Original articles remain in RankPine for export or publishing elsewhere. Remove or repoint the CNAME at your DNS provider too.
Changing domains requires disconnecting and creating a new connection. This changes your public URLs; export and plan your migration before doing it. Automatic redirects between old and new domains are not included. Reconnecting creates an empty blog; publish or update the articles you want to make public.
Multiple languages
Enable additional languages in your site settings. Hosted Blog keeps each language in its own
listing and RSS feed: the main language uses / and /feed.xml, while German, for example,
uses /de/ and /de/feed.xml.
New translations use language-prefixed article URLs. Every existing published URL is preserved.
Articles link to their published translations through a language switcher and reciprocal
hreflang tags in the page and sitemap. Unpublished and archived versions are excluded.